Makefile: update to latest spec.

This includes anysegwit and the updated HTLC tiebreak test vector.  It
also adds explicit wording for invalid per_commitment_secret (which
nicely matches our code already!).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2021-05-26 13:39:06 +09:30
parent 57292ddb39
commit d3f370944e
7 changed files with 11 additions and 12 deletions

View file

@ -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)

View file

@ -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));

View file

@ -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

View file

@ -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:

View file

@ -3,7 +3,7 @@
#include <stdio.h>
/* 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

View file

@ -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:
*...

View file

@ -2626,7 +2626,7 @@ Try a range of future segwit versions as shutdown scripts. We create many nodes
"""
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)