Module utxo

Source
Expand description

Transparent address index UTXO queries.

In the functions in this module:

The block write task commits blocks to the finalized state before updating chain with a cached copy of the best non-finalized chain from NonFinalizedState.chain_set. Then the block commit task can commit additional blocks to the finalized state after we’ve cloned the chain.

This means that some blocks can be in both:

  • the cached Chain, and
  • the shared finalized ZebraDb reference.

Structs§

AddressUtxos
A convenience wrapper that efficiently stores unspent transparent outputs, and the corresponding transaction IDs.

Constants§

ADDRESS_HEIGHTS_FULL_RANGE
The full range of address heights.

Functions§

address_utxos
Returns the unspent transparent outputs (UTXOs) for the supplied transparent::Addresses, in chain order; and the transaction IDs for the transactions containing those UTXOs.
apply_utxo_changes 🔒
Combines the supplied finalized and non-finalized UTXOs, removes the spent UTXOs, and returns the result.
chain_transparent_utxo_changes 🔒
Returns the UTXO changes for addresses in the non-finalized chain, matching or overlapping the UTXOs for the finalized_tip_range.
finalized_address_utxos 🔒
Returns the unspent transparent outputs (UTXOs) for addresses in the finalized chain, and the finalized tip heights the UTXOs were queried at.
lookup_tx_ids_for_utxos 🔒
Returns the transaction::Hashes containing the supplied UTXOs, from the non-finalized chain and finalized db.