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. |
||
---|---|---|
.. | ||
src | ||
tests | ||
.gitignore | ||
Cargo.toml | ||
README.md | ||
build.rs | ||
package.json |
README.md
Solana Program
Use the Solana Program Crate to write on-chain programs in Rust. If writing client-side applications, use the Solana SDK Crate instead.
More information about Solana is available in the Solana documentation.
Helloworld and the Solana Program Library provide examples of how to use this crate.
Still have questions? Ask us on Discord