maili_common/deposit/
envelope.rs

1//! Transaction envelope with support for OP [`DepositTransaction`].
2
3use alloy_consensus::Sealed;
4
5use crate::DepositTransaction;
6
7/// Transaction envelope that encompasses a [`DepositTransaction`].
8pub trait DepositTxEnvelope {
9    /// Deposit transaction.
10    type DepositTx: DepositTransaction;
11
12    /// Returns `true` if the transaction is a deposit transaction.
13    fn is_deposit(&self) -> bool;
14
15    /// Returns [`DepositTransaction`] if transaction is a deposit transaction.
16    fn as_deposit(&self) -> Option<&Sealed<Self::DepositTx>>;
17}