@@ -30,7 +30,7 @@ use crate::sign::{
3030} ;
3131use crate :: sign:: ecdsa:: EcdsaChannelSigner ;
3232use crate :: sync:: Mutex ;
33- use crate :: util:: async_poll:: { AsyncResult , MaybeSync } ;
33+ use crate :: util:: async_poll:: { AsyncResult , MaybeSync , MaybeSend } ;
3434use crate :: util:: logger:: Logger ;
3535
3636use bitcoin:: { OutPoint , Psbt , PubkeyHash , Sequence , ScriptBuf , Transaction , TxIn , TxOut , Witness , WPubkeyHash } ;
@@ -377,10 +377,10 @@ pub trait WalletSource {
377377/// A wrapper over [`WalletSource`] that implements [`CoinSelection`] by preferring UTXOs that would
378378/// avoid conflicting double spends. If not enough UTXOs are available to do so, conflicting double
379379/// spends may happen.
380- pub struct Wallet < W : Deref , L : Deref >
380+ pub struct Wallet < W : Deref + MaybeSync + MaybeSend , L : Deref + MaybeSync + MaybeSend >
381381where
382- W :: Target : WalletSource ,
383- L :: Target : Logger
382+ W :: Target : WalletSource + MaybeSend ,
383+ L :: Target : Logger + MaybeSend
384384{
385385 source : W ,
386386 logger : L ,
@@ -390,10 +390,10 @@ where
390390 locked_utxos : Mutex < HashMap < OutPoint , ClaimId > > ,
391391}
392392
393- impl < W : Deref , L : Deref > Wallet < W , L >
393+ impl < W : Deref + MaybeSync + MaybeSend , L : Deref + MaybeSync + MaybeSend > Wallet < W , L >
394394where
395- W :: Target : WalletSource ,
396- L :: Target : Logger
395+ W :: Target : WalletSource + MaybeSend ,
396+ L :: Target : Logger + MaybeSend
397397{
398398 /// Returns a new instance backed by the given [`WalletSource`] that serves as an implementation
399399 /// of [`CoinSelectionSource`].
@@ -482,10 +482,10 @@ where
482482 }
483483}
484484
485- impl < W : Deref + MaybeSync , L : Deref + MaybeSync > CoinSelectionSource for Wallet < W , L >
485+ impl < W : Deref + MaybeSync + MaybeSend , L : Deref + MaybeSync + MaybeSend > CoinSelectionSource for Wallet < W , L >
486486where
487- W :: Target : WalletSource ,
488- L :: Target : Logger ,
487+ W :: Target : WalletSource + MaybeSend + MaybeSync ,
488+ L :: Target : Logger + MaybeSend + MaybeSync ,
489489{
490490 fn select_confirmed_utxos < ' a > (
491491 & ' a self , claim_id : ClaimId , must_spend : Vec < Input > , must_pay_to : & ' a [ TxOut ] ,
0 commit comments