pub enum TrieNodeV2 {
EmptyRoot,
Branch(BranchNodeV2),
Leaf(LeafNode),
Extension(ExtensionNode),
}Expand description
Enum representing an MPT trie node.
This is a V2 representiation, differing from TrieNode in that branch and extension nodes are
compressed into a single node.
Variants§
EmptyRoot
Variant representing empty root node.
Branch(BranchNodeV2)
Variant representing a BranchNodeV2.
Leaf(LeafNode)
Variant representing a LeafNode.
Extension(ExtensionNode)
Variant representing an ExtensionNode.
This will only be used for extension nodes for which child is not inlined. This variant will never be produced by proof workers that will always reveal a full path to a requested leaf.
Trait Implementations§
Source§impl Clone for TrieNodeV2
impl Clone for TrieNodeV2
Source§impl Debug for TrieNodeV2
impl Debug for TrieNodeV2
Source§impl Decodable for TrieNodeV2
impl Decodable for TrieNodeV2
Source§impl<'de> Deserialize<'de> for TrieNodeV2
Available on crate feature serde only.
impl<'de> Deserialize<'de> for TrieNodeV2
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Encodable for TrieNodeV2
impl Encodable for TrieNodeV2
impl Eq for TrieNodeV2
Source§impl PartialEq for TrieNodeV2
impl PartialEq for TrieNodeV2
Source§impl Serialize for TrieNodeV2
Available on crate feature serde only.
impl Serialize for TrieNodeV2
serde only.impl StructuralPartialEq for TrieNodeV2
Auto Trait Implementations§
impl Freeze for TrieNodeV2
impl RefUnwindSafe for TrieNodeV2
impl Send for TrieNodeV2
impl Sync for TrieNodeV2
impl Unpin for TrieNodeV2
impl UnsafeUnpin for TrieNodeV2
impl UnwindSafe for TrieNodeV2
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreimpl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSerde for Twhere
T: Serialize + for<'de> Deserialize<'de>,
§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 104 bytes
Size for each variant:
EmptyRoot: 0 bytesBranch: 104 bytesLeaf: 72 bytesExtension: 88 bytes