diff --git a/Cargo.lock b/Cargo.lock index 9fa50f49..061ac6b6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1203,7 +1203,7 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "ldk-node" version = "0.8.0+git" -source = "git+https://github.com/lightningdevkit/ldk-node?rev=fe692f3e397b311489aff8b2dc00761f7d10a69a#fe692f3e397b311489aff8b2dc00761f7d10a69a" +source = "git+https://github.com/lightningdevkit/ldk-node?rev=c754e2fe85c70741b5e370334cd16856c615265e#c754e2fe85c70741b5e370334cd16856c615265e" dependencies = [ "async-trait", "base64 0.22.1", diff --git a/contrib/ldk-server-config.toml b/contrib/ldk-server-config.toml index 7657f553..486baa8a 100644 --- a/contrib/ldk-server-config.toml +++ b/contrib/ldk-server-config.toml @@ -79,10 +79,12 @@ max_payment_size_msat = 25000000000 # 0.25 BTC # funding transaction until the client claimed sufficient HTLC parts to pay for the channel open. client_trusts_lsp = false -# Allow the LSP clients to keep zero channel reserves, i.e., spend their full balance. -# Note this will potentially allow them to attempt cheating without risking financial penalty, so -# this should only be set if you understand the risk and trust you clients. -allow_client_0reserve = false +# When set, we will allow clients to spend their entire channel balance in the channels +# we open to them. This allows clients to try to steal your channel balance with +# no financial penalty, so this should only be set if you trust your clients. +# +# See the `disable_counterparty_reserve` argument of `open_channel` to manually open these channels. +disable_client_reserve = false # Optional token for clients (uncomment and set if required) ## A token we may require to be sent by the clients. diff --git a/e2e-tests/Cargo.lock b/e2e-tests/Cargo.lock index 56bb272e..e4a3de5d 100644 --- a/e2e-tests/Cargo.lock +++ b/e2e-tests/Cargo.lock @@ -227,7 +227,7 @@ checksum = "2dee39a0ee5b4095224a0cfc6bf4cc1baf0f9624b96b367e53b66d974e51d953" [[package]] name = "bitcoin-payment-instructions" version = "0.6.0" -source = "git+https://github.com/joostjager/bitcoin-payment-instructions?branch=ldk-dcf0c203e166da2348bef12b2e5eff4a250cdec7#aad06a194b32f4343d2f0367d3792495c964b28e" +source = "git+https://github.com/jkczyz/bitcoin-payment-instructions?rev=a7b32d5fded9bb45f73bf82e6d7187adf705171c#a7b32d5fded9bb45f73bf82e6d7187adf705171c" dependencies = [ "bitcoin", "dnssec-prover", @@ -1207,7 +1207,7 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "ldk-node" version = "0.8.0+git" -source = "git+https://github.com/lightningdevkit/ldk-node?rev=3aef2b39265ae60b29f4d60de8291895f12eb880#3aef2b39265ae60b29f4d60de8291895f12eb880" +source = "git+https://github.com/lightningdevkit/ldk-node?rev=c754e2fe85c70741b5e370334cd16856c615265e#c754e2fe85c70741b5e370334cd16856c615265e" dependencies = [ "async-trait", "base64 0.22.1", @@ -1318,7 +1318,7 @@ dependencies = [ [[package]] name = "lightning" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bech32", "bitcoin", @@ -1328,14 +1328,13 @@ dependencies = [ "lightning-invoice", "lightning-macros", "lightning-types", - "musig2", "possiblyrandom", ] [[package]] name = "lightning-background-processor" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "bitcoin-io", @@ -1349,7 +1348,7 @@ dependencies = [ [[package]] name = "lightning-block-sync" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "bitreq", @@ -1361,7 +1360,7 @@ dependencies = [ [[package]] name = "lightning-invoice" version = "0.35.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bech32", "bitcoin", @@ -1372,7 +1371,7 @@ dependencies = [ [[package]] name = "lightning-liquidity" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "chrono", @@ -1387,7 +1386,7 @@ dependencies = [ [[package]] name = "lightning-macros" version = "0.2.2+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "proc-macro2", "quote", @@ -1397,7 +1396,7 @@ dependencies = [ [[package]] name = "lightning-net-tokio" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "lightning", @@ -1407,7 +1406,7 @@ dependencies = [ [[package]] name = "lightning-persister" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "lightning", @@ -1418,7 +1417,7 @@ dependencies = [ [[package]] name = "lightning-rapid-gossip-sync" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "bitcoin-io", @@ -1429,7 +1428,7 @@ dependencies = [ [[package]] name = "lightning-transaction-sync" version = "0.3.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", "electrum-client", @@ -1442,7 +1441,7 @@ dependencies = [ [[package]] name = "lightning-types" version = "0.4.0+git" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "bitcoin", ] @@ -1540,14 +1539,6 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" -[[package]] -name = "musig2" -version = "0.1.0" -source = "git+https://github.com/arik-so/rust-musig2?rev=6f95a05718cbb44d8fe3fa6021aea8117aa38d50#6f95a05718cbb44d8fe3fa6021aea8117aa38d50" -dependencies = [ - "bitcoin", -] - [[package]] name = "num-traits" version = "0.2.19" @@ -1606,7 +1597,7 @@ checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" [[package]] name = "possiblyrandom" version = "0.2.0" -source = "git+https://github.com/lightningdevkit/rust-lightning?rev=dcf0c203e166da2348bef12b2e5eff4a250cdec7#dcf0c203e166da2348bef12b2e5eff4a250cdec7" +source = "git+https://github.com/lightningdevkit/rust-lightning?rev=38a62c32454d3eac22578144c479dbf9a6d9bff6#38a62c32454d3eac22578144c479dbf9a6d9bff6" dependencies = [ "getrandom 0.2.17", ] diff --git a/e2e-tests/Cargo.toml b/e2e-tests/Cargo.toml index bfc07941..70f2d5ef 100644 --- a/e2e-tests/Cargo.toml +++ b/e2e-tests/Cargo.toml @@ -11,4 +11,4 @@ ldk-server-client = { path = "../ldk-server-client" } ldk-server-grpc = { path = "../ldk-server-grpc", features = ["serde"] } serde_json = "1.0" hex-conservative = { version = "0.2", features = ["std"] } -ldk-node = { git = "https://github.com/lightningdevkit/ldk-node", rev = "3aef2b39265ae60b29f4d60de8291895f12eb880" } +ldk-node = { git = "https://github.com/lightningdevkit/ldk-node", rev = "c754e2fe85c70741b5e370334cd16856c615265e" } diff --git a/e2e-tests/src/lib.rs b/e2e-tests/src/lib.rs index b7aeee38..1cd1a884 100644 --- a/e2e-tests/src/lib.rs +++ b/e2e-tests/src/lib.rs @@ -148,7 +148,7 @@ max_client_to_self_delay = 1024 min_payment_size_msat = 0 max_payment_size_msat = 1000000000 client_trusts_lsp = true -allow_client_0reserve = false +disable_client_reserve = false [metrics] enabled = true diff --git a/ldk-server/Cargo.toml b/ldk-server/Cargo.toml index 3c39e962..bb1c10cd 100644 --- a/ldk-server/Cargo.toml +++ b/ldk-server/Cargo.toml @@ -4,7 +4,7 @@ version = "0.1.0" edition = "2021" [dependencies] -ldk-node = { git = "https://github.com/lightningdevkit/ldk-node", rev = "fe692f3e397b311489aff8b2dc00761f7d10a69a" } +ldk-node = { git = "https://github.com/lightningdevkit/ldk-node", rev = "c754e2fe85c70741b5e370334cd16856c615265e" } serde = { version = "1.0.203", default-features = false, features = ["derive"] } hyper = { version = "1", default-features = false, features = ["server", "http2"] } http-body-util = { version = "0.1", default-features = false } diff --git a/ldk-server/src/util/config.rs b/ldk-server/src/util/config.rs index 16f51790..22e3b61b 100644 --- a/ldk-server/src/util/config.rs +++ b/ldk-server/src/util/config.rs @@ -529,7 +529,7 @@ struct LSPS2ServiceTomlConfig { min_payment_size_msat: u64, max_payment_size_msat: u64, client_trusts_lsp: bool, - allow_client_0reserve: bool, + disable_client_reserve: bool, require_token: Option, } @@ -545,7 +545,7 @@ impl From for LSPS2ServiceConfig { min_payment_size_msat, max_payment_size_msat, client_trusts_lsp, - allow_client_0reserve, + disable_client_reserve, require_token, } = val; @@ -559,7 +559,7 @@ impl From for LSPS2ServiceConfig { max_client_to_self_delay, max_payment_size_msat, client_trusts_lsp, - allow_client_0reserve, + disable_client_reserve, require_token, } } @@ -816,7 +816,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false [tor] proxy_address = "127.0.0.1:9050" @@ -924,7 +924,7 @@ mod tests { min_payment_size_msat: 10000000, max_payment_size_msat: 25000000000, client_trusts_lsp: true, - allow_client_0reserve: false, + disable_client_reserve: false, }), log_level: LevelFilter::Trace, log_file_path: Some("/var/log/ldk-server.log".to_string()), @@ -995,7 +995,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false "#; fs::write(storage_path.join(config_file_name), toml_config).unwrap(); @@ -1049,7 +1049,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false "#; fs::write(storage_path.join(config_file_name), toml_config).unwrap(); @@ -1110,7 +1110,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false "#; fs::write(storage_path.join(config_file_name), toml_config).unwrap(); @@ -1148,7 +1148,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false "#; fs::write(storage_path.join(config_file_name), toml_config).unwrap(); @@ -1338,7 +1338,7 @@ mod tests { min_payment_size_msat: 10000000, max_payment_size_msat: 25000000000, client_trusts_lsp: true, - allow_client_0reserve: false, + disable_client_reserve: false, }), log_level: LevelFilter::Trace, log_file_path: Some("/var/log/ldk-server.log".to_string()), @@ -1441,7 +1441,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false "#; fs::write(storage_path.join(config_file_name), toml_config).unwrap(); @@ -1488,7 +1488,7 @@ mod tests { min_payment_size_msat = 10000000 # 10,000 satoshis max_payment_size_msat = 25000000000 # 0.25 BTC client_trusts_lsp = true - allow_client_0reserve = false + disable_client_reserve = false "#; fs::write(storage_path.join(config_file_name), toml_config).unwrap();