[−][src]Struct ibc_proto::InnerOp
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
impl InnerOp
[src]
pub fn hash(&self) -> HashOp
[src]
Returns the enum value of hash
, or the default if the field is set to an invalid enum value.
pub fn set_hash(&mut self, value: HashOp)
[src]
Sets hash
to the provided enum value.
Trait Implementations
impl Clone for InnerOp
[src]
impl Debug for InnerOp
[src]
impl Default for InnerOp
[src]
impl Message for InnerOp
[src]
fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn clear(&mut self)
[src]
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
[src]
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
[src]
B: Buf,
Self: Default,
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
impl PartialEq<InnerOp> for InnerOp
[src]
impl StructuralPartialEq for InnerOp
[src]
Auto Trait Implementations
impl RefUnwindSafe for InnerOp
impl Send for InnerOp
impl Sync for InnerOp
impl Unpin for InnerOp
impl UnwindSafe for InnerOp
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,