From f7c0f4fa6c2c67b3989d019cd3fb3ff793322e8f Mon Sep 17 00:00:00 2001 From: EthanYuan Date: Wed, 11 Jun 2025 12:27:14 +0800 Subject: [PATCH 1/6] update ldk ln crate version to v0.1.4. --- Cargo.lock | 146 +++++++++++++++++++++++++++-------------- Cargo.toml | 12 ++-- mutiny-core/Cargo.toml | 15 ++--- mutiny-wasm/Cargo.toml | 4 +- 4 files changed, 113 insertions(+), 64 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b6a15be3d..9540bff22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -125,7 +125,7 @@ checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -219,7 +219,7 @@ checksum = "3cc9b320b2042e9729739eed66c6fc47b208554c8c6e393785cd56d257045e9f" dependencies = [ "async-trait", "bdk_core", - "esplora-client", + "esplora-client 0.9.0", "futures", "miniscript", ] @@ -238,12 +238,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "bech32" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445" - [[package]] name = "bech32" version = "0.11.0" @@ -278,7 +272,7 @@ checksum = "ea507acc1cd80fc084ace38544bbcf7ced7c2aa65b653b102de0ce718df668f6" dependencies = [ "base58ck", "base64 0.21.7", - "bech32 0.11.0", + "bech32", "bitcoin-internals", "bitcoin-io", "bitcoin-units", @@ -563,6 +557,12 @@ dependencies = [ "subtle", ] +[[package]] +name = "dnssec-prover" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48f9e1163868b86c37d43c586af9d917e699c87f1266ebfdf356ad1003458118" + [[package]] name = "downcast" version = "0.11.0" @@ -626,6 +626,20 @@ dependencies = [ "serde", ] +[[package]] +name = "esplora-client" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0da3c186d286e046253ccdc4bb71aa87ef872e4eff2045947c0c4fe3d2b2efc" +dependencies = [ + "bitcoin", + "hex-conservative 0.2.1", + "log", + "reqwest", + "serde", + "tokio", +] + [[package]] name = "event-listener" version = "4.0.3" @@ -754,7 +768,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -911,6 +925,12 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" + [[package]] name = "hashbrown" version = "0.14.3" @@ -1234,25 +1254,37 @@ version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +[[package]] +name = "libm" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9fbbcab51052fe104eb5e5d351cf728d30a5be1fe14d9be8a3b097481fb97de" + [[package]] name = "lightning" -version = "0.0.125" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +version = "0.1.4" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ - "bech32 0.9.1", + "bech32", "bitcoin", + "dnssec-prover", + "hashbrown 0.13.2", + "libm", "lightning-common", "lightning-invoice", "lightning-types", "musig2", + "possiblyrandom", ] [[package]] name = "lightning-background-processor" -version = "0.0.125" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +version = "0.1.0" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ "bitcoin", + "bitcoin-io", + "bitcoin_hashes 0.14.0", "lightning", "lightning-common", "lightning-rapid-gossip-sync", @@ -1261,17 +1293,17 @@ dependencies = [ [[package]] name = "lightning-common" version = "0.1.0" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ "web-time", ] [[package]] name = "lightning-invoice" -version = "0.32.0" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +version = "0.33.2" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ - "bech32 0.9.1", + "bech32", "bitcoin", "lightning-common", "lightning-types", @@ -1280,9 +1312,9 @@ dependencies = [ [[package]] name = "lightning-liquidity" -version = "0.1.0-alpha.6" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "175cff5d30b8d3f94ae9772b59f9ca576b1927a6ab60dd773e8c4e0593cd4e95" +checksum = "bfbed71e656557185f25e006c1bcd8773c5c83387c727166666d3b0bce0f0ca5" dependencies = [ "bitcoin", "chrono", @@ -1293,11 +1325,21 @@ dependencies = [ "serde_json", ] +[[package]] +name = "lightning-macros" +version = "0.1.0" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.102", +] + [[package]] name = "lightning-net-tokio" -version = "0.0.125" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af2847a19f892f32b9ab5075af25c70370b4cc5842b4f5b53c57092e52a49498" +checksum = "cb6a6c93b1e592f1d46bb24233cac4a33b4015c99488ee229927a81d16226e45" dependencies = [ "bitcoin", "lightning", @@ -1306,35 +1348,35 @@ dependencies = [ [[package]] name = "lightning-rapid-gossip-sync" -version = "0.0.125" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +version = "0.1.0" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ "bitcoin", + "bitcoin-io", + "bitcoin_hashes 0.14.0", "lightning", "lightning-common", ] [[package]] name = "lightning-transaction-sync" -version = "0.0.125" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +version = "0.1.0" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ - "bdk-macros", "bitcoin", - "esplora-client", + "esplora-client 0.11.0", "futures", "lightning", "lightning-common", + "lightning-macros", ] [[package]] name = "lightning-types" -version = "0.1.0" -source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.0.125#90228d9f849c782ca1f42dbdf3a48538d55536c2" +version = "0.2.0" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" dependencies = [ - "bech32 0.9.1", "bitcoin", - "hex-conservative 0.2.1", ] [[package]] @@ -1387,7 +1429,7 @@ version = "12.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "add2d4aee30e4291ce5cffa3a322e441ff4d4bc57b38c8d9bf0e94faa50ab626" dependencies = [ - "bech32 0.11.0", + "bech32", "bitcoin", "serde", ] @@ -1487,7 +1529,7 @@ dependencies = [ "cfg-if", "chrono", "env_logger", - "esplora-client", + "esplora-client 0.9.0", "futures", "futures-util", "getrandom", @@ -1643,7 +1685,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -1750,7 +1792,7 @@ checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -1783,6 +1825,14 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "possiblyrandom" +version = "0.2.0" +source = "git+https://github.com/utxostack/rust-lightning.git?tag=wasm-v0.1.4#12730cca07ec3988233ecf1a72ede2c4398ae9aa" +dependencies = [ + "getrandom", +] + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1821,9 +1871,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -2167,7 +2217,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -2274,9 +2324,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.48" +version = "2.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "f6397daf94fa90f058bd0fd88429dd9e5738999cca8d701813c80723add80462" dependencies = [ "proc-macro2", "quote", @@ -2355,7 +2405,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -2400,7 +2450,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -2708,7 +2758,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", "wasm-bindgen-shared", ] @@ -2742,7 +2792,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -2775,7 +2825,7 @@ checksum = "70072aebfe5da66d2716002c729a14e4aec4da0e23cc2ea66323dac541c93928" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] [[package]] @@ -2981,5 +3031,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.48", + "syn 2.0.102", ] diff --git a/Cargo.toml b/Cargo.toml index 22a745077..3e55898f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,9 +15,9 @@ opt-level = "z" opt-level = "z" [patch.crates-io] -lightning-background-processor = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.0.125" } -lightning = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.0.125" } -lightning-types = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.0.125" } -lightning-invoice = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.0.125" } -lightning-rapid-gossip-sync = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.0.125" } -lightning-transaction-sync = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.0.125" } +lightning-background-processor = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.1.4" } +lightning = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.1.4" } +lightning-types = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.1.4" } +lightning-invoice = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.1.4" } +lightning-rapid-gossip-sync = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.1.4" } +lightning-transaction-sync = { git = "https://github.com/utxostack/rust-lightning.git", tag = "wasm-v0.1.4" } diff --git a/mutiny-core/Cargo.toml b/mutiny-core/Cargo.toml index d8b942a55..8539805ce 100644 --- a/mutiny-core/Cargo.toml +++ b/mutiny-core/Cargo.toml @@ -38,18 +38,17 @@ uuid = { version = "1.1.2", features = ["v4"] } esplora-client = { version = "0.9", default-features = false, features = [ "async", ] } -lightning = { version = "0.0.125", default-features = false, features = [ - "max_level_trace", +lightning = { version = "0.1.4", default-features = false, features = [ "grind_signatures", "std", ] } -lightning-invoice = { version = "0.32.0", features = ["serde"] } -lightning-rapid-gossip-sync = { version = "0.0.125" } -lightning-background-processor = { version = "0.0.125", features = ["futures"] } -lightning-transaction-sync = { version = "0.0.125", default-features = false, features = [ +lightning-invoice = { version = "0.33.2", features = ["serde"] } +lightning-rapid-gossip-sync = { version = "0.1.0" } +lightning-background-processor = { version = "0.1.0", features = ["futures"] } +lightning-transaction-sync = { version = "0.1.0", default-features = false, features = [ "esplora-async-https", ] } -lightning-liquidity = "=0.1.0-alpha.6" +lightning-liquidity = "=0.1.0" chrono = "0.4.22" futures-util = { version = "0.3", default-features = false } reqwest = { version = "0.11", default-features = false, features = [ @@ -98,7 +97,7 @@ js-sys = "0.3.65" [target.'cfg(not(target_arch = "wasm32"))'.dependencies] tokio = { version = "1", features = ["rt", "macros"] } tokio-tungstenite = { version = "0.19.0", features = ["native-tls"] } -lightning-net-tokio = "0.0.125" +lightning-net-tokio = "0.1.0" [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] tokio = { version = "1", features = ["full"] } diff --git a/mutiny-wasm/Cargo.toml b/mutiny-wasm/Cargo.toml index b301aabb9..fbcaaedbe 100644 --- a/mutiny-wasm/Cargo.toml +++ b/mutiny-wasm/Cargo.toml @@ -32,10 +32,10 @@ bitcoin = { version = "0.32.2", default-features = false, features = [ "secp-recovery", "rand", ] } -lightning = { version = "0.0.125", default-features = false, features = [ +lightning = { version = "0.1.4", default-features = false, features = [ "std", ] } -lightning-invoice = { version = "0.32.0" } +lightning-invoice = { version = "0.33.2" } thiserror = "1.0" instant = { version = "0.1", features = ["wasm-bindgen"] } log = { version = "0.4.17", features = ["std"] } From 359e7d1907963f7b9a9c81c5702b1fb97ab853ea Mon Sep 17 00:00:00 2001 From: EthanYuan Date: Thu, 19 Jun 2025 15:11:26 +0800 Subject: [PATCH 2/6] remove get_inbound_payment_key_material and KeyMaterial --- mutiny-core/src/keymanager.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/mutiny-core/src/keymanager.rs b/mutiny-core/src/keymanager.rs index e544fda5a..01fc5da19 100644 --- a/mutiny-core/src/keymanager.rs +++ b/mutiny-core/src/keymanager.rs @@ -18,7 +18,7 @@ use lightning::ln::script::ShutdownScript; use lightning::offers::invoice::UnsignedBolt12Invoice; use lightning::offers::invoice_request::UnsignedInvoiceRequest; use lightning::sign::{ - EntropySource, InMemorySigner, KeyMaterial, NodeSigner, OutputSpender, + EntropySource, InMemorySigner, NodeSigner, OutputSpender, PhantomKeysManager as LdkPhantomKeysManager, Recipient, SignerProvider, SpendableOutputDescriptor, }; @@ -115,10 +115,6 @@ impl EntropySource for PhantomKeysManager { } impl NodeSigner for PhantomKeysManager { - fn get_inbound_payment_key_material(&self) -> KeyMaterial { - self.inner.get_inbound_payment_key_material() - } - fn get_node_id(&self, recipient: Recipient) -> Result { self.inner.get_node_id(recipient) } From 13515184b50ff81886ed6238ed5f53b57309a967 Mon Sep 17 00:00:00 2001 From: EthanYuan Date: Thu, 19 Jun 2025 15:25:16 +0800 Subject: [PATCH 3/6] fix: Update PaymentHash import path for LDK v0.1.x --- mutiny-core/src/ldkstorage.rs | 2 +- mutiny-core/src/lib.rs | 2 +- mutiny-core/src/lsp/lsps.rs | 2 +- mutiny-core/src/lsp/mod.rs | 2 +- mutiny-core/src/lsp/voltage.rs | 2 +- mutiny-core/src/node.rs | 4 ++-- mutiny-core/src/nodemanager.rs | 2 +- mutiny-core/src/storage.rs | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mutiny-core/src/ldkstorage.rs b/mutiny-core/src/ldkstorage.rs index 6856bca19..808a63893 100644 --- a/mutiny-core/src/ldkstorage.rs +++ b/mutiny-core/src/ldkstorage.rs @@ -797,7 +797,7 @@ mod test { use esplora_client::Builder; use lightning::routing::scoring::ProbabilisticScoringDecayParameters; - use lightning::{ln::PaymentHash, routing::router::DefaultRouter}; + use lightning::{routing::router::DefaultRouter, types::payment::PaymentHash}; use lightning_transaction_sync::EsploraSyncClient; use std::str::FromStr; use std::sync::atomic::AtomicBool; diff --git a/mutiny-core/src/lib.rs b/mutiny-core/src/lib.rs index 818c0d5a9..405ad096e 100644 --- a/mutiny-core/src/lib.rs +++ b/mutiny-core/src/lib.rs @@ -88,7 +88,7 @@ use hex_conservative::{DisplayHex, FromHex}; use itertools::Itertools; pub use lightning; use lightning::chain::BestBlock; -use lightning::ln::PaymentHash; +use lightning::types::payment::PaymentHash; use lightning::util::logger::Logger; use lightning::{log_debug, log_error, log_info, log_trace, log_warn}; pub use lightning_invoice; diff --git a/mutiny-core/src/lsp/lsps.rs b/mutiny-core/src/lsp/lsps.rs index 152fcc12e..39285a191 100644 --- a/mutiny-core/src/lsp/lsps.rs +++ b/mutiny-core/src/lsp/lsps.rs @@ -6,9 +6,9 @@ use bitcoin::secp256k1::{PublicKey, Secp256k1}; use bitcoin::Network; use futures::channel::oneshot; use lightning::ln::channelmanager::MIN_FINAL_CLTV_EXPIRY_DELTA; -use lightning::ln::PaymentHash; use lightning::routing::gossip::RoutingFees; use lightning::routing::router::{RouteHint, RouteHintHop}; +use lightning::types::payment::PaymentHash; use lightning::util::logger::Logger; use lightning::{log_debug, log_error, log_info}; use lightning_invoice::{Bolt11Invoice, InvoiceBuilder}; diff --git a/mutiny-core/src/lsp/mod.rs b/mutiny-core/src/lsp/mod.rs index 334c27ece..cbc935198 100644 --- a/mutiny-core/src/lsp/mod.rs +++ b/mutiny-core/src/lsp/mod.rs @@ -11,7 +11,7 @@ use async_lock::RwLock; use async_trait::async_trait; use bitcoin::secp256k1::PublicKey; use bitcoin::Network; -use lightning::ln::PaymentHash; +use lightning::types::payment::PaymentHash; use lightning_invoice::Bolt11Invoice; use lsps::{LspsClient, LspsConfig}; use serde::{Deserialize, Serialize}; diff --git a/mutiny-core/src/lsp/voltage.rs b/mutiny-core/src/lsp/voltage.rs index edbd1c6a4..6c56315a7 100644 --- a/mutiny-core/src/lsp/voltage.rs +++ b/mutiny-core/src/lsp/voltage.rs @@ -5,8 +5,8 @@ use crate::lsp::{FeeRequest, InvoiceRequest, Lsp, LspConfig}; use crate::{error::MutinyError, utils}; use async_trait::async_trait; use bitcoin::secp256k1::PublicKey; -use lightning::ln::PaymentHash; use lightning::log_error; +use lightning::types::payment::PaymentHash; use lightning::util::logger::Logger; use lightning_invoice::Bolt11Invoice; use reqwest::Client; diff --git a/mutiny-core/src/node.rs b/mutiny-core/src/node.rs index 99d49cf75..25310779c 100644 --- a/mutiny-core/src/node.rs +++ b/mutiny-core/src/node.rs @@ -55,7 +55,6 @@ use lightning::{ ln::{ channelmanager::{PaymentId, PhantomRouteHints, Retry}, peer_handler::{IgnoringMessageHandler, MessageHandler as LdkMessageHandler}, - PaymentHash, PaymentPreimage, }, log_debug, log_error, log_info, log_trace, log_warn, routing::{ @@ -63,6 +62,7 @@ use lightning::{ gossip::NodeId, router::{DefaultRouter, PaymentParameters, RouteParameters}, }, + types::payment::{PaymentHash, PaymentPreimage}, util::{ config::{ChannelHandshakeConfig, ChannelHandshakeLimits, UserConfig}, logger::Logger, @@ -2973,7 +2973,7 @@ mod wasm_test { use crate::{HTLCStatus, PrivacyLevel}; use itertools::Itertools; use lightning::ln::channelmanager::PaymentId; - use lightning::ln::PaymentHash; + use lightning::types::payment::PaymentHash; use lightning_invoice::Bolt11InvoiceDescription; use std::sync::Arc; use wasm_bindgen_test::{wasm_bindgen_test as test, wasm_bindgen_test_configure}; diff --git a/mutiny-core/src/nodemanager.rs b/mutiny-core/src/nodemanager.rs index 4952dce80..48e445f27 100644 --- a/mutiny-core/src/nodemanager.rs +++ b/mutiny-core/src/nodemanager.rs @@ -2148,7 +2148,7 @@ mod tests { use bitcoin::{absolute, Network, Transaction, TxOut, Txid}; use bitcoin::{bip32::Xpriv, transaction::Version, Amount}; use hex_conservative::DisplayHex; - use lightning::ln::PaymentHash; + use lightning::types::payment::PaymentHash; use lightning_invoice::Bolt11Invoice; use std::collections::HashMap; use std::str::FromStr; diff --git a/mutiny-core/src/storage.rs b/mutiny-core/src/storage.rs index 6b3054f54..7466cf757 100644 --- a/mutiny-core/src/storage.rs +++ b/mutiny-core/src/storage.rs @@ -23,8 +23,8 @@ use bitcoin::hashes::Hash; use bitcoin::Txid; use futures_util::lock::Mutex; use hex_conservative::*; -use lightning::{ln::PaymentHash, util::logger::Logger}; use lightning::{log_debug, log_error, log_trace}; +use lightning::{types::payment::PaymentHash, util::logger::Logger}; use reqwest::Client; use serde::{Deserialize, Serialize}; use serde_json::Value; From 07cee30f38e6a24d831562de8092ea53e64298a6 Mon Sep 17 00:00:00 2001 From: EthanYuan Date: Thu, 19 Jun 2025 15:27:41 +0800 Subject: [PATCH 4/6] fix: Update PaymentSecret import path for LDK v0.1.x --- mutiny-core/src/node.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mutiny-core/src/node.rs b/mutiny-core/src/node.rs index 25310779c..174e9935f 100644 --- a/mutiny-core/src/node.rs +++ b/mutiny-core/src/node.rs @@ -44,7 +44,6 @@ use lightning::ln::channel_state::ChannelDetails; use lightning::ln::invoice_utils::{ create_invoice_from_channelmanager_and_duration_since_epoch, create_phantom_invoice, }; -use lightning::ln::PaymentSecret; use lightning::onion_message::messenger::OnionMessenger as LdkOnionMessenger; use lightning::routing::scoring::ProbabilisticScoringDecayParameters; use lightning::sign::{InMemorySigner, NodeSigner, Recipient}; @@ -62,7 +61,7 @@ use lightning::{ gossip::NodeId, router::{DefaultRouter, PaymentParameters, RouteParameters}, }, - types::payment::{PaymentHash, PaymentPreimage}, + types::payment::{PaymentHash, PaymentPreimage, PaymentSecret}, util::{ config::{ChannelHandshakeConfig, ChannelHandshakeLimits, UserConfig}, logger::Logger, From 8db3d09e4251db79733f3cafe5f6e8319ee83c9a Mon Sep 17 00:00:00 2001 From: EthanYuan Date: Thu, 19 Jun 2025 15:31:02 +0800 Subject: [PATCH 5/6] fix: Update InitFeatures and NodeFeatures import path for LDK v0. --- mutiny-core/src/messagehandler.rs | 2 +- mutiny-core/src/node.rs | 2 +- mutiny-core/src/peermanager.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mutiny-core/src/messagehandler.rs b/mutiny-core/src/messagehandler.rs index 81d06769e..d13ef1244 100644 --- a/mutiny-core/src/messagehandler.rs +++ b/mutiny-core/src/messagehandler.rs @@ -2,10 +2,10 @@ use std::sync::Arc; use bitcoin::secp256k1::PublicKey; use lightning::io::{Error, Read}; -use lightning::ln::features::{InitFeatures, NodeFeatures}; use lightning::ln::msgs::{DecodeError, LightningError}; use lightning::ln::peer_handler::CustomMessageHandler; use lightning::ln::wire::{CustomMessageReader, Type}; +use lightning::types::features::{InitFeatures, NodeFeatures}; use lightning::util::ser::{Writeable, Writer}; use serde::{Deserialize, Serialize}; diff --git a/mutiny-core/src/node.rs b/mutiny-core/src/node.rs index 174e9935f..cc09d1824 100644 --- a/mutiny-core/src/node.rs +++ b/mutiny-core/src/node.rs @@ -2648,8 +2648,8 @@ mod tests { use crate::test_utils::*; use bitcoin::secp256k1::PublicKey; use lightning::ln::channel_state::ChannelCounterparty; - use lightning::ln::features::InitFeatures; use lightning::ln::types::ChannelId; + use lightning::types::features::InitFeatures; use lightning_invoice::Bolt11InvoiceDescription; use std::str::FromStr; diff --git a/mutiny-core/src/peermanager.rs b/mutiny-core/src/peermanager.rs index d6b84a309..528574adf 100644 --- a/mutiny-core/src/peermanager.rs +++ b/mutiny-core/src/peermanager.rs @@ -15,13 +15,13 @@ use bitcoin::secp256k1::{PublicKey, Signing}; use lightning::blinded_path::message::{BlindedMessagePath, MessageContext}; use lightning::blinded_path::IntroductionNode; use lightning::events::{MessageSendEvent, MessageSendEventsProvider}; -use lightning::ln::features::{InitFeatures, NodeFeatures}; use lightning::ln::msgs; use lightning::ln::msgs::{LightningError, RoutingMessageHandler}; use lightning::ln::peer_handler::PeerManager as LdkPeerManager; use lightning::ln::peer_handler::{APeerManager, PeerHandleError}; use lightning::onion_message::messenger::{Destination, MessageRouter, OnionMessagePath}; use lightning::routing::gossip::NodeId; +use lightning::types::features::{InitFeatures, NodeFeatures}; use lightning::util::logger::Logger; use lightning::{ln::msgs::SocketAddress, log_warn}; use lightning::{log_debug, log_error}; From b840a80532115ecade35a6ae4641d9aa46eedd56 Mon Sep 17 00:00:00 2001 From: EthanYuan Date: Thu, 19 Jun 2025 17:08:59 +0800 Subject: [PATCH 6/6] fix: Replace create_invoice_from_channelmanager_and_duration_since_epoch with create_bolt11_invoice --- mutiny-core/src/node.rs | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/mutiny-core/src/node.rs b/mutiny-core/src/node.rs index cc09d1824..d87ebe877 100644 --- a/mutiny-core/src/node.rs +++ b/mutiny-core/src/node.rs @@ -41,9 +41,8 @@ use futures_util::lock::Mutex; use hex_conservative::DisplayHex; use lightning::events::bump_transaction::{BumpTransactionEventHandler, Wallet}; use lightning::ln::channel_state::ChannelDetails; -use lightning::ln::invoice_utils::{ - create_invoice_from_channelmanager_and_duration_since_epoch, create_phantom_invoice, -}; +use lightning::ln::channelmanager::Bolt11InvoiceParameters; +use lightning::ln::invoice_utils::create_phantom_invoice; use lightning::onion_message::messenger::OnionMessenger as LdkOnionMessenger; use lightning::routing::scoring::ProbabilisticScoringDecayParameters; use lightning::sign::{InMemorySigner, NodeSigner, Recipient}; @@ -74,6 +73,7 @@ use lightning::{ }; use lightning_background_processor::process_events_async; use lightning_invoice::Bolt11Invoice; +use lightning_invoice::{Bolt11InvoiceDescription, Description}; use lightning_liquidity::lsps2::client::LSPS2ClientConfig; use lightning_liquidity::{LiquidityClientConfig, LiquidityManager as LDKLSPLiquidityManager}; @@ -1429,17 +1429,16 @@ impl Node { let invoice_res = match route_hints { None => { let now = crate::utils::now(); - create_invoice_from_channelmanager_and_duration_since_epoch( - &self.channel_manager.clone(), - self.keys_manager.clone(), - self.logger.clone(), - self.network.into(), - amount_msat, + let description = + Bolt11InvoiceDescription::Direct(Description::new(description).unwrap()); + let invoice_params = Bolt11InvoiceParameters { + amount_msats: amount_msat, description, - now, - expiry_delta_secs.unwrap_or(3600), - Some(40), - ) + invoice_expiry_delta_secs: Some(expiry_delta_secs.unwrap_or(3600)), + min_final_cltv_expiry_delta: Some(40), + ..Default::default() + }; + self.channel_manager.create_bolt11_invoice(invoice_params) } Some(r) => create_phantom_invoice( amount_msat,