Skip to main content

Module transaction

Module transaction 

Source
Expand description

Asynchronous verification of transactions.

Modules§

check
Transaction checks.

Structs§

AsyncChecks 🔒
A set of unordered asynchronous checks that should succeed.
BlockRequest
A request to verify a transaction as part of a block.
BlockResponse
A response to a block transaction verification request.
BlockTxVerifier
Asynchronous verification of block transactions.
MempoolRequest
A request to verify a transaction as part of the mempool.
MempoolResponse
A response to a mempool transaction verification request.
MempoolTxVerifier
Asynchronous verification of mempool transactions.

Constants§

MEMPOOL_OUTPUT_LOOKUP_TIMEOUT 🔒
A timeout applied to output lookup requests sent to the mempool. This is shorter than the timeout for the state UTXO lookups because a block is likely to be mined every 75 seconds after Blossom is active, changing the best chain tip and requiring re-verification of transactions in the mempool.
POLL_MEMPOOL_DELAY 🔒
How long to wait after responding to a mempool request with a transaction that creates new transparent outputs before polling the mempool service so that it will try adding the verified transaction and responding to any potential AwaitOutput requests.
UTXO_LOOKUP_TIMEOUT 🔒
A timeout applied to UTXO lookup requests.

Functions§

check_common_consensus_rules 🔒
Applies every consensus rule that a transaction must satisfy in both block and mempool context.
check_maturity_height 🔒
Checks that every transparent coinbase output spent by tx has matured by height.
check_structure_and_network_rules 🔒
Performs basic structural validation and Orchard-related network upgrade rules.
check_transaction_invariants 🔒
Validates transaction invariants.
dispatch_version_verification 🔒
Dispatches version-specific async verification checks for tx.
miner_fee 🔒
Calculates the miner fee from the transaction’s value balance.
queue_orchard_bundle 🔒
Queues an Orchard-shaped bundle’s single aggregated Halo2 proof against a verifier.
verify_orchard_bundle 🔒
Verifies a v5 transaction’s Orchard bundle.
verify_orchard_v6_bundle 🔒
Verifies a v6 transaction’s Orchard bundle.
verify_sapling_bundle 🔒
Verifies a transaction’s Sapling shielded data.
verify_sprout_shielded_data 🔒
Verifies a transaction’s Sprout shielded join split data.
verify_transparent_inputs_and_outputs 🔒
Verifies if a transaction’s transparent inputs are valid using the provided script_verifier and cached_ffi_transaction.
verify_v4_transaction 🔒
Verify a V4 transaction.
verify_v4_transaction_network_upgrade 🔒
Verifies if a V4 transaction is supported by network_upgrade.
verify_v5_transaction 🔒
Verify a V5 transaction.
verify_v5_transaction_network_upgrade 🔒
Verifies if a V5 transaction is supported by network_upgrade.
verify_v6_transaction 🔒
Verifies a V6 (NU6.3 / Ironwood) transaction’s shielded data.
verify_v6_transaction_network_upgrade 🔒
Verifies that a V6 transaction is supported by network_upgrade.