pub trait MaxEncodedLen: Encode {
    // Required method
    fn max_encoded_len() -> usize;
}
Expand description

Items implementing MaxEncodedLen have a statically known maximum encoded size.

Some containers, such as BoundedVec, have enforced size limits and this trait can be implemented accurately. Other containers, such as StorageMap, do not have enforced size limits. For those containers, it is necessary to make a documented assumption about the maximum usage, and compute the max encoded length based on that assumption.

Required Methods§

fn max_encoded_len() -> usize

Upper bound, in bytes, of the maximum encoded size of this item.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl MaxEncodedLen for ArithmeticError

source§

impl MaxEncodedLen for Void

source§

impl MaxEncodedLen for MultiSignature

source§

impl MaxEncodedLen for TokenError

source§

impl MaxEncodedLen for TransactionalError

§

impl MaxEncodedLen for bool

§

impl MaxEncodedLen for i8

§

impl MaxEncodedLen for i16

§

impl MaxEncodedLen for i32

§

impl MaxEncodedLen for i64

§

impl MaxEncodedLen for i128

§

impl MaxEncodedLen for u8

§

impl MaxEncodedLen for u16

§

impl MaxEncodedLen for u32

§

impl MaxEncodedLen for u64

§

impl MaxEncodedLen for u128

§

impl MaxEncodedLen for ()

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for Public

source§

impl MaxEncodedLen for FixedI64

source§

impl MaxEncodedLen for FixedI128

source§

impl MaxEncodedLen for FixedU64

source§

impl MaxEncodedLen for FixedU128

source§

impl MaxEncodedLen for PerU16

source§

impl MaxEncodedLen for Perbill

source§

impl MaxEncodedLen for Percent

source§

impl MaxEncodedLen for Permill

source§

impl MaxEncodedLen for Perquintill

source§

impl MaxEncodedLen for RingVerifierData

source§

impl MaxEncodedLen for RingVrfSignature

source§

impl MaxEncodedLen for VrfPreOutput

source§

impl MaxEncodedLen for VrfSignature

source§

impl MaxEncodedLen for AccountId32

source§

impl MaxEncodedLen for VrfPreOutput

source§

impl MaxEncodedLen for VrfProof

source§

impl MaxEncodedLen for VrfSignature

source§

impl MaxEncodedLen for ModuleError

source§

impl MaxEncodedLen for UintAuthorityId

§

impl MaxEncodedLen for NonZero<i8>

§

impl MaxEncodedLen for NonZero<i16>

§

impl MaxEncodedLen for NonZero<i32>

§

impl MaxEncodedLen for NonZero<i64>

§

impl MaxEncodedLen for NonZero<i128>

§

impl MaxEncodedLen for NonZero<u8>

§

impl MaxEncodedLen for NonZero<u16>

§

impl MaxEncodedLen for NonZero<u32>

§

impl MaxEncodedLen for NonZero<u64>

§

impl MaxEncodedLen for NonZero<u128>

§

impl MaxEncodedLen for Duration

§

impl MaxEncodedLen for H128

§

impl MaxEncodedLen for H160

§

impl MaxEncodedLen for H256

§

impl MaxEncodedLen for H384

§

impl MaxEncodedLen for H512

§

impl MaxEncodedLen for H768

§

impl MaxEncodedLen for U128

§

impl MaxEncodedLen for U256

§

impl MaxEncodedLen for U512

§

impl<'a, T, const U: u8> MaxEncodedLen for ArkScaleRef<'a, T, U>
where T: CanonicalSerialize + ArkScaleMaxEncodedLen,

§

impl<'a, T, const U: u8> MaxEncodedLen for ArkScaleRef<'a, T, U>
where T: CanonicalSerialize + ArkScaleMaxEncodedLen,

source§

impl<Balance> MaxEncodedLen for PagedExposureMetadata<Balance>
where Balance: HasCompact + MaxEncodedLen,

§

impl<C> MaxEncodedLen for PublicKey<C>
where C: AffineRepr,

§

impl<C> MaxEncodedLen for VrfPreOut<C>
where C: AffineRepr,

§

impl<P, const N: usize> MaxEncodedLen for VrfSignature<P, N>
where P: EcVrfProof + ArkScaleMaxEncodedLen,

§

impl<T> MaxEncodedLen for Option<T>
where T: MaxEncodedLen,

§

impl<T> MaxEncodedLen for Box<T>
where T: MaxEncodedLen,

§

impl<T> MaxEncodedLen for Arc<T>
where T: MaxEncodedLen,

§

impl<T> MaxEncodedLen for Range<T>
where T: MaxEncodedLen,

§

impl<T> MaxEncodedLen for RangeInclusive<T>
where T: MaxEncodedLen,

source§

impl<T, D> MaxEncodedLen for TypeWithDefault<T, D>

§

impl<T, E> MaxEncodedLen for Result<T, E>

§

impl<T, const N: usize> MaxEncodedLen for [T; N]
where T: MaxEncodedLen,

§

impl<T, const U: u8> MaxEncodedLen for ArkScale<T, U>
where T: CanonicalSerialize + ArkScaleMaxEncodedLen,

