diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 908dd559ff8..86ad12e8961 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -24,7 +24,7 @@ lightning-liquidity = { path = "../lightning-liquidity" } lightning-rapid-gossip-sync = { path = "../lightning-rapid-gossip-sync" } lightning-persister = { path = "../lightning-persister", features = ["tokio"]} bech32 = "0.11.0" -bitcoin = { version = "0.32.2", features = ["secp-lowmemory"] } +bitcoin = { version = "0.32.4", features = ["secp-lowmemory"] } tokio = { version = "~1.35", default-features = false, features = ["rt-multi-thread"] } afl = { version = "0.12", optional = true } diff --git a/lightning-invoice/Cargo.toml b/lightning-invoice/Cargo.toml index 8e0c7587f4f..2be47854dd2 100644 --- a/lightning-invoice/Cargo.toml +++ b/lightning-invoice/Cargo.toml @@ -21,7 +21,7 @@ std = [] bech32 = { version = "0.11.0", default-features = false } lightning-types = { version = "0.3.0", path = "../lightning-types", default-features = false } serde = { version = "1.0", optional = true, default-features = false, features = ["alloc"] } -bitcoin = { version = "0.32.2", default-features = false, features = ["secp-recovery"] } +bitcoin = { version = "0.32.4", default-features = false, features = ["secp-recovery"] } [dev-dependencies] serde_json = { version = "1"} diff --git a/lightning-invoice/src/lib.rs b/lightning-invoice/src/lib.rs index ecffcf889a7..6afd1956c20 100644 --- a/lightning-invoice/src/lib.rs +++ b/lightning-invoice/src/lib.rs @@ -437,6 +437,9 @@ pub enum Currency { /// Bitcoin testnet BitcoinTestnet, + /// Bitcoin testnet4 + BitcoinTestnet4, + /// Bitcoin regtest Regtest, @@ -452,12 +455,9 @@ impl From for Currency { match network { Network::Bitcoin => Currency::Bitcoin, Network::Testnet => Currency::BitcoinTestnet, + Network::Testnet4 => Currency::BitcoinTestnet4, Network::Regtest => Currency::Regtest, Network::Signet => Currency::Signet, - _ => { - debug_assert!(false, "Need to handle new rust-bitcoin network type"); - Currency::Regtest - }, } } } @@ -467,6 +467,7 @@ impl From for Network { match currency { Currency::Bitcoin => Network::Bitcoin, Currency::BitcoinTestnet => Network::Testnet, + Currency::BitcoinTestnet4 => Network::Testnet4, Currency::Regtest => Network::Regtest, Currency::Simnet => Network::Regtest, Currency::Signet => Network::Signet, diff --git a/lightning-invoice/src/ser.rs b/lightning-invoice/src/ser.rs index 6da172c7220..4b4faea4cf0 100644 --- a/lightning-invoice/src/ser.rs +++ b/lightning-invoice/src/ser.rs @@ -194,6 +194,7 @@ impl Display for Currency { let currency_code = match *self { Currency::Bitcoin => "bc", Currency::BitcoinTestnet => "tb", + Currency::BitcoinTestnet4 => "tb", Currency::Regtest => "bcrt", Currency::Simnet => "sb", Currency::Signet => "tbs", @@ -475,6 +476,7 @@ mod test { assert_eq!("bc", Currency::Bitcoin.to_string()); assert_eq!("tb", Currency::BitcoinTestnet.to_string()); + assert_eq!("tb", Currency::BitcoinTestnet4.to_string()); assert_eq!("bcrt", Currency::Regtest.to_string()); assert_eq!("sb", Currency::Simnet.to_string()); assert_eq!("tbs", Currency::Signet.to_string()); diff --git a/lightning/Cargo.toml b/lightning/Cargo.toml index 94919efe66d..06686afd4c7 100644 --- a/lightning/Cargo.toml +++ b/lightning/Cargo.toml @@ -37,7 +37,7 @@ lightning-invoice = { version = "0.34.0", path = "../lightning-invoice", default lightning-macros = { version = "0.2", path = "../lightning-macros" } bech32 = { version = "0.11.0", default-features = false } -bitcoin = { version = "0.32.2", default-features = false, features = ["secp-recovery"] } +bitcoin = { version = "0.32.4", default-features = false, features = ["secp-recovery"] } dnssec-prover = { version = "0.6", default-features = false } hashbrown = { version = "0.13", default-features = false } @@ -56,7 +56,7 @@ lightning-macros = { path = "../lightning-macros" } parking_lot = { version = "0.12", default-features = false } [dev-dependencies.bitcoin] -version = "0.32.2" +version = "0.32.4" default-features = false features = ["bitcoinconsensus", "secp-recovery"]