Skip to content

Migrate from deprecated signer module to bitcoin::psbt in ldk-node #654

@moisesPompilio

Description

@moisesPompilio

The CI is currently failing due to the following deprecation warning:

Note that the signer module has been deprecated and is planned to be removed in a future release.

This happens because bdk-wallet has changed its signing logic. The old signer module was deprecated in BDK Wallet v2.2.0, and the new signing implementation now lives in the bitcoin::psbt module, primarily through Psbt::sign.

ldk-node needs to be updated to use the new PSBT-based signing logic to remain compatible with the latest bdk-wallet versions.

Log error:

error: use of deprecated enum `bdk_wallet::signer::SignerError`: PSBT signing was moved to `bitcoin::psbt` module
  --> src/error.rs:12:25
   |
12 | use bdk_wallet::signer::SignerError as BdkSignerError;
   |                         ^^^^^^^^^^^
   |
   = note: `-D deprecated` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(deprecated)]`

error: use of deprecated enum `bdk_wallet::signer::SignerError`: PSBT signing was moved to `bitcoin::psbt` module
   --> src/error.rs:202:11
    |
202 | impl From<BdkSignerError> for Error {
    |           ^^^^^^^^^^^^^^

error: use of deprecated enum `bdk_wallet::signer::SignerError`: PSBT signing was moved to `bitcoin::psbt` module
   --> src/error.rs:203:13
    |
203 |     fn from(_: BdkSignerError) -> Self {
    |                ^^^^^^^^^^^^^^

error: use of deprecated struct `bdk_wallet::SignOptions`: PSBT signing was moved to `bitcoin::psbt` module
  --> src/wallet/mod.rs:37:58
   |
37 | use bdk_wallet::{Balance, KeychainKind, PersistedWallet, SignOptions, Update};
   |                                                          ^^^^^^^^^^^

error: use of deprecated struct `bdk_wallet::SignOptions`: PSBT signing was moved to `bitcoin::psbt` module
   --> src/wallet/mod.rs:261:39
    |
261 |         match locked_wallet.sign(&mut psbt, SignOptions::default()) {
    |                                             ^^^^^^^^^^^

error: use of deprecated struct `bdk_wallet::SignOptions`: PSBT signing was moved to `bitcoin::psbt` module
   --> src/wallet/mod.rs:512:40
    |
512 |             match locked_wallet.sign(&mut psbt, SignOptions::default()) {
    |                                                 ^^^^^^^^^^^

error: use of deprecated struct `bdk_wallet::SignOptions`: PSBT signing was moved to `bitcoin::psbt` module
   --> src/wallet/mod.rs:754:26
    |
754 |         let mut sign_options = SignOptions::default();
    |                                ^^^^^^^^^^^

error: use of deprecated field `bdk_wallet::SignOptions::trust_witness_utxo`: PSBT signing was moved to `bitcoin::psbt` module
   --> src/wallet/mod.rs:755:3
    |
755 |         sign_options.trust_witness_utxo = true;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: could not compile `ldk-node` (lib) due to 8 previous errors

Caused by:
  process didn't exit successfully: `/home/runner/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/rustc --crate-name ldk_node --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --crate-type staticlib --crate-type cdylib --emit=dep-info,link -C panic=abort -C embed-bitcode=no -C debuginfo=2 --forbid=unexpected_cfgs --check-cfg 'cfg(vss_test)' --check-cfg 'cfg(ldk_bench)' --check-cfg 'cfg(tokio_unstable)' --check-cfg 'cfg(cln_test)' --check-cfg 'cfg(lnd_test)' --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "uniffi"))' -C metadata=9a3e04f1330d5d6c --out-dir /home/runner/work/ldk-node/ldk-node/target/debug/deps -C incremental=/home/runner/work/ldk-node/ldk-node/target/debug/incremental -L dependency=/home/runner/work/ldk-node/ldk-node/target/debug/deps --extern base64=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbase64-5caffd13cc270220.rlib --extern bdk_chain=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbdk_chain-ced78dc8dcaf9c7b.rlib --extern bdk_electrum=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbdk_electrum-8ba1df9c12043632.rlib --extern bdk_esplora=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbdk_esplora-7fe828c72754d10c.rlib --extern bdk_wallet=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbdk_wallet-60062c70db0c103e.rlib --extern bip21=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbip21-2e46f9649bcfb509.rlib --extern bip39=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbip39-1dd7ddcab34b43c2.rlib --extern bitcoin=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libbitcoin-e8e956b81bdd42ae.rlib --extern chrono=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libchrono-7049a6202e625563.rlib --extern electrum_client=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libelectrum_client-1488a5c3537113a8.rlib --extern esplora_client_0_11=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libesplora_client-c91057b0d6ba1e71.rlib --extern esplora_client=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libesplora_client-cb7ea7b2e4a8de6b.rlib --extern libc=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblibc-0bf03baf2a6c98f1.rlib --extern lightning=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning-13a820752f0e19ed.rlib --extern lightning_background_processor=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_background_processor-8111058b37090975.rlib --extern lightning_block_sync=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_block_sync-cfd0247b0da8beca.rlib --extern lightning_invoice=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_invoice-acdae0a32f4f3163.rlib --extern lightning_liquidity=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_liquidity-7ef785673dec7e49.rlib --extern lightning_net_tokio=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_net_tokio-c636afd1b78c6f09.rlib --extern lightning_persister=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_persister-084fac9b98d79f68.rlib --extern lightning_rapid_gossip_sync=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_rapid_gossip_sync-ec1950969dee2caa.rlib --extern lightning_transaction_sync=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_transaction_sync-ba606b1fb78d7002.rlib --extern lightning_types=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblightning_types-1ee090294c4cf35e.rlib --extern log=/home/runner/work/ldk-node/ldk-node/target/debug/deps/liblog-cc0b0ba69e744ca3.rlib --extern prost=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libprost-6e4f9bc13506e97c.rlib --extern rand=/home/runner/work/ldk-node/ldk-node/target/debug/deps/librand-4057ee11ee7285fc.rlib --extern reqwest=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libreqwest-fc0cdb1f942a8990.rlib --extern rusqlite=/home/runner/work/ldk-node/ldk-node/target/debug/deps/librusqlite-49e2c3f0057837dc.rlib --extern rustls=/home/runner/work/ldk-node/ldk-node/target/debug/deps/librustls-41246c58daea5c98.rlib --extern serde=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libserde-41c579d952ce5d7d.rlib --extern serde_json=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libserde_json-8e120c8c90f58a02.rlib --extern tokio=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libtokio-4d8aa918c20de0a1.rlib --extern vss_client=/home/runner/work/ldk-node/ldk-node/target/debug/deps/libvss_client-d3449467f9d4b674.rlib -D warnings -L native=/home/runner/work/ldk-node/ldk-node/target/debug/build/secp256k1-sys-952a039894dd772b/out -L native=/home/runner/work/ldk-node/ldk-node/target/debug/build/aws-lc-sys-5242559444f3a2f1/out -L native=/home/runner/work/ldk-node/ldk-node/target/debug/build/ring-74737f820d1a1b6f/out -L native=/home/runner/work/ldk-node/ldk-node/target/debug/build/libsqlite3-sys-64cd62f03a32547e/out` (exit status: 1)
Error: Process completed with exit code 101.
0s

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions