#[non_exhaustive]pub struct OcsNonInclusionProof {
pub non_inclusion_proof: Option<MerkleNonInclusionProof>,
pub tree_root: Option<Bytes>,
}unstable only.Expand description
An Object Checkpoint State (OCS) non-inclusion proof.
Proves that no leaf with a given object id appears in the OCS Merkle tree – i.e. that the checkpoint did not modify the object id at all. The proof’s bracketing neighbours must have object ids strictly flanking the target id, which combined with the neighbours being at adjacent indices in the sorted tree proves that no leaf with any version or digest under the target id can be in the tree.
As with OcsInclusionProof, this is anchored at the containing
CheckpointSummary’s CheckpointArtifacts commitment.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.non_inclusion_proof: Option<MerkleNonInclusionProof>Merkle non-inclusion proof over the OCS tree.
tree_root: Option<Bytes>32-byte Merkle root of the modified-objects tree.
Implementations§
Source§impl OcsNonInclusionProof
impl OcsNonInclusionProof
pub const NON_INCLUSION_PROOF_FIELD: &'static MessageField
pub const TREE_ROOT_FIELD: &'static MessageField
Source§impl OcsNonInclusionProof
impl OcsNonInclusionProof
pub fn path_builder() -> OcsNonInclusionProofFieldPathBuilder
Source§impl OcsNonInclusionProof
impl OcsNonInclusionProof
pub const fn const_default() -> Self
Sourcepub fn non_inclusion_proof(&self) -> &MerkleNonInclusionProof
pub fn non_inclusion_proof(&self) -> &MerkleNonInclusionProof
Returns the value of non_inclusion_proof, or the default value if non_inclusion_proof is unset.
Sourcepub fn non_inclusion_proof_opt_mut(
&mut self,
) -> Option<&mut MerkleNonInclusionProof>
pub fn non_inclusion_proof_opt_mut( &mut self, ) -> Option<&mut MerkleNonInclusionProof>
Sourcepub fn non_inclusion_proof_mut(&mut self) -> &mut MerkleNonInclusionProof
pub fn non_inclusion_proof_mut(&mut self) -> &mut MerkleNonInclusionProof
Returns a mutable reference to non_inclusion_proof.
If the field is unset, it is first initialized with the default value.
Sourcepub fn non_inclusion_proof_opt(&self) -> Option<&MerkleNonInclusionProof>
pub fn non_inclusion_proof_opt(&self) -> Option<&MerkleNonInclusionProof>
Sourcepub fn set_non_inclusion_proof<T: Into<MerkleNonInclusionProof>>(
&mut self,
field: T,
)
pub fn set_non_inclusion_proof<T: Into<MerkleNonInclusionProof>>( &mut self, field: T, )
Sets non_inclusion_proof with the provided value.
Sourcepub fn with_non_inclusion_proof<T: Into<MerkleNonInclusionProof>>(
self,
field: T,
) -> Self
pub fn with_non_inclusion_proof<T: Into<MerkleNonInclusionProof>>( self, field: T, ) -> Self
Sets non_inclusion_proof with the provided value.
Sourcepub fn tree_root_opt(&self) -> Option<&[u8]>
pub fn tree_root_opt(&self) -> Option<&[u8]>
Sourcepub fn set_tree_root<T: Into<Bytes>>(&mut self, field: T)
pub fn set_tree_root<T: Into<Bytes>>(&mut self, field: T)
Sets tree_root with the provided value.
Sourcepub fn with_tree_root<T: Into<Bytes>>(self, field: T) -> Self
pub fn with_tree_root<T: Into<Bytes>>(self, field: T) -> Self
Sets tree_root with the provided value.
Trait Implementations§
Source§impl Clone for OcsNonInclusionProof
impl Clone for OcsNonInclusionProof
Source§fn clone(&self) -> OcsNonInclusionProof
fn clone(&self) -> OcsNonInclusionProof
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OcsNonInclusionProof
impl Debug for OcsNonInclusionProof
Source§impl Default for OcsNonInclusionProof
impl Default for OcsNonInclusionProof
§impl<'de> Deserialize<'de> for OcsNonInclusionProof
impl<'de> Deserialize<'de> for OcsNonInclusionProof
§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 From<&OcsNonInclusionProof> for OcsNonInclusionProof
impl From<&OcsNonInclusionProof> for OcsNonInclusionProof
Source§fn from(value: &SdkOcsNonInclusionProof) -> Self
fn from(value: &SdkOcsNonInclusionProof) -> Self
Source§impl From<OcsNonInclusionProof> for OcsNonInclusionProof
impl From<OcsNonInclusionProof> for OcsNonInclusionProof
Source§fn from(value: SdkOcsNonInclusionProof) -> Self
fn from(value: SdkOcsNonInclusionProof) -> Self
Source§impl Message for OcsNonInclusionProof
impl Message for OcsNonInclusionProof
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl MessageFields for OcsNonInclusionProof
impl MessageFields for OcsNonInclusionProof
const FIELDS: &'static [&'static MessageField]
Source§impl PartialEq for OcsNonInclusionProof
impl PartialEq for OcsNonInclusionProof
§impl Serialize for OcsNonInclusionProof
impl Serialize for OcsNonInclusionProof
Source§impl TryFrom<&OcsNonInclusionProof> for OcsNonInclusionProof
impl TryFrom<&OcsNonInclusionProof> for OcsNonInclusionProof
Source§type Error = TryFromProtoError
type Error = TryFromProtoError
impl StructuralPartialEq for OcsNonInclusionProof
Auto Trait Implementations§
impl !Freeze for OcsNonInclusionProof
impl RefUnwindSafe for OcsNonInclusionProof
impl Send for OcsNonInclusionProof
impl Sync for OcsNonInclusionProof
impl Unpin for OcsNonInclusionProof
impl UnsafeUnpin for OcsNonInclusionProof
impl UnwindSafe for OcsNonInclusionProof
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read moreSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
Source§impl<'de, T> FromBcs for Twhere
T: Deserialize<'de>,
impl<'de, T> FromBcs for Twhere
T: Deserialize<'de>,
fn from_bcs<'de>(bytes: &'de [u8]) -> Result<Self, Error>where
Self: Deserialize<'de>,
fn from_bcs_base64(base64: &str) -> Result<Self, Error>where
Self: DeserializeOwned,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
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 more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.