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}