Struct ics23::InnerOp [−][src]
Expand description
InnerOp represents a merkle-proof step that is not a leaf. It represents concatenating two children and hashing them to provide the next result.
The result of the previous step is passed in, so the signature of this op is: innerOp(child) -> output
The result of applying InnerOp should be: output = op.hash(op.prefix || child || op.suffix)
where the || operator is concatenation of binary data, and child is the result of hashing all the tree below this step.
Any special data, like prepending child with the length, or prepending the entire operation with some value to differentiate from leaf nodes, should be included in prefix and suffix. If either of prefix or suffix is empty, we just treat it as an empty string
Fields
hash: i32
prefix: Vec<u8>
suffix: Vec<u8>
Implementations
Trait Implementations
Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self
. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
Auto Trait Implementations
impl RefUnwindSafe for InnerOp
impl UnwindSafe for InnerOp
Blanket Implementations
Mutably borrows from an owned value. Read more