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§

§

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 ()

§

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<T> MaxEncodedLen for Arc<T>
where T: MaxEncodedLen,

§

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

§

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,

Implementors§