* Fix fragile tests in prep of stake rewrite pr
* Restore BOOTSTRAP_VALIDATOR_LAMPORTS where appropriate
* Further clean up
* Further clean up
* Aligh with other call site change
* Remove false warn!
* fix ci!
(cherry picked from commit b74d7b5758)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
Validator logs show that prune messages are dropped because they exceed
packet data size:
https://github.com/solana-labs/solana/blob/f25c969ad/perf/src/packet.rs#L90-L92
This can exacerbate gossip traffic by redundantly increasing push
messages across network. The workaround is to break prunes into smaller
chunks and send over in multiple messages.
(cherry picked from commit 1ffab5de77)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* Add helpers to covert between sdk types
* Add distribute-spl-tokens to args and arg-parsing
* Build spl-token transfer-checked instructions
* Check spl-token balances properly
* Add display handling to support spl-token
* Small refactor to allow failures in allocation iter
* Use Associated Token Account for spl-token distributions
* Add spl token support to balances command
* Update readme
* Add spl-token tests
* Rename spl-tokens file
* Move a couple more things out of commands
* Stop requiring lockup_date heading for non-stake distributions
* Adjust solana_rbpf log level up in coverage
* Use epsilon for allocation retention
* Add back BPF error logging
* Update programs/bpf_loader/src/lib.rs
Co-authored-by: Michael Vines <mvines@gmail.com>
(cherry picked from commit 3a9dca0c67)
Co-authored-by: Jack May <jack@solana.com>
* Remove program cap from CLI checks (#13617)
(cherry picked from commit 64a3cf03e2)
# Conflicts:
# cli/src/cli.rs
* Fix conflict
Co-authored-by: Jack May <jack@solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
* Use default client keypair if --keypair argument is not provided
(cherry picked from commit e9e5ee4362)
# Conflicts:
# faucet/Cargo.toml
* Use default client keypair if --faucet-keypair is not provided
(cherry picked from commit 4069e7b663)
# Conflicts:
# genesis/Cargo.toml
* Cargo.lock
(cherry picked from commit ab5814cd90)
# Conflicts:
# Cargo.lock
* Use default client keypair for faucet to avoid the need for airdrops
(cherry picked from commit b5820f9325)
* Fix conflicts
Co-authored-by: Michael Vines <mvines@gmail.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
split_gossip_messages:
https://github.com/solana-labs/solana/blob/a97c04b40/core/src/cluster_info.rs#L1536-L1574
splits crds-values into chunks to fit into a gossip packet. However it is
using a global upper-bound for the header-size across all protocols:
https://github.com/solana-labs/solana/blob/a97c04b40/core/src/cluster_info.rs#L90-L93
This can be wasteful as the specific gossip protocol can have smaller
header than this upper-bound (e.g. Protocol::PushMessage is 170 bytes
smaller). Adding more crds-values in one gossip packet can avoid the
overheads of separate packets and reduce total number of bytes sent over
the wire.
This commit updates the splitting function to take a max-chunk-size
argument. At call-site, this value is set to the size of the protocol
which the values are sent over.
(cherry picked from commit 5e8490ab9d)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
In several places in gossip code, the entire crds table is scanned only
to filter out nodes' contact infos. Currently on mainnet, crds table is
of size ~70k, while there are only ~470 nodes. So the full table scan is
inefficient. Instead we may maintain an index of only nodes' contact
infos.
(cherry picked from commit cbea9ebc34)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
The --rpc-pubsub-enable-vote-subscription flag may be used to enable it.
The current vote subscription is problematic because it emits a
notification for *every* vote, so hundreds a second in a real cluster.
Critically it's also missing information about *who* is voting,
rendering all those notifications practically useless.
Until these two issues can be resolved, the vote subscription is not
much more than a potential DoS vector.
(cherry picked from commit 5d72e52ad0)
Co-authored-by: Michael Vines <mvines@gmail.com>