jam_types

Trait MaxEncodedLen

Source
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§

Source

fn max_encoded_len() -> usize

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

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.

Implementations on Foreign Types§

Source§

impl MaxEncodedLen for bool

Source§

impl MaxEncodedLen for i8

Source§

impl MaxEncodedLen for i16

Source§

impl MaxEncodedLen for i32

Source§

impl MaxEncodedLen for i64

Source§

impl MaxEncodedLen for i128

Source§

impl MaxEncodedLen for u8

Source§

impl MaxEncodedLen for u16

Source§

impl MaxEncodedLen for u32

Source§

impl MaxEncodedLen for u64

Source§

impl MaxEncodedLen for u128

Source§

impl MaxEncodedLen for ()

Source§

impl MaxEncodedLen for NonZero<i8>

Source§

impl MaxEncodedLen for NonZero<i16>

Source§

impl MaxEncodedLen for NonZero<i32>

Source§

impl MaxEncodedLen for NonZero<i64>

Source§

impl MaxEncodedLen for NonZero<i128>

Source§

impl MaxEncodedLen for NonZero<u8>

Source§

impl MaxEncodedLen for NonZero<u16>

Source§

impl MaxEncodedLen for NonZero<u32>

Source§

impl MaxEncodedLen for NonZero<u64>

Source§

impl MaxEncodedLen for NonZero<u128>

Source§

impl MaxEncodedLen for Duration

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> MaxEncodedLen for PhantomData<T>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Source§

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,

Implementors§

Source§

impl MaxEncodedLen for Compact<u8>

Source§

impl MaxEncodedLen for Compact<u16>

Source§

impl MaxEncodedLen for Compact<u32>

Source§

impl MaxEncodedLen for Compact<u64>

Source§

impl MaxEncodedLen for Compact<u128>

Source§

impl MaxEncodedLen for Compact<()>

Source§

impl MaxEncodedLen for AccumulateRootHash

Source§

impl MaxEncodedLen for AnyHash

Source§

impl MaxEncodedLen for AuthorizerHash

Source§

impl MaxEncodedLen for CodeHash

Source§

impl MaxEncodedLen for ExtrinsicHash

Source§

impl MaxEncodedLen for HeaderHash

Source§

impl MaxEncodedLen for ItemHash

Source§

impl MaxEncodedLen for Memo

Source§

impl MaxEncodedLen for MerkleNodeHash

Source§

impl MaxEncodedLen for MmrPeakHash

Source§

impl MaxEncodedLen for OpaqueBandersnatchPublic

Source§

impl MaxEncodedLen for OpaqueEd25519Public

Source§

impl MaxEncodedLen for OpaqueValidatorMetadata

Source§

impl MaxEncodedLen for PayloadHash

Source§

impl MaxEncodedLen for SegmentHash

Source§

impl MaxEncodedLen for SegmentTreeRoot

Source§

impl MaxEncodedLen for StateRootHash

Source§

impl MaxEncodedLen for WorkPackageHash

Source§

impl MaxEncodedLen for WorkReportHash

Source§

impl MaxEncodedLen for ServiceInfo

Source§

impl<RegT> MaxEncodedLen for InvokeArgsT<RegT>

Source§

impl<T> MaxEncodedLen for Compact<T>

Source§

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

Source§

impl<T: MaxEncodedLen, N: Get<u32>> MaxEncodedLen for FixedVec<T, N>