Struct diem_types::transaction::TransactionWithProof [−][src]
pub struct TransactionWithProof {
pub version: Version,
pub transaction: Transaction,
pub events: Option<Vec<ContractEvent>>,
pub proof: TransactionInfoWithProof,
}Fields
version: Versiontransaction: Transactionevents: Option<Vec<ContractEvent>>proof: TransactionInfoWithProofImplementations
pub fn new(
version: Version,
transaction: Transaction,
events: Option<Vec<ContractEvent>>,
proof: TransactionInfoWithProof
) -> Self
pub 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
type Parameters = (<Version as Arbitrary>::Parameters, <Transaction as Arbitrary>::Parameters, <Option<Vec<ContractEvent>> as Arbitrary>::Parameters, <TransactionInfoWithProof as Arbitrary>::Parameters)
type Parameters = (<Version as Arbitrary>::Parameters, <Transaction as Arbitrary>::Parameters, <Option<Vec<ContractEvent>> 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. Read more
type Strategy = Map<(<Version as Arbitrary>::Strategy, <Transaction as Arbitrary>::Strategy, <Option<Vec<ContractEvent>> as Arbitrary>::Strategy, <TransactionInfoWithProof as Arbitrary>::Strategy), fn(_: (Version, Transaction, Option<Vec<ContractEvent>>, TransactionInfoWithProof)) -> Self>
type Strategy = Map<(<Version as Arbitrary>::Strategy, <Transaction as Arbitrary>::Strategy, <Option<Vec<ContractEvent>> as Arbitrary>::Strategy, <TransactionInfoWithProof as Arbitrary>::Strategy), fn(_: (Version, Transaction, Option<Vec<ContractEvent>>, TransactionInfoWithProof)) -> Self>
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
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
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
Mutably borrows from an owned value. Read more
Compare self to key and return true if they are equal.
type Output = T
type Output = T
Should always be Self
Generates a hash used only for tests.