Struct snarkvm_dpc::testnet2::transaction::transaction::Transaction[][src]

pub struct Transaction<C: Testnet2Components> {
    pub network: Network,
    pub ledger_digest: MerkleTreeDigest<C::MerkleParameters>,
    pub old_serial_numbers: Vec<<C::AccountSignature as SignatureScheme>::PublicKey>,
    pub new_commitments: Vec<<C::RecordCommitment as CommitmentScheme>::Output>,
    pub program_commitment: <C::ProgramVerificationKeyCommitment as CommitmentScheme>::Output,
    pub local_data_root: <C::LocalDataCRH as CRH>::Output,
    pub value_balance: AleoAmount,
    pub signatures: Vec<<C::AccountSignature as SignatureScheme>::Signature>,
    pub encrypted_records: Vec<EncryptedRecord<C>>,
    pub transaction_proof: <C::OuterSNARK as SNARK>::Proof,
    pub memorandum: [u8; 32],
    pub inner_circuit_id: <C::InnerCircuitIDCRH as CRH>::Output,
}

Fields

network: Network

The network this transaction is included in

ledger_digest: MerkleTreeDigest<C::MerkleParameters>

The root of the ledger commitment Merkle tree

old_serial_numbers: Vec<<C::AccountSignature as SignatureScheme>::PublicKey>

The serial numbers of the records being spend

new_commitments: Vec<<C::RecordCommitment as CommitmentScheme>::Output>

The commitment of the new records

program_commitment: <C::ProgramVerificationKeyCommitment as CommitmentScheme>::Output

The commitment to the old record death and new record birth programs

local_data_root: <C::LocalDataCRH as CRH>::Output

The root of the local data merkle tree

value_balance: AleoAmount

A transaction value balance is the difference between input and output record balances. This value effectively becomes the transaction fee for the miner. Only coinbase transactions can have a negative value balance representing tokens being minted.

signatures: Vec<<C::AccountSignature as SignatureScheme>::Signature>

Randomized signatures that allow for authorized delegation of transaction generation

encrypted_records: Vec<EncryptedRecord<C>>

Encrypted record and selector bits of the new records generated by the transaction

transaction_proof: <C::OuterSNARK as SNARK>::Proof

Zero-knowledge proof attesting to the valididty of the transaction

memorandum: [u8; 32]

Public data associated with the transaction that must be unique among all transactions

inner_circuit_id: <C::InnerCircuitIDCRH as CRH>::Output

The ID of the inner SNARK being used

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Reads Self from reader.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serializes self into writer.

Transaction id = Hash of (serial numbers || commitments || memo)

Returns the network_id in the transaction.

Returns the ledger digest.

Returns the inner circuit ID.

Returns the old serial numbers.

Returns the new commitments.

Returns the memorandum.

Returns the program commitment in the transaction.

Returns the local data root in the transaction.

Returns the value balance in the transaction.

Returns the signatures.

Returns the encrypted records

Returns the transaction size in bytes.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Converts self into T using Into<T>. Read more

Compare self to key and return true if they are equal.

Causes self to use its Binary implementation when Debug-formatted.

Causes self to use its Display implementation when Debug-formatted. Read more

Causes self to use its LowerExp implementation when Debug-formatted. Read more

Causes self to use its LowerHex implementation when Debug-formatted. Read more

Causes self to use its Octal implementation when Debug-formatted.

Causes self to use its Pointer implementation when Debug-formatted. Read more

Causes self to use its UpperExp implementation when Debug-formatted. Read more

Causes self to use its UpperHex implementation when Debug-formatted. Read more

Performs the conversion.

Performs the conversion.

Pipes by value. This is generally the method you want to use. Read more

Borrows self and passes that borrow into the pipe function. Read more

Mutably borrows self and passes that borrow into the pipe function. Read more

Borrows self, then passes self.borrow() into the pipe function. Read more

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more

Borrows self, then passes self.as_ref() into the pipe function.

Mutably borrows self, then passes self.as_mut() into the pipe function. Read more

Borrows self, then passes self.deref() into the pipe function.

Mutably borrows self, then passes self.deref_mut() into the pipe function. Read more

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

Immutable access to a value. Read more

Mutable access to a value. Read more

Immutable access to the Borrow<B> of a value. Read more

Mutable access to the BorrowMut<B> of a value. Read more

Immutable access to the AsRef<R> view of a value. Read more

Mutable access to the AsMut<R> view of a value. Read more

Immutable access to the Deref::Target of a value. Read more

Mutable access to the Deref::Target of a value. Read more

Calls .tap() only in debug builds, and is erased in release builds.

Calls .tap_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_borrow() only in debug builds, and is erased in release builds. Read more

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_ref() only in debug builds, and is erased in release builds. Read more

Calls .tap_ref_mut() only in debug builds, and is erased in release builds. Read more

Calls .tap_deref() only in debug builds, and is erased in release builds. Read more

Calls .tap_deref_mut() only in debug builds, and is erased in release builds. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Attempts to convert self into T using TryInto<T>. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.