Trait pallet_3vm::pallet::Config

source ·
pub trait Config: Config {
    type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
    type CircuitTargetId: Get<ChainId>;
    type SignalBounceThreshold: Get<u32>;
    type ContractsRegistry: ContractsRegistry<Self, Self::Currency>;
    type Currency: Currency<Self::AccountId>;
    type EscrowAccount: Get<Self::AccountId>;
    type AssetId;
    type AccountManager: AccountManager<Self::AccountId, BalanceOf<Self>, Self::Hash, BlockNumberFor<Self>, Self::AssetId>;
    type AddressMapping: AddressMapping<Self::AccountId>;
    type VacuumEVMApi: VacuumAccess<Self>;
    type OnLocalTrigger: OnLocalTrigger<Self, BalanceOf<Self>>;
    type Portal: Portal<Self>;
}
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.

Consequently, a runtime that wants to include this pallet must implement this trait.

Required Associated Types§

source

type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>

source

type CircuitTargetId: Get<ChainId>

The ID of the circuit

source

type SignalBounceThreshold: Get<u32>

Determines the tolerance of debouncing signal requests that have already been sent.

source

type ContractsRegistry: ContractsRegistry<Self, Self::Currency>

The pallet that handles the contracts registry, used to fetch contracts

source

type Currency: Currency<Self::AccountId>

source

type EscrowAccount: Get<Self::AccountId>

The address of the escrow account

source

type AssetId

Asset Id for the account manager

source

type AccountManager: AccountManager<Self::AccountId, BalanceOf<Self>, Self::Hash, BlockNumberFor<Self>, Self::AssetId>

The account manager that handles the escrow pool

source

type AddressMapping: AddressMapping<Self::AccountId>

source

type VacuumEVMApi: VacuumAccess<Self>

source

type OnLocalTrigger: OnLocalTrigger<Self, BalanceOf<Self>>

A provider that will give us access to on_local_trigger

source

type Portal: Portal<Self>

Inject access to portal so contracts can use light clients

Implementors§