Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 0 additions & 9 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,6 @@ jobs:
env:
COMPILER: ${{ matrix.COMPILER }}
EXPERIMENTAL_DUAL_FUND: ${{ matrix.EXPERIMENTAL_DUAL_FUND }}
EXPERIMENTAL_SPLICING: ${{ matrix.EXPERIMENTAL_SPLICING }}
COMPAT: 1
SLOW_MACHINE: 1
TEST_DEBUG: 1
Expand Down Expand Up @@ -553,13 +552,6 @@ jobs:
COMPILER: gcc
TEST_NETWORK: regtest
EXPERIMENTAL_DUAL_FUND: 1
# And splicing!
- NAME: splicing
CFG: compile-gcc-O3
TEST_DB_PROVIDER: sqlite3
COMPILER: gcc
TEST_NETWORK: regtest
EXPERIMENTAL_SPLICING: 1
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -606,7 +598,6 @@ jobs:
env:
COMPILER: ${{ matrix.COMPILER }}
EXPERIMENTAL_DUAL_FUND: ${{ matrix.EXPERIMENTAL_DUAL_FUND }}
EXPERIMENTAL_SPLICING: ${{ matrix.EXPERIMENTAL_SPLICING }}
COMPAT: 1
SLOW_MACHINE: 1
TEST_DEBUG: 1
Expand Down
2 changes: 1 addition & 1 deletion .msggen.json
Original file line number Diff line number Diff line change
Expand Up @@ -9785,7 +9785,7 @@
},
"ListConfigs.configs.experimental-splicing": {
"added": "v23.08",
"deprecated": null
"deprecated": "v26.04"
},
"ListConfigs.configs.experimental-splicing.set": {
"added": "pre-v0.10.1",
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -674,7 +674,7 @@ gen: $(CHECK_GEN_ALL)

check-gen-updated: $(CHECK_GEN_ALL)
@echo "Checking for generated files being changed by make"
git diff --exit-code HEAD
git diff --text --exit-code HEAD

coverage/coverage.info: check pytest
mkdir coverage || true
Expand Down
19 changes: 10 additions & 9 deletions cln-rpc/src/model.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 0 additions & 4 deletions common/features.c
Original file line number Diff line number Diff line change
Expand Up @@ -140,10 +140,6 @@ static const struct feature_style feature_styles[] = {
.copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT,
[NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT,
[CHANNEL_FEATURE] = FEATURE_DONT_REPRESENT} },
{ OPT_EXPERIMENTAL_SPLICE,
.copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT,
[NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT,
[CHANNEL_FEATURE] = FEATURE_DONT_REPRESENT} },
};

