Add simulation detection countermeasure (backport #22880) (#23143)

* Add simulation detection countermeasure (#22880)

* Add simulation detection countermeasures

* Add program and test using TestValidator

* Remove incinerator deposit

* Remove incinerator

* Update Cargo.lock

* Add more features to simulation bank

* Update Cargo.lock per rebase

Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
(cherry picked from commit c42b80f099)

# Conflicts:
#	programs/bpf/Cargo.lock
#	programs/bpf/Cargo.toml

* Update Cargo.lock

Co-authored-by: Michael Vines <mvines@gmail.com>
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
This commit is contained in:
mergify[bot]
2022-02-17 14:45:24 +00:00
committed by GitHub
parent f629c71849
commit 0fdbec9735
11 changed files with 2905 additions and 196 deletions

View File

@ -3468,7 +3468,7 @@ pub mod rpc_full {
let preflight_commitment = config
.preflight_commitment
.map(|commitment| CommitmentConfig { commitment });
let preflight_bank = &*meta.bank(preflight_commitment);
let preflight_bank = meta.bank(preflight_commitment);
let transaction = sanitize_transaction(unsanitized_tx)?;
let signature = *transaction.signature();
@ -3565,7 +3565,7 @@ pub mod rpc_full {
let (_, mut unsanitized_tx) =
decode_and_deserialize::<VersionedTransaction>(data, encoding)?;
let bank = &*meta.bank(config.commitment);
let bank = meta.bank(config.commitment);
if config.replace_recent_blockhash {
if config.sig_verify {
return Err(Error::invalid_params(
@ -3636,7 +3636,7 @@ pub mod rpc_full {
};
Ok(new_response(
bank,
&bank,
RpcSimulateTransactionResult {
err: result.err(),
logs: Some(logs),