common: update to latest route-blinding spec.

```
make check-source-bolt CHECK_BOLT_PREFIX="--prefix=BOLT-route-blinding" BOLTVERSION=guilt/offers
```

Other than textual changes, this does:

1. Ensures we put total_amount_msat in onion final hop (reported by @t-bast).
2. Require that they put total_amount_msat in onion final hop.
3. Return `invalid_onion_blinding` exactly as defined by the spec (i.e. less
   aggressive when we're the final hop) (also reported by @t-bast, but I already
   knew).

See: #5823
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: `offers` breaking blinded payments change (total_amount_sat required, Eclair compat)
This commit is contained in:
Rusty Russell
2023-01-12 14:23:38 +10:30
parent d5c19b23d8
commit e9eb5f493b
9 changed files with 46 additions and 21 deletions

View File

@@ -1671,7 +1671,8 @@ static void payment_add_blindedpath(const tal_t *ctx,
{
/* It's a bit of a weird API for us, so we convert it back to
* the struct tlv_tlv_payload */
u8 **tlvs = blinded_onion_hops(tmpctx, final_amt, final_cltv, bpath);
u8 **tlvs = blinded_onion_hops(tmpctx, final_amt, final_cltv,
final_amt, bpath);
for (size_t i = 0; i < tal_count(tlvs); i++) {
const u8 *cursor = tlvs[i];

View File

@@ -12,6 +12,7 @@
u8 **blinded_onion_hops(const tal_t *ctx UNNEEDED,
struct amount_msat final_amount UNNEEDED,
u32 final_cltv UNNEEDED,
struct amount_msat total_amount UNNEEDED,
const struct blinded_path *path UNNEEDED)
{ fprintf(stderr, "blinded_onion_hops called!\n"); abort(); }
/* Generated stub for command_finished */