Struct diem_sdk::types::proof::TransactionListProof
pub struct TransactionListProof {
pub ledger_info_to_transaction_infos_proof: AccumulatorRangeProof<TransactionAccumulatorHasher>,
pub transaction_infos: Vec<TransactionInfo, Global>,
}
Expand description
The complete proof used to authenticate a list of consecutive transactions.
Fields§
§ledger_info_to_transaction_infos_proof: AccumulatorRangeProof<TransactionAccumulatorHasher>
The accumulator range proof from ledger info root to leaves that authenticates the hashes
of all TransactionInfo
objects.
transaction_infos: Vec<TransactionInfo, Global>
The TransactionInfo
objects that correspond to all the transactions.
Implementations§
§impl TransactionListProof
impl TransactionListProof
pub fn new(
ledger_info_to_transaction_infos_proof: AccumulatorRangeProof<TransactionAccumulatorHasher>,
transaction_infos: Vec<TransactionInfo, Global>
) -> TransactionListProof
pub fn new( ledger_info_to_transaction_infos_proof: AccumulatorRangeProof<TransactionAccumulatorHasher>, transaction_infos: Vec<TransactionInfo, Global> ) -> TransactionListProof
Constructs a new TransactionListProof
using ledger_info_to_transaction_info_proof
and
transaction_infos
.
pub fn new_empty() -> TransactionListProof
pub fn new_empty() -> TransactionListProof
Constructs a proof for an empty list of transactions.
pub fn transaction_infos(&self) -> &[TransactionInfo]
pub fn transaction_infos(&self) -> &[TransactionInfo]
Returns the list of TransactionInfo
objects.
pub fn left_siblings(&self) -> &Vec<HashValue, Global> ⓘ
pub fn unpack( self ) -> (AccumulatorRangeProof<TransactionAccumulatorHasher>, Vec<TransactionInfo, Global>)
pub fn verify(
&self,
ledger_info: &LedgerInfo,
first_transaction_version: Option<u64>,
transaction_hashes: &[HashValue]
) -> Result<(), Error>
pub fn verify( &self, ledger_info: &LedgerInfo, first_transaction_version: Option<u64>, transaction_hashes: &[HashValue] ) -> Result<(), Error>
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§
§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
.§fn arbitrary_with(
_top: <TransactionListProof as Arbitrary>::Parameters
) -> <TransactionListProof as Arbitrary>::Strategy
fn arbitrary_with( _top: <TransactionListProof as Arbitrary>::Parameters ) -> <TransactionListProof as Arbitrary>::Strategy
§impl Clone for TransactionListProof
impl Clone for TransactionListProof
§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 more§impl Debug for TransactionListProof
impl Debug for TransactionListProof
§impl<'de> Deserialize<'de> for TransactionListProof
impl<'de> Deserialize<'de> for TransactionListProof
§fn deserialize<__D>(
__deserializer: __D
) -> Result<TransactionListProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<TransactionListProof, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl PartialEq<TransactionListProof> for TransactionListProof
impl PartialEq<TransactionListProof> for TransactionListProof
§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 ==
.§impl Serialize for TransactionListProof
impl Serialize for TransactionListProof
§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 TryFrom<&TransactionListProof> for TransactionsProofsView
impl TryFrom<&TransactionListProof> for TransactionsProofsView
§fn try_from(
proof: &TransactionListProof
) -> Result<TransactionsProofsView, <TransactionsProofsView as TryFrom<&TransactionListProof>>::Error>
fn try_from( proof: &TransactionListProof ) -> Result<TransactionsProofsView, <TransactionsProofsView as TryFrom<&TransactionListProof>>::Error>
Performs the conversion.
§impl TryFrom<&TransactionsProofsView> for TransactionListProof
impl TryFrom<&TransactionsProofsView> for TransactionListProof
§fn try_from(
view: &TransactionsProofsView
) -> Result<TransactionListProof, <TransactionListProof as TryFrom<&TransactionsProofsView>>::Error>
fn try_from( view: &TransactionsProofsView ) -> Result<TransactionListProof, <TransactionListProof as TryFrom<&TransactionsProofsView>>::Error>
Performs the conversion.
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> 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>
§impl<T> TestOnlyHash for Twhere
T: Serialize + ?Sized,
impl<T> TestOnlyHash for Twhere T: Serialize + ?Sized,
§fn test_only_hash(&self) -> HashValue
fn test_only_hash(&self) -> HashValue
Generates a hash used only for tests.