revm_optimism/transaction/
deposit.rs

1use 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}