5ee157f43d
AdvanceNonceAccount instruction updates nonce to blockhash. This makes it possible that a durable transaction is executed twice both as a normal transaction and a nonce transaction if it uses blockhash (as opposed to nonce) for its recent_blockhash field. The commit prevents this double execution by separating nonce and blockhash domains; when advancing nonce account, blockhash is hashed with a fixed string. As a result a blockhash cannot be a valid nonce value; and if transaction was once executed as a normal transaction it cannot be re-executed as a durable transaction again and vice-versa. |
||
---|---|---|
.. | ||
checks.rs | ||
clap_app.rs | ||
cli.rs | ||
cluster_query.rs | ||
feature.rs | ||
inflation.rs | ||
lib.rs | ||
main.rs | ||
memo.rs | ||
nonce.rs | ||
program.rs | ||
spend_utils.rs | ||
stake.rs | ||
test_utils.rs | ||
validator_info.rs | ||
vote.rs | ||
wallet.rs |