|
| | TxIndex (std::unique_ptr< interfaces::Chain > chain, size_t n_cache_size, bool f_memory=false, bool f_wipe=false) |
| | Constructs the index, which becomes available to be queried.
|
| virtual | ~TxIndex () override |
| bool | FindTx (const Txid &tx_hash, uint256 &block_hash, CTransactionRef &tx) const |
| | Look up a transaction by hash.
|
| | 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.
|
| virtual interfaces::Chain::NotifyOptions | CustomOptions () |
| | Return custom notification options for index.
|
| 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.
|
|
| bool | CustomAppend (const interfaces::BlockInfo &block) override |
| | Write update index entries for a newly connected block.
|
| 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.
|
| virtual bool | CustomRemove (const interfaces::BlockInfo &block) |
| | Rewind index by one block during a chain reorg.
|
| 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.
|
TxIndex is used to look up transactions included in the blockchain by hash.
The index is written to a LevelDB database and records the filesystem location of each transaction by transaction hash.
Definition at line 26 of file txindex.h.