pub struct KeyHash(pub HashBytes);Expand description
A hashed key used to index a JellyfishMerkleTree.
§🚨 Danger 🚨
ics23 non-existence proofs require that all key preimages are non-empty. If you plan to use
ics23 non-existence proofs, you must ensure that keys are non-empty before creating
KeyHashes.
The JellyfishMerkleTree only stores key hashes, not full keys.
Tuple Fields§
§0: HashBytesImplementations§
Trait Implementations§
Source§impl Decode for KeyHash
impl Decode for KeyHash
Source§fn decode_ext(
reader: &mut impl Read,
dedupe_decoder: Option<&mut DedupeDecoder>,
) -> Result<Self>
fn decode_ext( reader: &mut impl Read, dedupe_decoder: Option<&mut DedupeDecoder>, ) -> Result<Self>
Source§fn decode_len(reader: &mut impl Read) -> Result<usize, Error>
fn decode_len(reader: &mut impl Read) -> Result<usize, Error>
Decodes a collection length previously encoded with
Encode::encode_len.Source§fn decode_discriminant(reader: &mut impl Read) -> Result<usize, Error>
fn decode_discriminant(reader: &mut impl Read) -> Result<usize, Error>
Decodes an enum discriminant previously encoded with
Encode::encode_discriminant. Read moreSource§impl<'de> Deserialize<'de> for KeyHash
impl<'de> Deserialize<'de> for KeyHash
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Encode for KeyHash
impl Encode for KeyHash
Source§fn encode_ext(
&self,
writer: &mut impl Write,
dedupe_encoder: Option<&mut DedupeEncoder>,
) -> Result<usize>
fn encode_ext( &self, writer: &mut impl Write, dedupe_encoder: Option<&mut DedupeEncoder>, ) -> Result<usize>
Source§fn encode_len(len: usize, writer: &mut impl Write) -> Result<usize, Error>
fn encode_len(len: usize, writer: &mut impl Write) -> Result<usize, Error>
Encodes a collection length in a compact form.
Source§impl Ord for KeyHash
impl Ord for KeyHash
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialOrd for KeyHash
impl PartialOrd for KeyHash
impl Copy for KeyHash
impl Eq for KeyHash
impl StructuralPartialEq for KeyHash
Auto Trait Implementations§
impl Freeze for KeyHash
impl RefUnwindSafe for KeyHash
impl Send for KeyHash
impl Sync for KeyHash
impl Unpin for KeyHash
impl UnwindSafe for KeyHash
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
Converts
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>
Converts
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 more