Struct diem_types::proof::definition::TransactionListProof
source · pub struct TransactionListProof {
pub ledger_info_to_transaction_infos_proof: TransactionAccumulatorRangeProof,
pub transaction_infos: Vec<TransactionInfo>,
}
Expand description
The complete proof used to authenticate a list of consecutive transactions.
Fields§
§ledger_info_to_transaction_infos_proof: TransactionAccumulatorRangeProof
The accumulator range proof from ledger info root to leaves that authenticates the hashes
of all TransactionInfo
objects.
transaction_infos: Vec<TransactionInfo>
The TransactionInfo
objects that correspond to all the transactions.
Implementations§
source§impl TransactionListProof
impl TransactionListProof
sourcepub fn new(
ledger_info_to_transaction_infos_proof: TransactionAccumulatorRangeProof,
transaction_infos: Vec<TransactionInfo>
) -> Self
pub fn new( ledger_info_to_transaction_infos_proof: TransactionAccumulatorRangeProof, transaction_infos: Vec<TransactionInfo> ) -> Self
Constructs a new TransactionListProof
using ledger_info_to_transaction_info_proof
and
transaction_infos
.
sourcepub fn transaction_infos(&self) -> &[TransactionInfo]
pub fn transaction_infos(&self) -> &[TransactionInfo]
Returns the list of TransactionInfo
objects.
pub fn left_siblings(&self) -> &Vec<HashValue> ⓘ
pub fn unpack(self) -> (TransactionAccumulatorRangeProof, Vec<TransactionInfo>)
sourcepub fn verify(
&self,
ledger_info: &LedgerInfo,
first_transaction_version: Option<Version>,
transaction_hashes: &[HashValue]
) -> Result<()>
pub fn verify( &self, ledger_info: &LedgerInfo, first_transaction_version: Option<Version>, transaction_hashes: &[HashValue] ) -> Result<()>
Verifies the list of transactions are correct using the proof. The verifier needs to have the ledger info and the version of the first transaction in possession.
Trait Implementations§
source§impl Arbitrary for TransactionListProof
impl Arbitrary for TransactionListProof
§type Parameters = (<AccumulatorRangeProof<TransactionAccumulatorHasher> as Arbitrary>::Parameters, <Vec<TransactionInfo, Global> as Arbitrary>::Parameters)
type Parameters = (<AccumulatorRangeProof<TransactionAccumulatorHasher> as Arbitrary>::Parameters, <Vec<TransactionInfo, Global> as Arbitrary>::Parameters)
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<(<AccumulatorRangeProof<TransactionAccumulatorHasher> as Arbitrary>::Strategy, <Vec<TransactionInfo, Global> as Arbitrary>::Strategy), fn(_: (AccumulatorRangeProof<TransactionAccumulatorHasher>, Vec<TransactionInfo, Global>)) -> TransactionListProof>
type Strategy = Map<(<AccumulatorRangeProof<TransactionAccumulatorHasher> as Arbitrary>::Strategy, <Vec<TransactionInfo, Global> as Arbitrary>::Strategy), fn(_: (AccumulatorRangeProof<TransactionAccumulatorHasher>, Vec<TransactionInfo, Global>)) -> TransactionListProof>
The type of
Strategy
used to generate values of type Self
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for TransactionListProof
impl Clone for TransactionListProof
source§fn clone(&self) -> TransactionListProof
fn clone(&self) -> TransactionListProof
Returns a copy 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 TransactionListProof
impl Debug for TransactionListProof
source§impl<'de> Deserialize<'de> for TransactionListProof
impl<'de> Deserialize<'de> for TransactionListProof
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 PartialEq<TransactionListProof> for TransactionListProof
impl PartialEq<TransactionListProof> for TransactionListProof
source§fn eq(&self, other: &TransactionListProof) -> bool
fn eq(&self, other: &TransactionListProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for TransactionListProof
impl Serialize for TransactionListProof
impl Eq for TransactionListProof
impl StructuralEq for TransactionListProof
impl StructuralPartialEq for TransactionListProof
Auto Trait Implementations§
impl RefUnwindSafe for TransactionListProof
impl Send for TransactionListProof
impl Sync for TransactionListProof
impl Unpin for TransactionListProof
impl UnwindSafe for TransactionListProof
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
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> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
source§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.