* buffers data shreds to make larger erasure coded sets (#15849)
Broadcast stage batches up to 8 entries:
https://github.com/solana-labs/solana/blob/79280b304/core/src/broadcast_stage/broadcast_utils.rs#L26-L29
which will be serialized into some number of shreds and chunked into FEC
sets of at most 32 shreds each:
https://github.com/solana-labs/solana/blob/79280b304/ledger/src/shred.rs#L576-L597
So depending on the size of entries, FEC sets can be small, which may
aggravate loss rate.
For example 16 FEC sets of 2:2 data/code shreds each have higher loss
rate than one 32:32 set.
This commit broadcasts data shreds immediately, but also buffers them
until it has a batch of 32 data shreds, at which point 32 coding shreds
are generated and broadcasted.
(cherry picked from commit 4f82b897bc)
# Conflicts:
# ledger/src/shred.rs
* removes backport merge conflicts
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* transfer now requires --allow-unfunded-recipient if the recipient doesn't exist
(cherry picked from commit 3dff5c9dee)
* Avoid RPC in `--sign-only` mode
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
(cherry picked from commit 6271665ba6)
Co-authored-by: Michael Vines <mvines@gmail.com>
Since program-test creates a test genesis and then adds fees and rent,
some of the genesis accounts get rent-collected after warping. Most
notably, `StakeConfig` gets rent-collected, causing any stake operations
to fail after warp. This fix creates genesis with the `Rent` and
`FeeRateGovernor` actually used by the bank.
(cherry picked from commit 6cc22e62d4)
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* Build full SPL in CI
(cherry picked from commit 82269f1351)
* Avoid changing signature of ProgramTest::add_account
(cherry picked from commit 03180b502d)
Co-authored-by: Michael Vines <mvines@gmail.com>
* sdk: Add accessor for signer pubkeys of a tx message
(cherry picked from commit bf33ce8906)
* clap-utils: Add helper to `CliSignerInfo` for getting signers for a message
(cherry picked from commit 4e99f1e634)
Co-authored-by: Trent Nelson <trent@solana.com>
* fix: compute pre/post token balances on all accounts if token program present
* fix: skip token program in balance query
* fix: prevent program ids from being collected
(cherry picked from commit 61112d4826)
Co-authored-by: Josh <josh.hundley@gmail.com>
* Add rpc_client api for getRecentPerformanceSamples
* Prep fn for variable avg slot time
* Use recent-perf-samples to more-accurately estimate epoch completed times
* Spell out average
(cherry picked from commit 3726358f51)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Disallow version bump with dirty working tree
(cherry picked from commit 853e735edf)
* Ignore `not_paths` for `*.md` files when bumping version
(cherry picked from commit 510760d81b)
* Also ignore `*/node_modules/*` paths when bumping version
(cherry picked from commit 2bf46b789f)
Co-authored-by: Trent Nelson <trent@solana.com>
* Add rpc confirmed-block config wrapper to support struct of extended config
* Update docs
* Make config wrapper generic and use in getConfirmedTransaction as well
* Update/clean confirmed-tx docs