Struct diem_sdk::types::transaction::TransactionWithProof
pub struct TransactionWithProof {
pub version: u64,
pub transaction: Transaction,
pub events: Option<Vec<ContractEvent, Global>>,
pub proof: TransactionInfoWithProof,
}
Fields§
§version: u64
§transaction: Transaction
§events: Option<Vec<ContractEvent, Global>>
§proof: TransactionInfoWithProof
Implementations§
§impl TransactionWithProof
impl TransactionWithProof
pub fn new( version: u64, transaction: Transaction, events: Option<Vec<ContractEvent, Global>>, proof: TransactionInfoWithProof ) -> TransactionWithProof
pub fn verify_user_txn(
&self,
ledger_info: &LedgerInfo,
version: u64,
sender: AccountAddress,
sequence_number: u64
) -> Result<(), Error>
pub fn verify_user_txn( &self, ledger_info: &LedgerInfo, version: u64, sender: AccountAddress, sequence_number: u64 ) -> Result<(), Error>
Verifies the transaction with the proof, both carried by self
.
A few things are ensured if no error is raised:
- This transaction exists in the ledger represented by
ledger_info
. - This transaction is a
UserTransaction
. - And this user transaction has the same
version
,sender
, andsequence_number
as indicated by the parameter list. If any of these parameter is unknown to the call site that is supposed to be informed via this struct, get it from the struct itself, such as version and sender.
Trait Implementations§
§impl Arbitrary for TransactionWithProof
impl Arbitrary for TransactionWithProof
§type Parameters = (<u64 as Arbitrary>::Parameters, <Transaction as Arbitrary>::Parameters, <Option<Vec<ContractEvent, Global>> as Arbitrary>::Parameters, <TransactionInfoWithProof as Arbitrary>::Parameters)
type Parameters = (<u64 as Arbitrary>::Parameters, <Transaction as Arbitrary>::Parameters, <Option<Vec<ContractEvent, Global>> as Arbitrary>::Parameters, <TransactionInfoWithProof as Arbitrary>::Parameters)
The type of parameters that
arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
.§type Strategy = Map<(<u64 as Arbitrary>::Strategy, <Transaction as Arbitrary>::Strategy, <Option<Vec<ContractEvent, Global>> as Arbitrary>::Strategy, <TransactionInfoWithProof as Arbitrary>::Strategy), fn(_: (u64, Transaction, Option<Vec<ContractEvent, Global>>, TransactionInfoWithProof)) -> TransactionWithProof>
type Strategy = Map<(<u64 as Arbitrary>::Strategy, <Transaction as Arbitrary>::Strategy, <Option<Vec<ContractEvent, Global>> as Arbitrary>::Strategy, <TransactionInfoWithProof as Arbitrary>::Strategy), fn(_: (u64, Transaction, Option<Vec<ContractEvent, Global>>, TransactionInfoWithProof)) -> TransactionWithProof>
The type of
Strategy
used to generate values of type Self
.§fn arbitrary_with(
_top: <TransactionWithProof as Arbitrary>::Parameters
) -> <TransactionWithProof as Arbitrary>::Strategy
fn arbitrary_with( _top: <TransactionWithProof as Arbitrary>::Parameters ) -> <TransactionWithProof as Arbitrary>::Strategy
§impl Clone for TransactionWithProof
impl Clone for TransactionWithProof
§fn clone(&self) -> TransactionWithProof
fn clone(&self) -> TransactionWithProof
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 TransactionWithProof
impl Debug for TransactionWithProof
§impl<'de> Deserialize<'de> for TransactionWithProof
impl<'de> Deserialize<'de> for TransactionWithProof
§fn deserialize<__D>(
__deserializer: __D
) -> Result<TransactionWithProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<TransactionWithProof, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl PartialEq<TransactionWithProof> for TransactionWithProof
impl PartialEq<TransactionWithProof> for TransactionWithProof
§fn eq(&self, other: &TransactionWithProof) -> bool
fn eq(&self, other: &TransactionWithProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.§impl Serialize for TransactionWithProof
impl Serialize for TransactionWithProof
§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 TransactionWithProof
impl StructuralEq for TransactionWithProof
impl StructuralPartialEq for TransactionWithProof
Auto Trait Implementations§
impl RefUnwindSafe for TransactionWithProof
impl Send for TransactionWithProof
impl Sync for TransactionWithProof
impl Unpin for TransactionWithProof
impl UnwindSafe for TransactionWithProof
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.