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