diff --git a/evm_loader/lib/src/commands/get_holder.rs b/evm_loader/lib/src/commands/get_holder.rs index d4bdf3dce..76e8a51bb 100644 --- a/evm_loader/lib/src/commands/get_holder.rs +++ b/evm_loader/lib/src/commands/get_holder.rs @@ -54,6 +54,7 @@ pub struct GetHolderResponse { pub accounts: Option>, pub steps_executed: u64, + pub last_slot: u64, } impl GetHolderResponse { @@ -139,7 +140,7 @@ pub fn read_holder(program_id: &Pubkey, info: AccountInfo) -> NeonResult NeonResult Err(ProgramError::InvalidAccountData.into()), diff --git a/evm_loader/program/src/account/state.rs b/evm_loader/program/src/account/state.rs index 5e6044e1c..9a95d6769 100644 --- a/evm_loader/program/src/account/state.rs +++ b/evm_loader/program/src/account/state.rs @@ -125,7 +125,7 @@ pub struct StateAccount<'a> { data: ManuallyDrop>, } -type StateAccountCoreApiView = (Transaction, Pubkey, Address, Vec, u64); +type StateAccountCoreApiView = (Transaction, Pubkey, Address, Vec, u64, u64); const BUFFER_OFFSET: usize = ACCOUNT_PREFIX_LEN + size_of::
(); @@ -622,8 +622,9 @@ impl<'a> StateAccount<'a> { .collect(); let steps = read_unaligned(addr_of!((*data_ptr).steps_executed)); + let last_slot = read_unaligned(addr_of!((*data_ptr).timeout)); - Ok((tx, owner, origin, accounts, steps)) + Ok((tx, owner, origin, accounts, steps, last_slot)) } } }