diff --git a/Makefile b/Makefile index 3628bc7347ea..646d90e5ce95 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ CCANDIR := ccan # Where we keep the BOLT RFCs BOLTDIR := ../lightning-rfc/ -DEFAULT_BOLTVERSION := b201efe0546120c14bf154ce5f4e18da7243fe7a +DEFAULT_BOLTVERSION := 3508e4e85d26240ae7492c3d2e02770cdc360fe9 # Can be overridden on cmdline. BOLTVERSION := $(DEFAULT_BOLTVERSION) diff --git a/channeld/channeld.c b/channeld/channeld.c index 885086941b0c..862f5e5a6e8f 100644 --- a/channeld/channeld.c +++ b/channeld/channeld.c @@ -1494,8 +1494,8 @@ static void handle_peer_revoke_and_ack(struct peer *peer, const u8 *msg) /* BOLT #2: * * A receiving node: - * - if `per_commitment_secret` does not generate the previous - * `per_commitment_point`: + * - if `per_commitment_secret` is not a valid secret key or does not + * generate the previous `per_commitment_point`: * - MUST fail the channel. */ memcpy(&privkey, &old_commit_secret, sizeof(privkey)); diff --git a/channeld/test/run-commit_tx.c b/channeld/test/run-commit_tx.c index c8b1920489bf..66590b49f336 100644 --- a/channeld/test/run-commit_tx.c +++ b/channeld/test/run-commit_tx.c @@ -175,7 +175,7 @@ static const struct htlc **setup_htlcs_0_to_4(const tal_t *ctx) return htlcs; } -/* BOLT-3508e4e85d26240ae7492c3d2e02770cdc360fe9 #3: +/* BOLT #3: * htlc 5 direction: local->remote * htlc 5 amount_msat: 5000000 * htlc 5 expiry: 506 diff --git a/common/features.h b/common/features.h index e4236b847f58..a03d6b5ced8e 100644 --- a/common/features.h +++ b/common/features.h @@ -107,16 +107,12 @@ u8 *featurebits_or(const tal_t *ctx, const u8 *f1 TAKES, const u8 *f2 TAKES); * | 16/17 | `basic_mpp` |... IN9 ... * | 18/19 | `option_support_large_channel` |... IN ... * | 20/21 | `option_anchor_outputs` |... IN ... + * | 26/27 | `option_shutdown_anysegwit` |... IN ... */ #define OPT_PAYMENT_SECRET 14 #define OPT_BASIC_MPP 16 #define OPT_LARGE_CHANNELS 18 #define OPT_ANCHOR_OUTPUTS 20 - -/* BOLT-4e329271a358ee52bf43ddbd96776943c5d74508 #9: - * - * | 26/27 | `option_shutdown_anysegwit` |... IN ... - */ #define OPT_SHUTDOWN_ANYSEGWIT 26 /* BOLT-f53ca2301232db780843e894f55d95d512f297f9 #9: diff --git a/common/shutdown_scriptpubkey.c b/common/shutdown_scriptpubkey.c index e875e60a9934..ceaf5dde39f9 100644 --- a/common/shutdown_scriptpubkey.c +++ b/common/shutdown_scriptpubkey.c @@ -3,7 +3,7 @@ #include -/* BOLT-4e329271a358ee52bf43ddbd96776943c5d74508 #2: +/* BOLT #2: * 5. if (and only if) `option_shutdown_anysegwit` is negotiated: * * `OP_1` through `OP_16` inclusive, followed by a single * push of 2 to 40 bytes diff --git a/common/shutdown_scriptpubkey.h b/common/shutdown_scriptpubkey.h index 65544f42d4c2..90189f75b9d0 100644 --- a/common/shutdown_scriptpubkey.h +++ b/common/shutdown_scriptpubkey.h @@ -9,7 +9,10 @@ * (pay to pubkey hash), OR * 2. `OP_HASH160` `20` 20-bytes `OP_EQUAL` (pay to script hash), OR * 3. `OP_0` `20` 20-bytes (version 0 pay to witness pubkey hash), OR - * 4. `OP_0` `32` 32-bytes (version 0 pay to witness script hash) + * 4. `OP_0` `32` 32-bytes (version 0 pay to witness script hash), OR + * 5. if (and only if) `option_shutdown_anysegwit` is negotiated: + * * `OP_1` through `OP_16` inclusive, followed by a single push of 2 to 40 bytes + * (witness program versions 1 through 16) * * A receiving node: *... diff --git a/tests/test_closing.py b/tests/test_closing.py index cc34894bc59a..d8f0a33520a2 100644 --- a/tests/test_closing.py +++ b/tests/test_closing.py @@ -2626,7 +2626,7 @@ def test_segwit_shutdown_script(node_factory, bitcoind, executor): """ l1 = node_factory.get_node(allow_warning=True) - # BOLT-4e329271a358ee52bf43ddbd96776943c5d74508 #2: + # BOLT #2: # 5. if (and only if) `option_shutdown_anysegwit` is negotiated: # * `OP_1` through `OP_16` inclusive, followed by a single push of 2 to 40 bytes # (witness program versions 1 through 16)