Skip to content

Commit 4b4b898

Browse files
committed
f 1.63.0 fixes
1 parent 114b004 commit 4b4b898

File tree

4 files changed

+20
-12
lines changed

4 files changed

+20
-12
lines changed

ext-functional-test-demo/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ edition = "2021"
77
test-broken = []
88

99
[dependencies]
10-
lightning = { path = "../lightning", features = ["_externalize_tests"] }
10+
lightning = { path = "../lightning", features = ["_externalize_tests"] }

lightning/Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ rustdoc-args = ["--cfg", "docsrs"]
1717
[features]
1818
# Internal test utilities exposed to other repo crates
1919
_test_utils = ["regex", "bitcoin/bitcoinconsensus", "lightning-types/_test_utils"]
20-
_externalize_tests = ["inventory", "_test_utils"]
20+
_externalize_tests = ["inventory", "_test_utils", "tokio"]
2121
# Allow signing of local transactions that may have been revoked or will be revoked, for functional testing (e.g. justice tx handling).
2222
# This is unsafe to use in production because it may result in the counterparty publishing taking our funds.
2323
unsafe_revoked_tx_signing = []
@@ -48,6 +48,7 @@ backtrace = { version = "0.3", optional = true }
4848

4949
libm = { version = "0.2", default-features = false }
5050
inventory = { version = "0.3", optional = true }
51+
tokio = { version = "1.35", features = [ "macros", "rt" ], optional = true }
5152

5253
[dev-dependencies]
5354
regex = "1.5.6"

lightning/src/events/bump_transaction.rs

+10-10
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ use crate::sign::{
3030
};
3131
use crate::sign::ecdsa::EcdsaChannelSigner;
3232
use crate::sync::Mutex;
33-
use crate::util::async_poll::{AsyncResult, MaybeSync};
33+
use crate::util::async_poll::{AsyncResult, MaybeSync, MaybeSend};
3434
use crate::util::logger::Logger;
3535

3636
use 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>
381381
where
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>
394394
where
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>
486486
where
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],

lightning/src/util/async_poll.rs

+7
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,10 @@ pub use core::marker::Sync as MaybeSync;
110110
pub trait MaybeSync {}
111111
#[cfg(not(feature = "std"))]
112112
impl<T> MaybeSync for T where T: ?Sized {}
113+
114+
#[cfg(feature = "std")]
115+
pub use core::marker::Send as MaybeSend;
116+
#[cfg(not(feature = "std"))]
117+
pub trait MaybeSend {}
118+
#[cfg(not(feature = "std"))]
119+
impl<T> MaybeSend for T where T: ?Sized {}

0 commit comments

Comments
 (0)