pub struct UtxoSnapshotGenerator { /* private fields */ }
Expand description
Responsible for dumping the UTXO set snapshot compatible with Bitcoin Core.
The format of generated snapshot is compatible with Bitcoin Core 28.0.
Implementations§
source§impl UtxoSnapshotGenerator
impl UtxoSnapshotGenerator
sourcepub fn new(
output_filepath: PathBuf,
output_file: File,
network: Network,
) -> Self
pub fn new( output_filepath: PathBuf, output_file: File, network: Network, ) -> Self
Constructs a new instance of UtxoSnapshotGenerator
.
sourcepub fn write_utxo_entry(
&mut self,
txid: Txid,
vout: u32,
coin: Coin,
) -> Result<()>
pub fn write_utxo_entry( &mut self, txid: Txid, vout: u32, coin: Coin, ) -> Result<()>
Writes a single entry of UTXO.
sourcepub fn write_metadata(
&mut self,
bitcoin_block_hash: BlockHash,
coins_count: u64,
) -> Result<()>
pub fn write_metadata( &mut self, bitcoin_block_hash: BlockHash, coins_count: u64, ) -> Result<()>
Writes the metadata of snapshot.
sourcepub fn generate_snapshot_in_mem(
&mut self,
bitcoin_block_hash: BlockHash,
utxos_count: u64,
utxos: impl IntoIterator<Item = Utxo>,
) -> Result<()>
pub fn generate_snapshot_in_mem( &mut self, bitcoin_block_hash: BlockHash, utxos_count: u64, utxos: impl IntoIterator<Item = Utxo>, ) -> Result<()>
Write the UTXO snapshot at the specified block to a file.
NOTE: Do not use it in production.
sourcepub fn write_coins(&mut self, txid: Txid, coins: Vec<OutputEntry>) -> Result<()>
pub fn write_coins(&mut self, txid: Txid, coins: Vec<OutputEntry>) -> Result<()>
Writes UTXO entries for a given transaction.
Auto Trait Implementations§
impl Freeze for UtxoSnapshotGenerator
impl RefUnwindSafe for UtxoSnapshotGenerator
impl Send for UtxoSnapshotGenerator
impl Sync for UtxoSnapshotGenerator
impl Unpin for UtxoSnapshotGenerator
impl UnwindSafe for UtxoSnapshotGenerator
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read more§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.