Struct diem_types::transaction::TransactionWithProof
source · pub struct TransactionWithProof {
pub version: Version,
pub transaction: Transaction,
pub events: Option<Vec<ContractEvent>>,
pub proof: TransactionInfoWithProof,
}
Fields§
§version: Version
§transaction: Transaction
§events: Option<Vec<ContractEvent>>
§proof: TransactionInfoWithProof
Implementations§
source§impl TransactionWithProof
impl TransactionWithProof
pub fn new( version: Version, transaction: Transaction, events: Option<Vec<ContractEvent>>, proof: TransactionInfoWithProof ) -> Self
sourcepub fn verify_user_txn(
&self,
ledger_info: &LedgerInfo,
version: Version,
sender: AccountAddress,
sequence_number: u64
) -> Result<()>
pub fn verify_user_txn( &self, ledger_info: &LedgerInfo, version: Version, sender: AccountAddress, sequence_number: u64 ) -> Result<()>
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§
source§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
.source§fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
source§impl Clone for TransactionWithProof
impl Clone for TransactionWithProof
source§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 moresource§impl Debug for TransactionWithProof
impl Debug for TransactionWithProof
source§impl<'de> Deserialize<'de> for TransactionWithProof
impl<'de> Deserialize<'de> for TransactionWithProof
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<TransactionWithProof> for TransactionWithProof
impl PartialEq<TransactionWithProof> for TransactionWithProof
source§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 ==
.source§impl Serialize for TransactionWithProof
impl Serialize for TransactionWithProof
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> 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.