fix(chain)!: rm weird From
impl
And signature of `example_cli::KeychainChangeSet` is changed.
This commit is contained in:
parent
d43ae0231f
commit
1ff806c67f
@ -6,7 +6,7 @@ use alloc::vec::Vec;
|
|||||||
use bitcoin::{OutPoint, Transaction, TxOut};
|
use bitcoin::{OutPoint, Transaction, TxOut};
|
||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
keychain, local_chain,
|
keychain,
|
||||||
tx_graph::{self, TxGraph},
|
tx_graph::{self, TxGraph},
|
||||||
Anchor, Append,
|
Anchor, Append,
|
||||||
};
|
};
|
||||||
@ -225,12 +225,6 @@ impl<A, K> From<keychain::ChangeSet<K>> for ChangeSet<A, keychain::ChangeSet<K>>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<A, IA> From<ChangeSet<A, IA>> for (local_chain::ChangeSet, ChangeSet<A, IA>) {
|
|
||||||
fn from(indexed_changeset: ChangeSet<A, IA>) -> Self {
|
|
||||||
(local_chain::ChangeSet::default(), indexed_changeset)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Utilities for indexing transaction data.
|
/// Utilities for indexing transaction data.
|
||||||
///
|
///
|
||||||
/// Types which implement this trait can be used to construct an [`IndexedTxGraph`].
|
/// Types which implement this trait can be used to construct an [`IndexedTxGraph`].
|
||||||
|
@ -12,6 +12,7 @@ use bdk_chain::{
|
|||||||
},
|
},
|
||||||
indexed_tx_graph::{self, IndexedTxGraph},
|
indexed_tx_graph::{self, IndexedTxGraph},
|
||||||
keychain::{self, KeychainTxOutIndex},
|
keychain::{self, KeychainTxOutIndex},
|
||||||
|
local_chain,
|
||||||
miniscript::{
|
miniscript::{
|
||||||
descriptor::{DescriptorSecretKey, KeyMap},
|
descriptor::{DescriptorSecretKey, KeyMap},
|
||||||
Descriptor, DescriptorPublicKey,
|
Descriptor, DescriptorPublicKey,
|
||||||
@ -24,7 +25,10 @@ pub use clap;
|
|||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
|
|
||||||
pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;
|
pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;
|
||||||
pub type KeychainChangeSet<A> = indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<Keychain>>;
|
pub type KeychainChangeSet<A> = (
|
||||||
|
local_chain::ChangeSet,
|
||||||
|
indexed_tx_graph::ChangeSet<A, keychain::ChangeSet<Keychain>>,
|
||||||
|
);
|
||||||
pub type Database<'m, C> = Persist<Store<'m, C>, C>;
|
pub type Database<'m, C> = Persist<Store<'m, C>, C>;
|
||||||
|
|
||||||
#[derive(Parser)]
|
#[derive(Parser)]
|
||||||
@ -200,7 +204,10 @@ where
|
|||||||
|
|
||||||
let ((spk_i, spk), index_changeset) = spk_chooser(index, &Keychain::External);
|
let ((spk_i, spk), index_changeset) = spk_chooser(index, &Keychain::External);
|
||||||
let db = &mut *db.lock().unwrap();
|
let db = &mut *db.lock().unwrap();
|
||||||
db.stage(C::from(KeychainChangeSet::from(index_changeset)));
|
db.stage(C::from((
|
||||||
|
local_chain::ChangeSet::default(),
|
||||||
|
indexed_tx_graph::ChangeSet::from(index_changeset),
|
||||||
|
)));
|
||||||
db.commit()?;
|
db.commit()?;
|
||||||
let addr = Address::from_script(spk, network).context("failed to derive address")?;
|
let addr = Address::from_script(spk, network).context("failed to derive address")?;
|
||||||
println!("[address @ {}] {}", spk_i, addr);
|
println!("[address @ {}] {}", spk_i, addr);
|
||||||
@ -353,7 +360,10 @@ where
|
|||||||
// If we're unable to persist this, then we don't want to broadcast.
|
// If we're unable to persist this, then we don't want to broadcast.
|
||||||
{
|
{
|
||||||
let db = &mut *db.lock().unwrap();
|
let db = &mut *db.lock().unwrap();
|
||||||
db.stage(C::from(KeychainChangeSet::from(index_changeset)));
|
db.stage(C::from((
|
||||||
|
local_chain::ChangeSet::default(),
|
||||||
|
indexed_tx_graph::ChangeSet::from(index_changeset),
|
||||||
|
)));
|
||||||
db.commit()?;
|
db.commit()?;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,7 +386,10 @@ where
|
|||||||
// We know the tx is at least unconfirmed now. Note if persisting here fails,
|
// We know the tx is at least unconfirmed now. Note if persisting here fails,
|
||||||
// it's not a big deal since we can always find it again form
|
// it's not a big deal since we can always find it again form
|
||||||
// blockchain.
|
// blockchain.
|
||||||
db.lock().unwrap().stage(C::from(keychain_changeset));
|
db.lock().unwrap().stage(C::from((
|
||||||
|
local_chain::ChangeSet::default(),
|
||||||
|
keychain_changeset,
|
||||||
|
)));
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user