diff --git a/evm_loader/lib/src/types/mod.rs b/evm_loader/lib/src/types/mod.rs index e038c6f9c..772cdeb65 100644 --- a/evm_loader/lib/src/types/mod.rs +++ b/evm_loader/lib/src/types/mod.rs @@ -19,8 +19,8 @@ use evm_loader::types::{StorageKey, Transaction}; use evm_loader::{ account_storage::AccountStorage, types::{ - vector::VectorVecExt, vector::VectorVecSlowExt, AccessListTx, DynamicFeeTx, LegacyTx, - TransactionPayload, + vector::VectorVecExt, vector::VectorVecSlowExt, AccessListTx, DynamicFeeTx, ExecutionMap, + LegacyTx, TransactionPayload, }, }; use serde::{Deserialize, Serialize}; @@ -268,6 +268,7 @@ pub struct EmulateRequest { #[serde_as(as = "Option>")] pub solana_overrides: Option>>, pub provide_account_info: Option, + pub execution_map: Option, } #[derive(Debug, Clone, Serialize, Deserialize)] @@ -481,7 +482,8 @@ mod tests { "data": "0102030405" } }, - "provide_account_info": null + "provide_account_info": null, + "execution_map": null } "#; diff --git a/evm_loader/program/src/types/execution_map.rs b/evm_loader/program/src/types/execution_map.rs new file mode 100644 index 000000000..7826e5239 --- /dev/null +++ b/evm_loader/program/src/types/execution_map.rs @@ -0,0 +1,16 @@ +use serde::{Deserialize, Serialize}; + +#[allow(dead_code)] +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ExecutionStep { + pub block: u64, + pub index: Option, + pub is_reset: bool, + pub is_return: bool, + pub steps: u32, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ExecutionMap { + pub steps: Vec, +} diff --git a/evm_loader/program/src/types/mod.rs b/evm_loader/program/src/types/mod.rs index d6e7fff22..8da4da435 100644 --- a/evm_loader/program/src/types/mod.rs +++ b/evm_loader/program/src/types/mod.rs @@ -1,4 +1,5 @@ pub use address::Address; +pub use execution_map::{ExecutionMap, ExecutionStep}; pub use transaction::AccessListTx; pub use transaction::DynamicFeeTx; pub use transaction::LegacyTx; @@ -14,4 +15,5 @@ pub mod tree_map; #[macro_use] pub mod vector; pub mod boxx; +pub mod execution_map; pub mod read_raw_utils;