Expand description
Asynchronous verification of transactions.
Modules§
- check
- Transaction checks.
Structs§
- Async
Checks 🔒 - A set of unordered asynchronous checks that should succeed.
- Block
Request - A request to verify a transaction as part of a block.
- Block
Response - A response to a block transaction verification request.
- Block
TxVerifier - Asynchronous verification of block transactions.
- Mempool
Request - A request to verify a transaction as part of the mempool.
- Mempool
Response - A response to a mempool transaction verification request.
- Mempool
TxVerifier - 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
AwaitOutputrequests. - 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
txhas matured byheight. - 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_verifierandcached_ffi_transaction. - verify_
v4_ 🔒transaction - Verify a V4 transaction.
- verify_
v4_ 🔒transaction_ network_ upgrade - Verifies if a V4
transactionis supported bynetwork_upgrade. - verify_
v5_ 🔒transaction - Verify a V5 transaction.
- verify_
v5_ 🔒transaction_ network_ upgrade - Verifies if a V5
transactionis supported bynetwork_upgrade. - verify_
v6_ 🔒transaction - Verifies a V6 (NU6.3 / Ironwood) transaction’s shielded data.
- verify_
v6_ 🔒transaction_ network_ upgrade - Verifies that a V6
transactionis supported bynetwork_upgrade.