pub trait Config: Config + Config {
    type EnsureOrigin: EnsureOrigin<<Self as Config>::RuntimeOrigin, Success = <Self as Config>::OriginSuccess>;
    type OriginSuccess: CallSources<<Self as Config>::AccountId, AttesterOf<Self>>;
    type RuntimeEvent: From<Event<Self>> + IsType<<Self as Config>::RuntimeEvent>;
    type WeightInfo: WeightInfo;
    type RuntimeHoldReason: From<HoldReason>;
    type Currency: MutateHold<<Self as Config>::AccountId, Reason = <Self as Config>::RuntimeHoldReason>;
    type Deposit: Get<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>;
    type MaxDelegatedAttestations: Get<u32>;
    type AttesterId: Parameter + MaxEncodedLen;
    type AuthorizationId: Parameter + MaxEncodedLen;
    type AccessControl: Parameter + AttestationAccessControl<Self::AttesterId, Self::AuthorizationId, CtypeHashOf<Self>, ClaimHashOf<Self>>;
    type BalanceMigrationManager: BalanceMigrationManager<<Self as Config>::AccountId, <<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>;
}
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 EnsureOrigin: EnsureOrigin<<Self as Config>::RuntimeOrigin, Success = <Self as Config>::OriginSuccess>

source

type OriginSuccess: CallSources<<Self as Config>::AccountId, AttesterOf<Self>>

source

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

source

type WeightInfo: WeightInfo

source

type RuntimeHoldReason: From<HoldReason>

source

type Currency: MutateHold<<Self as Config>::AccountId, Reason = <Self as Config>::RuntimeHoldReason>

The currency that is used to hold funds for each attestation.

source

type Deposit: Get<<<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>

The deposit that is required for storing an attestation.

source

type MaxDelegatedAttestations: Get<u32>

The maximum number of delegated attestations which can be made by the same delegation.

source

type AttesterId: Parameter + MaxEncodedLen

source

type AuthorizationId: Parameter + MaxEncodedLen

source

type AccessControl: Parameter + AttestationAccessControl<Self::AttesterId, Self::AuthorizationId, CtypeHashOf<Self>, ClaimHashOf<Self>>

source

type BalanceMigrationManager: BalanceMigrationManager<<Self as Config>::AccountId, <<Self as Config>::Currency as Inspect<<Self as Config>::AccountId>>::Balance>

Migration manager to handle new created entries

Implementors§