revm_interpreter/interpreter/
input.rs1use crate::{interpreter_types::InputsTr, CallInput};
2use primitives::{Address, U256};
3#[cfg(feature = "serde")]
4use serde::{Deserialize, Serialize};
5
6#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
8#[derive(Clone, Debug, Default, PartialEq, Eq)]
9pub struct InputsImpl {
10 pub target_address: Address,
12 pub bytecode_address: Option<Address>,
15 pub caller_address: Address,
17 pub input: CallInput,
19 pub call_value: U256,
21}
22
23impl InputsTr for InputsImpl {
24 fn target_address(&self) -> Address {
25 self.target_address
26 }
27
28 fn caller_address(&self) -> Address {
29 self.caller_address
30 }
31
32 fn bytecode_address(&self) -> Option<&Address> {
33 self.bytecode_address.as_ref()
34 }
35
36 fn input(&self) -> &CallInput {
37 &self.input
38 }
39
40 fn call_value(&self) -> U256 {
41 self.call_value
42 }
43}