struct dependency {
Expand Down
9 changes: 3 additions & 6 deletions common/features.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ struct feature_set *feature_set_dup(const tal_t *ctx,
* | 46/47 | `option_scid_alias` | ... IN ...
* | 48/49 | `option_payment_metadata` |... 9 ...
* | 50/51 | `option_zeroconf` | ... IN ...
* | 60/61 | `option_simple_close` |... IN ...
* | 62/63 | `option_splice` |... IN ...
*/
#define OPT_DATA_LOSS_PROTECT 0
#define OPT_UPFRONT_SHUTDOWN_SCRIPT 4
Expand All @@ -144,17 +146,12 @@ struct feature_set *feature_set_dup(const tal_t *ctx,
#define OPT_SCID_ALIAS 46
#define OPT_PAYMENT_METADATA 48
#define OPT_ZEROCONF 50
#define OPT_SPLICE 62

/* The old pre-zero-fee-anchors were deprecated, and we never supported them
* outside experimental options */
#define OPT_ANCHOR_OUTPUTS_DEPRECATED 20

/* BOLT-splice #9:
* | 62/63 | `option_splice` | ... IN ...
*/
#define OPT_SPLICE 62
#define OPT_EXPERIMENTAL_SPLICE 162

#define OPT_SHUTDOWN_WRONG_FUNDING 104

#endif /* LIGHTNING_COMMON_FEATURES_H */
10 changes: 4 additions & 6 deletions contrib/msggen/msggen/schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -11409,7 +11409,6 @@
"added": "v24.11",
"rpc": "dev-splice",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice` is the command to move funds into or out of a channel. Multiple actions can be combined together resulting in a single onchain transaction. Funds may be moved out of a channel and into another in a single batch enabling cross-channel movement."
],
Expand Down Expand Up @@ -19300,6 +19299,10 @@
},
"experimental-splicing": {
"added": "v23.08",
"deprecated": [
"v26.04",
"v27.04"
],
"type": "object",
"additionalProperties": false,
"required": [
Expand Down Expand Up @@ -33954,7 +33957,6 @@
"added": "v23.08",
"rpc": "splice_init",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice_init` is a low level RPC command which initiates a channel splice for a given channel specified by `channel_id`."
],
Expand Down Expand Up @@ -34097,7 +34099,6 @@
"added": "v23.08",
"rpc": "splice_signed",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice_signed` is a low level RPC command which finishes the active channel splice associated with `channel_id`.",
"",
Expand Down Expand Up @@ -34265,7 +34266,6 @@
"added": "v23.08",
"rpc": "splice_update",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice_update` is a low level RPC command which updates the active channel splice associated with `channel_id`.",
"",
Expand Down Expand Up @@ -34432,7 +34432,6 @@
"added": "v26.04",
"rpc": "splicein",
"title": "Command to splice funds into a channel",
"warning": "experimental-splicing only",
"description": [
"`splicein` is the command to move funds into a channel."
],
Expand Down Expand Up @@ -34499,7 +34498,6 @@
"added": "v26.04",
"rpc": "spliceout",
"title": "Command to splice funds out of a channel",
"warning": "experimental-splicing only",
"description": [
"`spliceout` is the command to move funds into a channel."
],
Expand Down
3 changes: 0 additions & 3 deletions contrib/pyln-testing/pyln/testing/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ def env(name, default=None):
DEPRECATED_APIS = env("DEPRECATED_APIS", "0") == "1"
TIMEOUT = int(env("TIMEOUT", 180 if SLOW_MACHINE else 60))
EXPERIMENTAL_DUAL_FUND = env("EXPERIMENTAL_DUAL_FUND", "0") == "1"
EXPERIMENTAL_SPLICING = env("EXPERIMENTAL_SPLICING", "0") == "1"
GENERATE_EXAMPLES = env("GENERATE_EXAMPLES", "0") == "1"
RUST = env("RUST", "0") == "1"

Expand Down Expand Up @@ -963,8 +962,6 @@ def __init__(self, node_id, lightning_dir, bitcoind, executor, may_fail=False,
self.daemon.opts["dev-no-reconnect"] = None
if EXPERIMENTAL_DUAL_FUND:
self.daemon.opts["experimental-dual-fund"] = None
if EXPERIMENTAL_SPLICING:
self.daemon.opts["experimental-splicing"] = None
# Avoid test flakes cause by this option unless explicitly set.
if self.cln_version >= "v24.11":
self.daemon.opts.update({"autoconnect-seeker-peers": 0})
Expand Down
1 change: 0 additions & 1 deletion contrib/startup_regtest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,6 @@ start_nodes() {
dev-fast-gossip
dev-bitcoind-poll=5
experimental-dual-fund
experimental-splicing
funder-policy=match
funder-policy-mod=100
funder-min-their-funding=10000
Expand Down
1 change: 0 additions & 1 deletion doc/contribute-to-core-lightning/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ Our Github Actions instance (see `.github/workflows/*.yml`) runs all these for e

```text
EXPERIMENTAL_DUAL_FUND=[0|1] - Enable dual-funding tests.
EXPERIMENTAL_SPLICING=[0|1] - Enable splicing tests.
TEST_CHECK_DBSTMTS=[0|1] - When running blackbox tests, this will
load a plugin that logs all compiled
and expanded database statements.
Expand Down
1 change: 1 addition & 0 deletions doc/developers-guide/deprecated-features.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ privacy:
| newaddr.addresstype.defaultbech32 | Parameter | v25.12 | v26.12 | Use `p2tr` in the response (present since v23.08 if `addresstype` is `p2tr`, and always present since v24.12). |
| channel_state_changed.null_message | Notification Field | v25.12 | v26.12 | In channel_state_changed notification, `message` will be missing instead of `null` |
| hsmtool.getcodexsecret | Command | v25.12.1 | v26.12 | Doesn't work on nodes using mnemonic secrets (v25.12 or later). Use `getsecret` instead. |
| experimental_splicing | Config | v26.04 | v27.04 | Splicing is now enabled by default |
Inevitably there are features which need to change: either to be generalized, or removed when they can no longer be supported.

Types of deprecation:
Expand Down
2 changes: 2 additions & 0 deletions doc/lightningd-config.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -862,6 +862,8 @@ The operations will be bundled into a single transaction. The channel will remai
active while awaiting splice confirmation, however you can only spend the smaller
of the prior channel balance and the new one.

(deprecated in v26.04)

* **experimental-lsps-client**

Specifying this enables client side support for the lsps protocol
Expand Down
1 change: 0 additions & 1 deletion doc/schemas/dev-splice.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"added": "v24.11",
"rpc": "dev-splice",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice` is the command to move funds into or out of a channel. Multiple actions can be combined together resulting in a single onchain transaction. Funds may be moved out of a channel and into another in a single batch enabling cross-channel movement."
],
Expand Down
4 changes: 4 additions & 0 deletions doc/schemas/listconfigs.json
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,10 @@
},
"experimental-splicing": {
"added": "v23.08",
"deprecated": [
"v26.04",
"v27.04"
],
"type": "object",
"additionalProperties": false,
"required": [
Expand Down
1 change: 0 additions & 1 deletion doc/schemas/splice_init.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"added": "v23.08",
"rpc": "splice_init",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice_init` is a low level RPC command which initiates a channel splice for a given channel specified by `channel_id`."
],
Expand Down
1 change: 0 additions & 1 deletion doc/schemas/splice_signed.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"added": "v23.08",
"rpc": "splice_signed",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice_signed` is a low level RPC command which finishes the active channel splice associated with `channel_id`.",
"",
Expand Down
1 change: 0 additions & 1 deletion doc/schemas/splice_update.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"added": "v23.08",
"rpc": "splice_update",
"title": "Command to initiate a channel to a peer",
"warning": "experimental-splicing only",
"description": [
"`splice_update` is a low level RPC command which updates the active channel splice associated with `channel_id`.",
"",
Expand Down
1 change: 0 additions & 1 deletion doc/schemas/splicein.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"added": "v26.04",
"rpc": "splicein",
"title": "Command to splice funds into a channel",
"warning": "experimental-splicing only",
"description": [
"`splicein` is the command to move funds into a channel."
],
Expand Down
1 change: 0 additions & 1 deletion doc/schemas/spliceout.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
"added": "v26.04",
"rpc": "spliceout",
"title": "Command to splice funds out of a channel",
"warning": "experimental-splicing only",
"description": [
"`spliceout` is the command to move funds into a channel."
],
Expand Down
2 changes: 1 addition & 1 deletion lightningd/hsm_control.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ struct ext_key *hsm_init(struct lightningd *ld)
if (feature_offered(ld->our_features->bits[INIT_FEATURE],
OPT_SPLICE)
&& !hsm_capable(ld, WIRE_HSMD_SIGN_SPLICE_TX)) {
fatal("--experimental-splicing needs HSM capable of signing splices!");
fatal("splicing needs HSM capable of signing splices!");
}

/* Check if we have a mnemonic-based HSM secret from TLV */
Expand Down
1 change: 1 addition & 0 deletions lightningd/lightningd.c
Original file line number Diff line number Diff line change
Expand Up @@ -907,6 +907,7 @@ static struct feature_set *default_features(const tal_t *ctx)
OPTIONAL_FEATURE(OPT_PROVIDE_STORAGE),
/* Removed later for elements */
OPTIONAL_FEATURE(OPT_ANCHORS_ZERO_FEE_HTLC_TX),
OPTIONAL_FEATURE(OPT_SPLICE),
};

for (size_t i = 0; i < ARRAY_SIZE(features); i++) {
Expand Down
8 changes: 8 additions & 0 deletions lightningd/options.c
Original file line number Diff line number Diff line change
Expand Up @@ -1252,6 +1252,12 @@ static char *opt_set_dual_fund(struct lightningd *ld)

static char *opt_set_splicing(struct lightningd *ld)
{
/* Show deprecation warning */
if (!opt_deprecated_ok(ld, "experimental_splicing", NULL,
"v26.04", "v27.04"))
return "--experimental-splicing is now enabled by default"
" enabled by default";

feature_set_or(ld->our_features,
take(feature_set_for_feature(NULL,
OPTIONAL_FEATURE(OPT_SPLICE))));
Expand Down Expand Up @@ -1486,11 +1492,13 @@ static void register_opts(struct lightningd *ld)
" and allow peers to establish channels"
" via v2 channel open protocol.");

/* Deprecated: splicing is on by default now */
opt_register_early_noarg("--experimental-splicing",
opt_set_splicing, ld,
"experimental: Enables the ability to resize"
" channels using splicing");


/* This affects our features, so set early. */
opt_register_early_noarg("--experimental-shutdown-wrong-funding",
opt_set_shutdown_wrong_funding, ld,
Expand Down
2 changes: 1 addition & 1 deletion plugins/spender/splice.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ static struct command_result *do_fail(struct command *cmd,
"splice_error(psbt:%p, splice_cmd:%p, str: %s)",
splice_cmd->psbt, splice_cmd, str ?: "");

abort_pkg = tal(cmd->plugin, struct abort_pkg);
abort_pkg = tal(cmd, struct abort_pkg);
abort_pkg->splice_cmd = tal_steal(abort_pkg, splice_cmd);
abort_pkg->str = tal_strdup(abort_pkg, str);
abort_pkg->code = code;
Expand Down
1 change: 0 additions & 1 deletion tests/autogenerate-rpc-examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -1318,7 +1318,6 @@ def generate_splice_examples(node_factory, bitcoind):
# Basic setup for l7->l8
options = [
{
'experimental-splicing': None,
'allow-deprecated-apis': True,
'allow_bad_gossip': True,
'broken_log': '.*',
Expand Down
3 changes: 1 addition & 2 deletions tests/test_askrene.py
Original file line number Diff line number Diff line change
Expand Up @@ -2035,8 +2035,7 @@ def test_splice_dying_channel(node_factory, bitcoind):
"""We should NOT try to use the pre-splice channel here"""
l1, l2, l3 = node_factory.line_graph(3,
wait_for_announce=True,
fundamount=200000,
opts={'experimental-splicing': None})
fundamount=200000)

chan_id = l1.get_channel_id(l2)
funds_result = l1.rpc.addpsbtoutput(100000)
Expand Down
2 changes: 1 addition & 1 deletion tests/test_gossip.py
Original file line number Diff line number Diff line change
Expand Up @@ -1700,7 +1700,7 @@ def test_gossip_store_compact_while_extending(node_factory, bitcoind, executor):
f.write(b'')

fut.result(TIMEOUT)
# Exact gossip size varies with EXPERIMENTAL_SPLICING.
# Exact gossip size varies with SPLICING.
l1.daemon.wait_for_logs(['gossipd: compaction done',
'connectd: Reopened gossip_store, reduced to offset 224[59]'])

Expand Down
3 changes: 2 additions & 1 deletion tests/test_misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -2501,7 +2501,8 @@ def test_list_features_only(node_factory):
'option_provide_storage/odd',
'option_channel_type/even',
'option_scid_alias/odd',
'option_zeroconf/odd']
'option_zeroconf/odd',
'option_splice/odd']
expected += ['supports_open_accept_channel_type']

assert features == expected
Expand Down
Loading
Loading