mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-22 06:41:44 +01:00
common: remove version qualifiers from BOLT11 now changes are merged.
We also update since the merged version sets feature bit 9 (as it's supposed to now that we tied that to payment_secret). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
3cf8443285
commit
8055389b90
2 changed files with 14 additions and 13 deletions
|
@ -302,7 +302,7 @@ static char *decode_n(struct bolt11 *b11,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
/* BOLT-9441a66faad63edc8cd89860b22fbf24a86f0dcd #11:
|
||||
/* BOLT #11:
|
||||
*
|
||||
* * `s` (16): `data_length` 52. This 256-bit secret prevents
|
||||
* forwarding nodes from probing the payment recipient.
|
||||
|
@ -317,7 +317,7 @@ static char *decode_s(struct bolt11 *b11,
|
|||
return unknown_field(b11, hu5, data, data_len, 's',
|
||||
data_length);
|
||||
|
||||
/* BOLT-9441a66faad63edc8cd89860b22fbf24a86f0dcd #11:
|
||||
/* BOLT #11:
|
||||
*
|
||||
* A reader... MUST skip over unknown fields, OR an `f` field
|
||||
* with unknown `version`, OR `p`, `h`, `s` or `n` fields that do
|
||||
|
|
|
@ -318,10 +318,10 @@ int main(void)
|
|||
|
||||
test_b11("lntb30m1pw2f2yspp5s59w4a0kjecw3zyexm7zur8l8n4scw674w8sftjhwec33km882gsdpa2pshjmt9de6zqun9w96k2um5ypmkjargypkh2mr5d9cxzun5ypeh2ursdae8gxqruyqvzddp68gup69uhnzwfj9cejuvf3xshrwde68qcrswf0d46kcarfwpshyaplw3skw0tdw4k8g6tsv9e8g4a3hx0v945csrmpm7yxyaamgt2xu7mu4xyt3vp7045n4k4czxf9kj0vw0m8dr5t3pjxuek04rtgyy8uzss5eet5gcyekd6m7u0mzv5sp7mdsag", b11, NULL);
|
||||
|
||||
/* BOLT-d8d45ed403e54cffdb049d2e44d1100e41df013c #11:
|
||||
/* BOLT #11:
|
||||
*
|
||||
* > ### Please send $30 for coffee beans to the same peer, which supports features 15 and 99, using secret 0x1111111111111111111111111111111111111111111111111111111111111111
|
||||
* > lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqpqqq4u9s93jtgysm3mrwll70zr697y3mf902hvxwej0v7c62rsltw83ng0pu8w3j230sluc5gxkdmm9dvpy9y6ggtjd2w544mzdrcs42t7sqdkcy8h
|
||||
* > ### Please send $30 for coffee beans to the same peer, which supports features 9, 15 and 99, using secret 0x1111111111111111111111111111111111111111111111111111111111111111
|
||||
* > lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqpqsq67gye39hfg3zd8rgc80k32tvy9xk2xunwm5lzexnvpx6fd77en8qaq424dxgt56cag2dpt359k3ssyhetktkpqh24jqnjyw6uqd08sgptq44qu
|
||||
*
|
||||
* Breakdown:
|
||||
*
|
||||
|
@ -337,10 +337,10 @@ int main(void)
|
|||
* * `p5`: `data_length` (`p` = 1, `5` = 20; 1 * 32 + 20 == 52)
|
||||
* * `zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs`: 0x1111111111111111111111111111111111111111111111111111111111111111
|
||||
* * `9`: features
|
||||
* * `q5`: `data_length` (`q` = 0, `5` = 20; 0 * 32 + 20 == 20) 4
|
||||
* * `sqqqqqqqqqqqqqqqpqqq`: b1000....00001000000000000000
|
||||
* * `pqqq4u9s93jtgysm3mrwll70zr697y3mf902hvxwej0v7c62rsltw83ng0pu8w3j230sluc5gxkdmm9dvpy9y6ggtjd2w544mzdrcs42t7sq`: signature
|
||||
* * `dkcy8h`: Bech32 checksum
|
||||
* * `q5`: `data_length` (`q` = 0, `5` = 20; 0 * 32 + 20 == 20)
|
||||
* * `sqqqqqqqqqqqqqqqpqsq`: b1000....00001000001000000000
|
||||
** `67gye39hfg3zd8rgc8032tvy9xk2xunwm5lzexnvpx6fd77en8qaq424dxgt56cag2dpt359k3ssyhetktkpqh24jqnjyw6uqd08sgp`: signature
|
||||
** `tq44qu`: Bech32 checksum
|
||||
*/
|
||||
msatoshi = AMOUNT_MSAT(25 * (1000ULL * 100000000) / 1000);
|
||||
b11 = new_bolt11(tmpctx, &msatoshi);
|
||||
|
@ -354,20 +354,21 @@ int main(void)
|
|||
b11->description = "coffee beans";
|
||||
b11->payment_secret = tal(b11, struct secret);
|
||||
memset(b11->payment_secret, 0x11, sizeof(*b11->payment_secret));
|
||||
set_feature_bit(&b11->features, 9);
|
||||
set_feature_bit(&b11->features, 15);
|
||||
set_feature_bit(&b11->features, 99);
|
||||
|
||||
test_b11("lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqpqqq4u9s93jtgysm3mrwll70zr697y3mf902hvxwej0v7c62rsltw83ng0pu8w3j230sluc5gxkdmm9dvpy9y6ggtjd2w544mzdrcs42t7sqdkcy8h", b11, NULL);
|
||||
test_b11("lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q5sqqqqqqqqqqqqqqqpqsq67gye39hfg3zd8rgc80k32tvy9xk2xunwm5lzexnvpx6fd77en8qaq424dxgt56cag2dpt359k3ssyhetktkpqh24jqnjyw6uqd08sgptq44qu", b11, NULL);
|
||||
|
||||
/* BOLT-d8d45ed403e54cffdb049d2e44d1100e41df013c #11:
|
||||
/* BOLT #11:
|
||||
*
|
||||
* > # Same, but adding invalid unknown feature 100
|
||||
* > lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q4psqqqqqqqqqqqqqqqpqqqqu7fz6pjqczdm3jp3qps7xntj2w2mm70e0ckhw3c5xk9p36pvk3sewn7ncaex6uzfq0vtqzy28se6pcwn790vxex7xystzumhg55p6qq9wq7td
|
||||
* > lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q4psqqqqqqqqqqqqqqqpqsqq40wa3khl49yue3zsgm26jrepqr2eghqlx86rttutve3ugd05em86nsefzh4pfurpd9ek9w2vp95zxqnfe2u7ckudyahsa52q66tgzcp6t2dyk
|
||||
*/
|
||||
/* This one can be encoded, but not decoded */
|
||||
set_feature_bit(&b11->features, 100);
|
||||
badstr = bolt11_encode(tmpctx, b11, false, test_sign, NULL);
|
||||
assert(streq(badstr, "lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q4psqqqqqqqqqqqqqqqpqqqqu7fz6pjqczdm3jp3qps7xntj2w2mm70e0ckhw3c5xk9p36pvk3sewn7ncaex6uzfq0vtqzy28se6pcwn790vxex7xystzumhg55p6qq9wq7td"));
|
||||
assert(streq(badstr, "lnbc25m1pvjluezpp5qqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqqqsyqcyq5rqwzqfqypqdq5vdhkven9v5sxyetpdeessp5zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zyg3zygs9q4psqqqqqqqqqqqqqqqpqsqq40wa3khl49yue3zsgm26jrepqr2eghqlx86rttutve3ugd05em86nsefzh4pfurpd9ek9w2vp95zxqnfe2u7ckudyahsa52q66tgzcp6t2dyk"));
|
||||
assert(!bolt11_decode(tmpctx, badstr, NULL, &fail));
|
||||
assert(streq(fail, "9: unknown feature bit 100"));
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue