revm_optimism/transaction/
deposit.rs1use revm::primitives::B256;
2
3pub const DEPOSIT_TRANSACTION_TYPE: u8 = 0x7E;
4
5pub trait DepositTransaction {
6 fn source_hash(&self) -> B256;
7
8 fn mint(&self) -> Option<u128>;
9
10 fn is_system_transaction(&self) -> bool;
11}
12
13#[derive(Clone, Debug, Default, PartialEq, Eq)]
14#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
15pub struct DepositTransactionParts {
16 pub source_hash: B256,
17 pub mint: Option<u128>,
18 pub is_system_transaction: bool,
19}
20
21impl DepositTransactionParts {
22 pub fn new(source_hash: B256, mint: Option<u128>, is_system_transaction: bool) -> Self {
23 Self {
24 source_hash,
25 mint,
26 is_system_transaction,
27 }
28 }
29}