diff --git a/evm/src/cpu/kernel/interpreter.rs b/evm/src/cpu/kernel/interpreter.rs index 3b753f0a..6a5b794f 100644 --- a/evm/src/cpu/kernel/interpreter.rs +++ b/evm/src/cpu/kernel/interpreter.rs @@ -137,6 +137,10 @@ impl<'a> Interpreter<'a> { self.memory.context_memory[0].segments[Segment::TxnFields as usize].content[field as usize] } + pub(crate) fn get_txn_data(&self) -> &[U256] { + &self.memory.context_memory[0].segments[Segment::TxnData as usize].content + } + pub(crate) fn set_rlp_memory(&mut self, rlp: Vec) { self.memory.context_memory[0].segments[Segment::RlpRaw as usize].content = rlp.into_iter().map(U256::from).collect(); diff --git a/evm/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs b/evm/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs index 8b725479..c01474ce 100644 --- a/evm/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs +++ b/evm/src/cpu/kernel/tests/transaction_parsing/parse_type_0_txn.rs @@ -46,6 +46,7 @@ fn process_type_0_txn() -> Result<()> { assert_eq!(interpreter.get_txn_field(To), 0.into()); assert_eq!(interpreter.get_txn_field(Value), 100.into()); assert_eq!(interpreter.get_txn_field(DataLen), 2.into()); + assert_eq!(interpreter.get_txn_data(), &[0x42.into(), 0x42.into()]); assert_eq!(interpreter.get_txn_field(YParity), 1.into()); assert_eq!( interpreter.get_txn_field(R),