Trait darwinia_evm::OnChargeEVMTransaction
source · [−]pub trait OnChargeEVMTransaction<T: Config> {
type LiquidityInfo: Default;
fn withdraw_fee(
who: &H160,
fee: U256
) -> Result<Self::LiquidityInfo, Error<T>>;
fn correct_and_deposit_fee(
who: &H160,
corrected_fee: U256,
already_withdrawn: Self::LiquidityInfo
);
fn pay_priority_fee(tip: U256);
}
Expand description
Handle withdrawing, refunding and depositing of transaction fees.
Similar to OnChargeTransaction
of pallet_transaction_payment
Required Associated Types
type LiquidityInfo: Default
Required Methods
fn withdraw_fee(who: &H160, fee: U256) -> Result<Self::LiquidityInfo, Error<T>>
fn withdraw_fee(who: &H160, fee: U256) -> Result<Self::LiquidityInfo, Error<T>>
Before the transaction is executed the payment of the transaction fees need to be secured.
fn correct_and_deposit_fee(
who: &H160,
corrected_fee: U256,
already_withdrawn: Self::LiquidityInfo
)
fn correct_and_deposit_fee(
who: &H160,
corrected_fee: U256,
already_withdrawn: Self::LiquidityInfo
)
After the transaction was executed the actual fee can be calculated. This function should refund any overpaid fees and optionally deposit the corrected amount.
fn pay_priority_fee(tip: U256)
fn pay_priority_fee(tip: U256)
Introduced in EIP1559 to handle the priority tip payment to the block Author.