pallet_frequency_tx_payment

Trait OnChargeCapacityTransaction

Source
pub trait OnChargeCapacityTransaction<T: Config> {
    type Balance: Balance;

    // Required methods
    fn withdraw_fee(
        key: &T::AccountId,
        fee: Self::Balance,
    ) -> Result<Self::Balance, TransactionValidityError>;
    fn can_withdraw_fee(
        key: &T::AccountId,
        fee: Self::Balance,
    ) -> Result<(), TransactionValidityError>;
}
Expand description

A trait used for the withdrawal of Capacity.

Required Associated Types§

Source

type Balance: Balance

Scalar type for representing balance of an account.

Required Methods§

Source

fn withdraw_fee( key: &T::AccountId, fee: Self::Balance, ) -> Result<Self::Balance, TransactionValidityError>

Handles withdrawal of Capacity from an Account.

Source

fn can_withdraw_fee( key: &T::AccountId, fee: Self::Balance, ) -> Result<(), TransactionValidityError>

Checks if there is enough Capacity balance to cover the fee.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T, Curr, Msa> OnChargeCapacityTransaction<T> for CapacityAdapter<Curr, Msa>
where T: Config, Curr: InspectFungible<<T as Config>::AccountId>, Msa: MsaValidator<AccountId = <T as Config>::AccountId>, <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance: Send + Sync + FixedPointOperand + IsType<<<T as Config>::Capacity as Nontransferable>::Balance> + MaxEncodedLen,

Source§

type Balance = <<T as Config>::OnChargeTransaction as OnChargeTransaction<T>>::Balance