pub trait DelegationValidator {
type BlockNumber;
type MaxGrantsPerDelegation: Get<u32>;
type DelegationIdType;
// Required method
fn ensure_valid_delegation(
provider: ProviderId,
delegator: DelegatorId,
block_number: Option<Self::BlockNumber>,
) -> Result<Delegation<Self::DelegationIdType, Self::BlockNumber, Self::MaxGrantsPerDelegation>, DispatchError>;
}Expand description
A behavior that allows for validating a delegator-provider relationship
Required Associated Types§
Sourcetype BlockNumber
type BlockNumber
Type for block number.
Sourcetype MaxGrantsPerDelegation: Get<u32>
type MaxGrantsPerDelegation: Get<u32>
Type for maximum number of items that can be granted to a provider.
Sourcetype DelegationIdType
type DelegationIdType
The unique identifier for a delegated item
Required Methods§
Sourcefn ensure_valid_delegation(
provider: ProviderId,
delegator: DelegatorId,
block_number: Option<Self::BlockNumber>,
) -> Result<Delegation<Self::DelegationIdType, Self::BlockNumber, Self::MaxGrantsPerDelegation>, DispatchError>
fn ensure_valid_delegation( provider: ProviderId, delegator: DelegatorId, block_number: Option<Self::BlockNumber>, ) -> Result<Delegation<Self::DelegationIdType, Self::BlockNumber, Self::MaxGrantsPerDelegation>, DispatchError>
Validates that the delegator and provider have a relationship at this point
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.