pub struct DebugStep {
pub stack: Vec<U256>,
pub memoryInput: Bytes,
pub opcode: u8,
pub depth: u64,
pub isOutOfGas: bool,
pub contractAddr: Address,
}
Expand description
The result of the stopDebugTraceRecording
call
struct DebugStep { uint256[] stack; bytes memoryInput; uint8 opcode; uint64 depth; bool isOutOfGas; address contractAddr; }
Fields§
§stack: Vec<U256>
The stack before executing the step of the run. stack[0] represents the top of the stack. and only stack data relevant to the opcode execution is contained.
memoryInput: Bytes
The memory input data before executing the step of the run. only input data relevant to the opcode execution is contained.
e.g. for MLOAD, it will have memory[offset:offset+32] copied here. the offset value can be get by the stack data.
opcode: u8
The opcode that was accessed.
depth: u64
The call depth of the step.
isOutOfGas: bool
Whether the call end up with out of gas error.
contractAddr: Address
The contract address where the opcode is running
Implementations§
Trait Implementations§
Source§impl EventTopic for DebugStep
impl EventTopic for DebugStep
Source§fn topic_preimage_length(rust: &Self::RustType) -> usize
fn topic_preimage_length(rust: &Self::RustType) -> usize
Source§fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)
fn encode_topic_preimage(rust: &Self::RustType, out: &mut Vec<u8>)
encode_topic
][EventTopic::encode_topic]. Read moreSource§fn encode_topic(rust: &Self::RustType) -> WordToken
fn encode_topic(rust: &Self::RustType) -> WordToken
Source§impl SolStruct for DebugStep
impl SolStruct for DebugStep
Source§fn eip712_root_type() -> Cow<'static, str>
fn eip712_root_type() -> Cow<'static, str>
encodeType
string.Source§fn eip712_components() -> Vec<Cow<'static, str>>
fn eip712_components() -> Vec<Cow<'static, str>>
encodeType
string. These are the types of the struct’s fields,
and should not include the root type.Source§fn eip712_encode_data(&self) -> Vec<u8>
fn eip712_encode_data(&self) -> Vec<u8>
encodeData
.§fn eip712_type_hash(&self) -> FixedBytes<32>
fn eip712_type_hash(&self) -> FixedBytes<32>
typeHash
for this struct. Read more§fn eip712_hash_struct(&self) -> FixedBytes<32>
fn eip712_hash_struct(&self) -> FixedBytes<32>
hashStruct
.§fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
fn eip712_signing_hash(&self, domain: &Eip712Domain) -> FixedBytes<32>
Source§impl SolType for DebugStep
impl SolType for DebugStep
Source§const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME
const SOL_NAME: &'static str = <Self as alloy_sol_types::SolStruct>::NAME
Source§const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::ENCODED_SIZE
const ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::ENCODED_SIZE
Source§const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE
const PACKED_ENCODED_SIZE: Option<usize> = <UnderlyingSolTuple as alloy_sol_types::SolType>::PACKED_ENCODED_SIZE
Source§type Token<'a> = <(Array<Uint<256>>, Bytes, Uint<8>, Uint<64>, Bool, Address) as SolType>::Token<'a>
type Token<'a> = <(Array<Uint<256>>, Bytes, Uint<8>, Uint<64>, Bool, Address) as SolType>::Token<'a>
Source§fn valid_token(token: &Self::Token<'_>) -> bool
fn valid_token(token: &Self::Token<'_>) -> bool
true
if the given token can be detokenized with this type.Source§fn detokenize(token: Self::Token<'_>) -> Self::RustType
fn detokenize(token: Self::Token<'_>) -> Self::RustType
§fn sol_type_name() -> Cow<'static, str>
fn sol_type_name() -> Cow<'static, str>
SOL_NAME
instead§fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
§fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
fn type_check(token: &Self::Token<'_>) -> Result<(), Error>
§fn tokenize<E>(rust: &E) -> Self::Token<'_>where
E: SolTypeValue<Self> + ?Sized,
fn tokenize<E>(rust: &E) -> Self::Token<'_>where
E: SolTypeValue<Self> + ?Sized,
§fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>where
E: SolTypeValue<Self> + ?Sized,
fn eip712_data_word<E>(rust: &E) -> FixedBytes<32>where
E: SolTypeValue<Self> + ?Sized,
encodeData
rules, and hash it
if necessary. Read more§fn abi_packed_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
fn abi_packed_encoded_size<E>(rust: &E) -> usizewhere
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)where
E: SolTypeValue<Self> + ?Sized,
fn abi_encode_packed_to<E>(rust: &E, out: &mut Vec<u8>)where
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode_packed<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
fn abi_encode_packed<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
fn abi_encode<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
§fn abi_encode_params<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_sequence<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence<E>(rust: &E) -> Vec<u8>where
E: SolTypeValue<Self> + ?Sized,
Self::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>
fn abi_decode(data: &[u8], validate: bool) -> Result<Self::RustType, Error>
Source§impl SolTypeValue<DebugStep> for DebugStep
impl SolTypeValue<DebugStep> for DebugStep
fn stv_to_tokens(&self) -> <Self as SolType>::Token<'_>
fn stv_abi_encoded_size(&self) -> usize
fn stv_eip712_data_word(&self) -> Word
fn stv_abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn stv_abi_packed_encoded_size(&self) -> usize
Source§impl SolValue for DebugStep
impl SolValue for DebugStep
§fn sol_type_name(&self) -> Cow<'static, str>
fn sol_type_name(&self) -> Cow<'static, str>
sol_name
instead§fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
fn tokenize(&self) -> <Self::SolType as SolType>::Token<'_>
§fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
fn detokenize(token: <Self::SolType as SolType>::Token<'_>) -> Selfwhere
Self: From<<Self::SolType as SolType>::RustType>,
§fn abi_encoded_size(&self) -> usize
fn abi_encoded_size(&self) -> usize
§fn eip712_data_word(&self) -> FixedBytes<32>
fn eip712_data_word(&self) -> FixedBytes<32>
encodeData
rules, and hash it
if necessary. Read more§fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
fn abi_encode_packed_to(&self, out: &mut Vec<u8>)
§fn abi_encode_packed(&self) -> Vec<u8>
fn abi_encode_packed(&self) -> Vec<u8>
§fn abi_encode(&self) -> Vec<u8>
fn abi_encode(&self) -> Vec<u8>
§fn abi_encode_sequence(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_sequence(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_encode_params(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
fn abi_encode_params(&self) -> Vec<u8>where
<Self::SolType as SolType>::Token<'a>: for<'a> TokenSeq<'a>,
§fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
fn abi_decode(data: &[u8], validate: bool) -> Result<Self, Error>where
Self: From<<Self::SolType as SolType>::RustType>,
Auto Trait Implementations§
impl !Freeze for DebugStep
impl RefUnwindSafe for DebugStep
impl Send for DebugStep
impl Sync for DebugStep
impl Unpin for DebugStep
impl UnwindSafe for DebugStep
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 88 bytes