solana/sdk
Alexander Meißner 038da82b6f
Feature: Early verification of account modifications in `BorrowedAccount` (#25899)
* Adjusts test cases for stricter requirements.

* Removes account reset in deserialization test.

* Removes verify related test cases.

* Replicates account modification verification logic of PreAccount in BorrowedAccount.

* Adds TransactionContext::account_touched_flags.

* Adds account modification verification to the BPF ABIv0 and ABIv1 deserialization, CPI syscall and program-test.

* Replicates the total sum of all lamports verification of PreAccounts in InstructionContext

* Check that the callers instruction balance is maintained during a call / push.

* Replicates PreAccount statistics in TransactionContext.

* Disable verify() and verify_and_update() if the feature enable_early_verification_of_account_modifications is enabled.

* Moves Option<Rent> of enable_early_verification_of_account_modifications into TransactionContext::new().

* Relaxes AccountDataMeter related test cases.

* Don't touch the account if nothing changes.

* Adds two tests to trigger InstructionError::UnbalancedInstruction.

Co-authored-by: Justin Starry <justin@solana.com>
2022-07-15 09:31:34 +02:00
..
benches Refactor: move instructions sysvar serialization out of Message (#22544) 2022-01-20 17:33:49 +08:00
bpf Fix sol_memset to return the correct value. (#26598) 2022-07-14 17:27:02 +01:00
cargo-build-bpf Compile for bpf target for compatibility when cargo-build-bpf is used 2022-07-14 10:41:39 -07:00
cargo-build-sbf Compile for bpf target for compatibility when cargo-build-bpf is used 2022-07-14 10:41:39 -07:00
cargo-test-bpf Compile for bpf target for compatibility when cargo-build-bpf is used 2022-07-14 10:41:39 -07:00
cargo-test-sbf Compile for bpf target for compatibility when cargo-build-bpf is used 2022-07-14 10:41:39 -07:00
docker-solana Fix solana docker image 2021-10-09 20:35:39 +01:00
gen-headers Bump Version to 1.11.4 (#26578) 2022-07-11 23:30:38 -05:00
macro Bump Version to 1.11.4 (#26578) 2022-07-11 23:30:38 -05:00
program Add a comment explaining the check for crate recompilation redundancy 2022-07-14 17:59:37 -07:00
src Feature: Early verification of account modifications in `BorrowedAccount` (#25899) 2022-07-15 09:31:34 +02:00
tests fix: renamed the internal wasm_bindgen init function to avoid collision 2022-03-10 11:33:24 -08:00
.gitignore Add wasm bindings for `Pubkey` and `Keypair` 2021-12-09 15:53:58 -08:00
Cargo.toml Bump Version to 1.11.4 (#26578) 2022-07-11 23:30:38 -05:00
README.md
build.rs
package.json Add wasm bindings for `Pubkey` and `Keypair` 2021-12-09 15:53:58 -08:00

README.md

Solana

Solana SDK

Use the Solana SDK Crate to write client side applications in Rust. If writing on-chain programs, use the Solana Program Crate instead.

More information about Solana is available in the Solana documentation.

The Solana Program Library provides examples of how to use this crate.

Still have questions? Ask us on Discord