§

impl<T, const U: u8> MaxEncodedLen for ArkScale<T, U>
where T: CanonicalSerialize + ArkScaleMaxEncodedLen,

§

impl<TupleElement0> MaxEncodedLen for (TupleElement0,)
where TupleElement0: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1> MaxEncodedLen for (TupleElement0, TupleElement1)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen, TupleElement12: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen, TupleElement12: MaxEncodedLen, TupleElement13: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen, TupleElement12: MaxEncodedLen, TupleElement13: MaxEncodedLen, TupleElement14: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen, TupleElement12: MaxEncodedLen, TupleElement13: MaxEncodedLen, TupleElement14: MaxEncodedLen, TupleElement15: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen, TupleElement12: MaxEncodedLen, TupleElement13: MaxEncodedLen, TupleElement14: MaxEncodedLen, TupleElement15: MaxEncodedLen, TupleElement16: MaxEncodedLen,

§

impl<TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17> MaxEncodedLen for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)
where TupleElement0: MaxEncodedLen, TupleElement1: MaxEncodedLen, TupleElement2: MaxEncodedLen, TupleElement3: MaxEncodedLen, TupleElement4: MaxEncodedLen, TupleElement5: MaxEncodedLen, TupleElement6: MaxEncodedLen, TupleElement7: MaxEncodedLen, TupleElement8: MaxEncodedLen, TupleElement9: MaxEncodedLen, TupleElement10: MaxEncodedLen, TupleElement11: MaxEncodedLen, TupleElement12: MaxEncodedLen, TupleElement13: MaxEncodedLen, TupleElement14: MaxEncodedLen, TupleElement15: MaxEncodedLen, TupleElement16: MaxEncodedLen, TupleElement17: MaxEncodedLen,

source§

impl<const D: u32> MaxEncodedLen for RingContext<D>

source§

impl<const N: usize, T> MaxEncodedLen for CryptoBytes<N, T>
where PhantomData<fn() -> T>: MaxEncodedLen,

Implementors§

source§

impl MaxEncodedLen for SteppedMigrationError

source§

impl MaxEncodedLen for LookupError

source§

impl MaxEncodedLen for BalanceStatus

source§

impl MaxEncodedLen for PaymentStatus

source§

impl MaxEncodedLen for DispatchError

source§

impl MaxEncodedLen for WithdrawReasons

source§

impl MaxEncodedLen for Weight

§

impl MaxEncodedLen for Compact<u8>

§

impl MaxEncodedLen for Compact<u16>

§

impl MaxEncodedLen for Compact<u32>

§

impl MaxEncodedLen for Compact<u64>

§

impl MaxEncodedLen for Compact<u128>

§

impl MaxEncodedLen for Compact<()>

source§

impl<A, F, R, D> MaxEncodedLen for FreezeConsideration<A, F, R, D>
where F: MutateFreeze<A>,

source§

impl<A, F, R, D> MaxEncodedLen for HoldConsideration<A, F, R, D>
where F: MutateHold<A>,

source§

impl<A, Fx, Rx, D> MaxEncodedLen for LoneFreezeConsideration<A, Fx, Rx, D>

source§

impl<A, Fx, Rx, D> MaxEncodedLen for LoneHoldConsideration<A, Fx, Rx, D>

source§

impl<AccountId> MaxEncodedLen for RawOrigin<AccountId>
where AccountId: MaxEncodedLen,

source§

impl<AssetId> MaxEncodedLen for NativeOrWithId<AssetId>
where AssetId: Ord + MaxEncodedLen,

source§

impl<BlockNumber> MaxEncodedLen for DispatchTime<BlockNumber>
where BlockNumber: MaxEncodedLen,

§

impl<K, V, S> MaxEncodedLen for BoundedBTreeMap<K, V, S>
where K: MaxEncodedLen, V: MaxEncodedLen, S: Get<u32>,

source§

impl<T> MaxEncodedLen for PerDispatchClass<T>
where T: MaxEncodedLen,

§

impl<T> MaxEncodedLen for PhantomData<T>

source§

impl<T, H: Hash> MaxEncodedLen for Bounded<T, H>

source§

impl<T, Hash> MaxEncodedLen for MaybeHashed<T, Hash>
where T: MaxEncodedLen, Hash: MaxEncodedLen,

§

impl<T, S> MaxEncodedLen for BoundedBTreeSet<T, S>
where T: MaxEncodedLen, S: Get<u32>,

§

impl<T, S> MaxEncodedLen for BoundedVec<T, S>
where T: MaxEncodedLen, S: Get<u32>, BoundedVec<T, S>: Encode,

§

impl<T, S> MaxEncodedLen for WeakBoundedVec<T, S>
where T: MaxEncodedLen, S: Get<u32>, WeakBoundedVec<T, S>: Encode,

source§

impl<T: MaxEncodedLen> MaxEncodedLen for WrapperKeepOpaque<T>

source§

impl<T: MaxEncodedLen> MaxEncodedLen for WrapperOpaque<T>

source§

impl<const N: usize> MaxEncodedLen for MigrationId<N>