45e26574f3
Shreds received from other nodes over the socket are sanitized when the payload is deserialized: https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/legacy.rs#L137 https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/legacy.rs#L77 https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/merkle.rs#L355 https://github.com/solana-labs/solana/blob/315707504/ledger/src/shred/merkle.rs#L439 Similarly, shreds recovered from erasure codes are also sanitized at deserialization: https://github.com/solana-labs/solana/blob/f02fe9c7e/ledger/src/shredder.rs#L330 or explicitly so for Merkle shreds: https://github.com/solana-labs/solana/blob/f02fe9c7e/ledger/src/shred/merkle.rs#L753 Shreds generated locally by the node itself during its leader slots do not need to be sanitized. So sanitizing shreds in blockstore is redundant and wasteful. In particular this becomes more wasteful with Merkle shreds because sanitizing shreds would require verifying Merkle proof. As such the commit removes redundant shred.sanitize() from blockstore. |
||
---|---|---|
.. | ||
address-lookup-table | ||
address-lookup-table-tests | ||
bpf | ||
bpf-loader-tests | ||
bpf_loader | ||
compute-budget | ||
config | ||
ed25519-tests | ||
stake | ||
vote | ||
zk-token-proof |