@@ -30,7 +30,7 @@ use crate::sign::{
30
30
} ;
31
31
use crate :: sign:: ecdsa:: EcdsaChannelSigner ;
32
32
use crate :: sync:: Mutex ;
33
- use crate :: util:: async_poll:: { AsyncResult , MaybeSync } ;
33
+ use crate :: util:: async_poll:: { AsyncResult , MaybeSync , MaybeSend } ;
34
34
use crate :: util:: logger:: Logger ;
35
35
36
36
use bitcoin:: { OutPoint , Psbt , PubkeyHash , Sequence , ScriptBuf , Transaction , TxIn , TxOut , Witness , WPubkeyHash } ;
@@ -377,10 +377,10 @@ pub trait WalletSource {
377
377
/// A wrapper over [`WalletSource`] that implements [`CoinSelection`] by preferring UTXOs that would
378
378
/// avoid conflicting double spends. If not enough UTXOs are available to do so, conflicting double
379
379
/// spends may happen.
380
- pub struct Wallet < W : Deref , L : Deref >
380
+ pub struct Wallet < W : Deref + MaybeSync + MaybeSend , L : Deref + MaybeSync + MaybeSend >
381
381
where
382
- W :: Target : WalletSource ,
383
- L :: Target : Logger
382
+ W :: Target : WalletSource + MaybeSend ,
383
+ L :: Target : Logger + MaybeSend
384
384
{
385
385
source : W ,
386
386
logger : L ,
@@ -390,10 +390,10 @@ where
390
390
locked_utxos : Mutex < HashMap < OutPoint , ClaimId > > ,
391
391
}
392
392
393
- impl < W : Deref , L : Deref > Wallet < W , L >
393
+ impl < W : Deref + MaybeSync + MaybeSend , L : Deref + MaybeSync + MaybeSend > Wallet < W , L >
394
394
where
395
- W :: Target : WalletSource ,
396
- L :: Target : Logger
395
+ W :: Target : WalletSource + MaybeSend ,
396
+ L :: Target : Logger + MaybeSend
397
397
{
398
398
/// Returns a new instance backed by the given [`WalletSource`] that serves as an implementation
399
399
/// of [`CoinSelectionSource`].
@@ -482,10 +482,10 @@ where
482
482
}
483
483
}
484
484
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 >
486
486
where
487
- W :: Target : WalletSource ,
488
- L :: Target : Logger ,
487
+ W :: Target : WalletSource + MaybeSend + MaybeSync ,
488
+ L :: Target : Logger + MaybeSend + MaybeSync ,
489
489
{
490
490
fn select_confirmed_utxos < ' a > (
491
491
& ' a self , claim_id : ClaimId , must_spend : Vec < Input > , must_pay_to : & ' a [ TxOut ] ,
0 commit comments