Enum diem_types::transaction::Transaction [−][src]
pub enum Transaction {
UserTransaction(SignedTransaction),
GenesisTransaction(WriteSetPayload),
BlockMetadata(BlockMetadata),
StateCheckpoint,
}Expand description
Transaction will be the transaction type used internally in the diem node to represent the
transaction to be processed and persisted.
We suppress the clippy warning here as we would expect most of the transaction to be user transaction.
Variants
UserTransaction(SignedTransaction)Transaction submitted by the user. e.g: P2P payment transaction, publishing module transaction, etc. TODO: We need to rename SignedTransaction to SignedUserTransaction, as well as all the other transaction types we had in our codebase.
Tuple Fields of UserTransaction
GenesisTransaction(WriteSetPayload)Transaction that applies a WriteSet to the current storage, it’s applied manually via db-bootstrapper.
Tuple Fields of GenesisTransaction
BlockMetadata(BlockMetadata)Transaction to update the block metadata resource at the beginning of a block.
Tuple Fields of BlockMetadata
Transaction to let the executor update the global state tree and record the root hash in the TransactionInfo
Implementations
Trait Implementations
type Parameters = (<SignedTransaction as Arbitrary>::Parameters, <WriteSetPayload as Arbitrary>::Parameters, <BlockMetadata as Arbitrary>::Parameters)
type Parameters = (<SignedTransaction as Arbitrary>::Parameters, <WriteSetPayload as Arbitrary>::Parameters, <BlockMetadata 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 = TupleUnion<((u32, Arc<Map<<SignedTransaction as Arbitrary>::Strategy, fn(_: SignedTransaction) -> Self>>), (u32, Arc<Map<<WriteSetPayload as Arbitrary>::Strategy, fn(_: WriteSetPayload) -> Self>>), (u32, Arc<Map<<BlockMetadata as Arbitrary>::Strategy, fn(_: BlockMetadata) -> Self>>), (u32, Arc<fn() -> Self>))>
type Strategy = TupleUnion<((u32, Arc<Map<<SignedTransaction as Arbitrary>::Strategy, fn(_: SignedTransaction) -> Self>>), (u32, Arc<Map<<WriteSetPayload as Arbitrary>::Strategy, fn(_: WriteSetPayload) -> Self>>), (u32, Arc<Map<<BlockMetadata as Arbitrary>::Strategy, fn(_: BlockMetadata) -> Self>>), (u32, Arc<fn() -> Self>))>
type Hasher = TransactionHasher
type Hasher = TransactionHasher
The associated Hasher type which comes with a unique salt for this type.
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 Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnwindSafe for Transaction
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.