@@ -12,6 +12,7 @@ use bdk_chain::{
12
12
} ,
13
13
indexed_tx_graph:: { self , IndexedTxGraph } ,
14
14
keychain:: { self , KeychainTxOutIndex } ,
15
+ local_chain,
15
16
miniscript:: {
16
17
descriptor:: { DescriptorSecretKey , KeyMap } ,
17
18
Descriptor , DescriptorPublicKey ,
@@ -24,7 +25,10 @@ pub use clap;
24
25
use clap:: { Parser , Subcommand } ;
25
26
26
27
pub type KeychainTxGraph < A > = IndexedTxGraph < A , KeychainTxOutIndex < Keychain > > ;
27
- pub type KeychainChangeSet < A > = indexed_tx_graph:: ChangeSet < A , keychain:: ChangeSet < Keychain > > ;
28
+ pub type KeychainChangeSet < A > = (
29
+ local_chain:: ChangeSet ,
30
+ indexed_tx_graph:: ChangeSet < A , keychain:: ChangeSet < Keychain > > ,
31
+ ) ;
28
32
pub type Database < ' m , C > = Persist < Store < ' m , C > , C > ;
29
33
30
34
#[ derive( Parser ) ]
@@ -200,7 +204,10 @@ where
200
204
201
205
let ( ( spk_i, spk) , index_changeset) = spk_chooser ( index, & Keychain :: External ) ;
202
206
let db = & mut * db. lock ( ) . unwrap ( ) ;
203
- db. stage ( C :: from ( KeychainChangeSet :: from ( index_changeset) ) ) ;
207
+ db. stage ( C :: from ( (
208
+ local_chain:: ChangeSet :: default ( ) ,
209
+ indexed_tx_graph:: ChangeSet :: from ( index_changeset) ,
210
+ ) ) ) ;
204
211
db. commit ( ) ?;
205
212
let addr = Address :: from_script ( spk, network) . context ( "failed to derive address" ) ?;
206
213
println ! ( "[address @ {}] {}" , spk_i, addr) ;
@@ -353,7 +360,10 @@ where
353
360
// If we're unable to persist this, then we don't want to broadcast.
354
361
{
355
362
let db = & mut * db. lock ( ) . unwrap ( ) ;
356
- db. stage ( C :: from ( KeychainChangeSet :: from ( index_changeset) ) ) ;
363
+ db. stage ( C :: from ( (
364
+ local_chain:: ChangeSet :: default ( ) ,
365
+ indexed_tx_graph:: ChangeSet :: from ( index_changeset) ,
366
+ ) ) ) ;
357
367
db. commit ( ) ?;
358
368
}
359
369
@@ -376,7 +386,10 @@ where
376
386
// We know the tx is at least unconfirmed now. Note if persisting here fails,
377
387
// it's not a big deal since we can always find it again form
378
388
// blockchain.
379
- db. lock ( ) . unwrap ( ) . stage ( C :: from ( keychain_changeset) ) ;
389
+ db. lock ( ) . unwrap ( ) . stage ( C :: from ( (
390
+ local_chain:: ChangeSet :: default ( ) ,
391
+ keychain_changeset,
392
+ ) ) ) ;
380
393
Ok ( ( ) )
381
394
}
382
395
Err ( e) => {
0 commit comments