tables,
transactions: wtx
.open_table(WRITE_TRANSACTION_STARTING_BLOCK_COUNT_TO_TIMESTAMP)?
.range(0..)?
.flat_map(|result| {
result.map(
|(starting_block_count, starting_timestamp)| TransactionInfo {
starting_block_count: starting_block_count.value(),
starting_timestamp: starting_timestamp.value(),
},
)
})
.collect(),
tree_height: stats.tree_height(),
utxos_indexed: wtx.open_table(OUTPOINT_TO_SAT_RANGES)?.len()?,
}
};
Ok(info)
}
pub(crate) fn update(&self) -> Result {
let mut updater = Updater::new(self)?;
loop {
match updater.update_index() {
Ok(ok) => return Ok(ok),
Err(err) => {
log::info!("{}", err.to_string());
match err.downcast_ref() {
Some(&ReorgError::Recoverable { height, depth }) => {
Reorg::handle_reorg(self, height, depth)?;
updater = Updater::new(self)?;