pub struct CompoundInclusionProof {
pub blob_proofs: Vec<BlobProof>,
pub blober_pubkey: Pubkey,
pub blober_account_state_proof: BloberAccountStateProof,
}
Expand description
A proof that a specific Solana block contains blobs, and that there are no other blobs in the block.
This proof consists of four parts:
- A list of blob proofs that prove that the blobs uploaded to the [
blober
] program hash to the given blob digest. - The public key of the [
blober
] PDA that was invoked to commite the blobs to. - A blober account state proof that proves that the [
blober
] was invoked exactly as many times as there are blobs.
The proof can then be verified by supplying the blockhash of the block in which the [blober
] was
invoked, as well as the blobs of data which were published.
Fields§
§blob_proofs: Vec<BlobProof>
§blober_pubkey: Pubkey
§blober_account_state_proof: BloberAccountStateProof
Implementations§
Source§impl CompoundInclusionProof
impl CompoundInclusionProof
Sourcepub fn new(
blob_proofs: Vec<BlobProof>,
blober_pubkey: Pubkey,
blober_account_state_proof: BloberAccountStateProof,
) -> CompoundInclusionProof
pub fn new( blob_proofs: Vec<BlobProof>, blober_pubkey: Pubkey, blober_account_state_proof: BloberAccountStateProof, ) -> CompoundInclusionProof
Creates an inclusion proof.
pub fn into_commitment(&self) -> CompoundInclusionProofCommitment
pub fn target_slot(&self) -> u64
pub fn hash_proofs(&self) -> [u8; 32]
Trait Implementations§
Source§impl Clone for CompoundInclusionProof
impl Clone for CompoundInclusionProof
Source§fn clone(&self) -> CompoundInclusionProof
fn clone(&self) -> CompoundInclusionProof
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for CompoundInclusionProof
impl Debug for CompoundInclusionProof
Source§impl<'de> Deserialize<'de> for CompoundInclusionProof
impl<'de> Deserialize<'de> for CompoundInclusionProof
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompoundInclusionProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompoundInclusionProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for CompoundInclusionProof
impl PartialEq for CompoundInclusionProof
Source§impl Serialize for CompoundInclusionProof
impl Serialize for CompoundInclusionProof
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Eq for CompoundInclusionProof
impl StructuralPartialEq for CompoundInclusionProof
Auto Trait Implementations§
impl Freeze for CompoundInclusionProof
impl RefUnwindSafe for CompoundInclusionProof
impl Send for CompoundInclusionProof
impl Sync for CompoundInclusionProof
impl Unpin for CompoundInclusionProof
impl UnwindSafe for CompoundInclusionProof
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<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