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: TransactionInfoWithProofImplementations§
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_numberas 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.