* Zero pad data shreds on fetch from blockstore
This is a partial backport of #16602 to allow compatibility with that change.
* Remove size check and resize shreds to consistent length
* rpc: plumb shred_version through RpcContactInfo
(cherry picked from commit 67e6a3106f)
* test-validator: Display more cluster info in dash
(cherry picked from commit 754c708473)
Co-authored-by: Trent Nelson <trent@solana.com>
* Fix spelling
* Add validator for SignerSources
* Add helper to generate Keypair from supporting SignerSources
* Add bip32 support to solana-keygen recover
* Make SignerSourceKind const strs, use for Debug impl and URI schemes
(cherry picked from commit b437b0a49d)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* include/exclude keys on account secondary index (#17110)
* AccountSecondaryIndexes.include/exclude
* use normal scan if key is not indexed
* add a test to ask for a scan for an excluded secondary index
* fix up cli args
(cherry picked from commit 7d96f78821)
# Conflicts:
# runtime/src/accounts_db.rs
# runtime/src/accounts_index.rs
* resolve merge conflicts
Co-authored-by: Jeff Washington (jwash) <75863576+jeffwashington@users.noreply.github.com>
Co-authored-by: Jeff Washington (jwash) <wash678@gmail.com>
* sdk: Add get_instance_packed_len for variable-size types
* Add comment for get_packed_len
* Add more tests
(cherry picked from commit 4b60b2863e)
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
* Update web-wallet.md to add phantom with fixed link
Update web-wallet.md to add phantom with fixed link
* Update web-wallets.md for phantom
removing trailing whitespaces
* Update docs/src/wallet-guide/web-wallets.md
Co-authored-by: Michael Vines <mvines@gmail.com>
(cherry picked from commit 4625231e30)
Co-authored-by: chaseeb <chaseeb@gmail.com>
* Rename ask to prompt
* Default to Solana bip44 base if no derivation-path
* Add SignerSource legacy field, support legacy ASK
* Update docs
* Fix docs: validator current doesn't support uri SignerSources
(cherry picked from commit a5ec3a0547)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Require that blockstore block-time only be recognized slot, instead of root
* Move cache_block_time to after Bank freeze
* Single use statement
* Pass transaction_status_sender by reference
* Remove unnecessary slot-existence check before caching block time altogether
* Move block-time existence check into Blockstore::cache_block_time, Blockstore no longer needed in blockstore_processor helper
(cherry picked from commit 6e9deaf1bd)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* indexes crds values by their insert order
(cherry picked from commit dfa3e7a61c)
* reads gossip push messages off crds ordinal index
Having an ordinal index on crds values based on insert order allows to
efficiently filter values using a cursor. In particular
CrdsGossipPush::push_messages hash-map can be replaced with a cursor,
saving on the bookkeepings, purging, etc
(cherry picked from commit 22c02b917e)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
The readelf utility (already shipped with the solana tools) shows meta-information about ELF files, such as symbol tables. It is useful for investigating "unresolved symbol" errors that crop up at runtime.
This commit also fixes the objdump flags (two dashes are required and there is no "color" option) as well as a few typos.
(cherry picked from commit ff95e2aaa6)
Co-authored-by: Christian Machacek <39452430+machacekch@users.noreply.github.com>
Some syscalls are wrongly declared "static" in solana_sdk.h, which makes clang++ assume they are local to the compilation unit. It therefore ignores the extern "C" {} block and mangles their names. While that doesn't break C++ compilation, the syscall fails at runtime with something along the lines of "ELF error: Unresolved symbol (_ZL26sol_create_program_addressPK13SolSignerSeediPK9SolPubkeyS4_)".
(cherry picked from commit 6927d0c77e)
Co-authored-by: Christian Machacek <39452430+machacekch@users.noreply.github.com>
* Add ledger-tool for restoring roots to the Roots CF
* Print successful repair data, and repair in chunks
* Add parameter to limit num slots checked for root repair
(cherry picked from commit ddfbae260f)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
VersionedCrdsValue.insert_timestamp is used for fetching crds values
inserted since last query:
https://github.com/solana-labs/solana/blob/ec37a843a/core/src/cluster_info.rs#L1197-L1215https://github.com/solana-labs/solana/blob/ec37a843a/core/src/cluster_info.rs#L1274-L1298
So it is crucial that insert_timestamp does not go backward in time when
new values are inserted into the table. However std::time::SystemTime is
not monotonic, or due to workload, lock contention, thread scheduling,
etc, ... new values may be inserted with a stalled timestamp way in the
past. Additionally, reading system time for the above purpose is
inefficient/unnecessary.
This commit adds an ordinal index to crds values indicating their insert
order. Additionally, it implements a new Cursor type for fetching values
inserted since last query.
(cherry picked from commit fa86a335b0)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>
* uses Mutex instead of RwLock for ping_cache
(cherry picked from commit 2231017b35)
* validates gossip addresses before sending pull-requests
IP addresses need to be validated before sending packets to them.
This commit, sends a ping packet to nodes before any pull requests.
Pull requests are then only sent to the nodes which have responded with
the correct hash of their respective ping packet.
(cherry picked from commit 7cea2c4466)
Co-authored-by: behzad nouri <behzadnouri@gmail.com>