|
| | TxoSpenderIndex (std::unique_ptr< interfaces::Chain > chain, size_t n_cache_size, bool f_memory=false, bool f_wipe=false) |
| util::Expected< std::optional< TxoSpender >, std::string > | FindSpender (const COutPoint &txo) const |
| | Search the index for a transaction that spends the given outpoint.
|
| | BaseIndex (std::unique_ptr< interfaces::Chain > chain, std::string name) |
| virtual | ~BaseIndex () |
| | Destructor interrupts sync thread if running and blocks until it exits.
|
| const std::string & | GetName () const LIFETIMEBOUND |
| | Get the name of the index for display in logs.
|
| bool BlockUntilSyncedToCurrentChain() const LOCKS_EXCLUDED(void | Interrupt () |
| | Blocks the current thread until the index is caught up to the current state of the block chain.
|
| bool | Init () |
| | Initializes the sync state and registers the instance to the validation interface so that it stays in sync with blockchain updates.
|
| bool | StartBackgroundSync () |
| | Starts the initial sync process on a background thread.
|
| void | Sync () |
| | Sync the index with the block index starting from the current best block.
|
| void | Stop () |
| | Stops the instance from staying in sync with blockchain updates.
|
| IndexSummary | GetSummary () const |
| | Get a summary of the index and its state.
|
|
| interfaces::Chain::NotifyOptions | CustomOptions () override |
| | Return custom notification options for index.
|
| bool | CustomAppend (const interfaces::BlockInfo &block) override |
| | Write update index entries for a newly connected block.
|
| bool | CustomRemove (const interfaces::BlockInfo &block) override |
| | Rewind index by one block during a chain reorg.
|
| BaseIndex::DB & | GetDB () const override |
| void | BlockConnected (const kernel::ChainstateRole &role, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex) override |
| | Notifies listeners of a block being connected.
|
| void | ChainStateFlushed (const kernel::ChainstateRole &role, const CBlockLocator &locator) override |
| | Notifies listeners of the new active block chain on-disk.
|
| virtual bool | CustomInit (const std::optional< interfaces::BlockRef > &block) |
| | Initialize internal state from the database and block index.
|
| virtual bool | CustomCommit (CDBBatch &batch) |
| | Virtual method called internally by Commit that can be overridden to atomically commit more index state.
|
| void | SetBestBlockIndex (const CBlockIndex *block) |
| | Update the internal best block index as well as the prune lock.
|
| | ~CValidationInterface ()=default |
| | Protected destructor so that instances can only be deleted by derived classes.
|
| virtual void | UpdatedBlockTip (const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) |
| | Notifies listeners when the block chain tip advances.
|
| virtual void | ActiveTipChange (const CBlockIndex &new_tip, bool is_ibd) |
| | Notifies listeners any time the block chain tip changes, synchronously.
|
| virtual void | TransactionAddedToMempool (const NewMempoolTransactionInfo &tx, uint64_t mempool_sequence) |
| | Notifies listeners of a transaction having been added to mempool.
|
| virtual void | TransactionRemovedFromMempool (const CTransactionRef &tx, MemPoolRemovalReason reason, uint64_t mempool_sequence) |
| | Notifies listeners of a transaction leaving mempool.
|
| virtual void | MempoolTransactionsRemovedForBlock (const std::vector< RemovedMempoolTransactionInfo > &txs_removed_for_block, unsigned int nBlockHeight) |
| virtual void | BlockDisconnected (const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex) |
| | Notifies listeners of a block being disconnected Provides the block that was disconnected.
|
| virtual void | BlockChecked (const std::shared_ptr< const CBlock > &, const BlockValidationState &) |
| | Notifies listeners of a block validation result.
|
| virtual void | NewPoWValidBlock (const CBlockIndex *pindex, const std::shared_ptr< const CBlock > &block) |
| | Notifies listeners that a block which builds directly on our current tip has been received and connected to the headers tree, though not validated yet.
|
TxoSpenderIndex is used to look up which transaction spent a given output.
The index is written to a LevelDB database and, for each input of each transaction in a block, records the outpoint that is spent and the hash of the spending transaction.
Definition at line 36 of file txospenderindex.h.