pub trait AllocationPolicy {
type Error;
// Required methods
fn validate_key(&self, key: &StableKey) -> Result<(), Self::Error>;
fn validate_slot(
&self,
key: &StableKey,
slot: &AllocationSlotDescriptor,
) -> Result<(), Self::Error>;
fn validate_reserved_slot(
&self,
key: &StableKey,
slot: &AllocationSlotDescriptor,
) -> Result<(), Self::Error>;
}Expand description
AllocationPolicy
Framework-supplied rules for whether a key may claim a slot.
Policy is intentionally separate from the durable ledger invariant. The
ledger remembers stable_key -> allocation_slot; this trait lets an
integration reject declarations that do not belong to its namespace or
substrate-specific range before staging a generation.
Required Associated Types§
Required Methods§
Sourcefn validate_key(&self, key: &StableKey) -> Result<(), Self::Error>
fn validate_key(&self, key: &StableKey) -> Result<(), Self::Error>
Validate a stable key against framework naming rules.
Sourcefn validate_slot(
&self,
key: &StableKey,
slot: &AllocationSlotDescriptor,
) -> Result<(), Self::Error>
fn validate_slot( &self, key: &StableKey, slot: &AllocationSlotDescriptor, ) -> Result<(), Self::Error>
Validate a stable-key to allocation-slot claim.
Sourcefn validate_reserved_slot(
&self,
key: &StableKey,
slot: &AllocationSlotDescriptor,
) -> Result<(), Self::Error>
fn validate_reserved_slot( &self, key: &StableKey, slot: &AllocationSlotDescriptor, ) -> Result<(), Self::Error>
Validate a reserved stable-key to allocation-slot claim.