diff --git a/src/lib.rs b/src/lib.rs index f46edac..be1ac41 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -60,7 +60,7 @@ pub use self::params::*; pub use self::patch::*; pub use self::eval::{State, Machine, Runtime, MachineStatus}; pub use self::commit::{AccountCommitment, AccountChange, AccountState, BlockhashState, Storage}; -pub use self::transaction::{ValidTransaction, TransactionVM}; +pub use self::transaction::{ValidTransaction, TransactionVM, UntrustedTransaction}; pub use self::errors::{OnChainError, NotSupportedError, RequireError, CommitError, PreExecutionError}; pub use self::util::opcode::Opcode; pub use block_core::TransactionAction; diff --git a/src/transaction.rs b/src/transaction.rs index cbe72c8..23d99eb 100644 --- a/src/transaction.rs +++ b/src/transaction.rs @@ -41,11 +41,17 @@ macro_rules! system_address { #[derive(Debug, Clone)] /// Represents an untrusted Ethereum transaction. pub struct UntrustedTransaction { + /// The caller. Must be attached with its commitment, pub caller: AccountCommitment, + /// Transaction gas price. pub gas_price: Gas, + /// Transaction gas limit. pub gas_limit: Gas, + /// Action CALL/CREATE of the transaction. pub action: TransactionAction, + /// Value sent with this transaction. pub value: U256, + /// Transaction input. pub input: Rc>, }