Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

offers + bolt12: json_to_u32 could not parse \"3000msat\" #5850

Closed
SimonVrouwe opened this issue Dec 23, 2022 · 3 comments
Closed

offers + bolt12: json_to_u32 could not parse \"3000msat\" #5850

SimonVrouwe opened this issue Dec 23, 2022 · 3 comments
Labels
Milestone

Comments

@SimonVrouwe
Copy link
Collaborator

SimonVrouwe commented Dec 23, 2022

On experimental build of latest master 3ae58c4 (L1, see listconfigs below), trying to fetchinvoice and pay a bolt12 from another node L2 (same build+config) on a regtest setup. The bolt12 was created using Spark-wallet (but that doesn't seem to matter). BTW #5676 broke the (experimental) bolt12 compatibility with older nodes.

Here is the particular listoffers entry on L1:

         "offer_id": "c06259d0dd56e04063d8721e99b99cf02a2175e24819f268ecb2a123530e5083",
         "active": true,
         "single_use": false,
         "bolt12": "lno1qgsqvgnwgcg35z6ee2h3yczraddm72xrfua9uve2rlrm9deu7xyfzrcgqffqszsfvfhkcap3xf0nqvgkyypxxtyuds27h876enfv2w9vrfy4nudwhy8uda45v25484re9ddwlvg",
         "used": false,
         "label": "IzBw55GvAYEVVhQ_4n8Yk"

Calling fetchinvoice <bolt12> on L2 returns:

{
   "invoice": "lni1qqgrqdnf363jqce8djsa6htkq658jq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqjjpq9qjcn0d36rzvjlxqc3vggzvvkfcmq4aw0a4nxjc5u2cxjft8c6awg0cmmtgc4f2028j266a7c4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqnasdwwj2d3jlr32ksfxglxlqazpt2ps6kyr9n9aa80ex08sp5y8jsfsqnr9jwxc90tnldve5k98zkp5j2e7xhtjr7x766x922n63ujkkh0kyp7vceacg6tjdfnzsd5pu5nslz47zeqtjqt0usern7a4x0la94y42spqv823nx4dg569580g4qzpxwln875sn6msfq2x96ju7n8j57dwplfsqpjvyw4p32egzyltxdn6e0avuxtrn6v5yw8ps80cg42p300zc5d3ux8t827zgq72a3v9nf362x79dfq4rxe5gwqqqqqqqqqqqqqqq9qqqqqqqqqqqqqr5jt9hav2gqqqqqq5szx8ftr465zp6c65p6vqhux0aftl0gw3qu37srnetde797ayfxmdnxyddqx8hdn4gp9yz9syypxxtyuds27h876enfv2w9vrfy4nudwhy8uda45v25484re9ddwlv0sgq5nn7x9986h9m0r8pwh7sucqs96h090pg3ke7wmy7zv3kv9xtephvkh26he4rux26kmt5mt3cqdyj92kw9fmdjlstgltx5vze7uc85a",
   "changes": {}
}

Calling pay <invoice> on L2 fails:

{
   "code": 203,
   "message": "failed: WIRE_INVALID_ONION_PAYLOAD (reply from remote)",
   "id": 83,
   "failcode": 16406,
   "failcodename": "WIRE_INVALID_ONION_PAYLOAD",
   "bolt12": "lni1qqgrqdnf363jqce8djsa6htkq658jq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqjjpq9qjcn0d36rzvjlxqc3vggzvvkfcmq4aw0a4nxjc5u2cxjft8c6awg0cmmtgc4f2028j266a7c4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzqnasdwwj2d3jlr32ksfxglxlqazpt2ps6kyr9n9aa80ex08sp5y8jsfsqnr9jwxc90tnldve5k98zkp5j2e7xhtjr7x766x922n63ujkkh0kyp7vceacg6tjdfnzsd5pu5nslz47zeqtjqt0usern7a4x0la94y42spqv823nx4dg569580g4qzpxwln875sn6msfq2x96ju7n8j57dwplfsqpjvyw4p32egzyltxdn6e0avuxtrn6v5yw8ps80cg42p300zc5d3ux8t827zgq72a3v9nf362x79dfq4rxe5gwqqqqqqqqqqqqqqq9qqqqqqqqqqqqqr5jt9hav2gqqqqqq5szx8ftr465zp6c65p6vqhux0aftl0gw3qu37srnetde797ayfxmdnxyddqx8hdn4gp9yz9syypxxtyuds27h876enfv2w9vrfy4nudwhy8uda45v25484re9ddwlv0sgq5nn7x9986h9m0r8pwh7sucqs96h090pg3ke7wmy7zv3kv9xtephvkh26he4rux26kmt5mt3cqdyj92kw9fmdjlstgltx5vze7uc85a",
   "raw_message": "40160a005f",
   "created_at": 1671783415,
   "destination": "02632c9c6c15eb9fdaccd2c538ac1a4959f1aeb90fc6f6b462a953d4792b5aefb1",
   "payment_hash": "eb1aa074c05f867f52bfbd0e88391f4073cadb9f17dd224db6ccc46b4063ddb3",
   "status": "failed",
   "amount_msat": 21000,
   "amount_sent_msat": 0,
   "erring_index": 1,
   "erring_node": "02632c9c6c15eb9fdaccd2c538ac1a4959f1aeb90fc6f6b462a953d4792b5aefb1"
}

L1 logs show:

2022-12-23T08:15:42.145Z **BROKEN** plugin-offers: Could not parse listincoming: Parsing '{id:%,incoming_capacity_msat:%,htlc_min_msat:%,htlc_max_msat:%,fee_base_msat:%': json_to_u32 could not parse \"3000msat\"
2022-12-23T08:15:42.145Z **BROKEN** plugin-offers: Could not parse listincoming: Parsing '{id:%,incoming_capacity_msat:%,htlc_min_msat:%,htlc_max_msat:%,fee_base_msat:%': json_to_u32 could not parse \"1msat\"
2022-12-23T08:15:42.145Z **BROKEN** plugin-offers: Could not parse listincoming: Parsing '{id:%,incoming_capacity_msat:%,htlc_min_msat:%,htlc_max_msat:%,fee_base_msat:%': json_to_u32 could not parse \"1msat\"
2022-12-23T08:15:42.145Z **BROKEN** plugin-offers: Could not parse listincoming: Parsing '{id:%,incoming_capacity_msat:%,htlc_min_msat:%,htlc_max_msat:%,fee_base_msat:%': json_to_u32 could not parse \"1000msat\"
2022-12-23T08:15:42.145Z UNUSUAL plugin-offers: No incoming channel for 21000msat, so no blinded path

The offers plugin tries to parse the fee_base_msat field in the listincoming result as u32 integer instead of as msat:

json_add_amount_msat_only(js, "fee_base_msat",
amount_msat(ourchan->half[!dir]
.base_fee));

JSON_SCAN(json_to_u32, &ci.feebase),

With some guesswork I could fix the parsing error using below diff:

diff --git a/plugins/offers_invreq_hook.c b/plugins/offers_invreq_hook.c
index 9d7989568..399e92f8d 100644
--- a/plugins/offers_invreq_hook.c
+++ b/plugins/offers_invreq_hook.c
@@ -251,8 +251,8 @@ static u8 *create_enctlv(const tal_t *ctx,
 struct chaninfo {
        struct pubkey id;
        struct short_channel_id scid;
-       struct amount_msat capacity, htlc_min, htlc_max;
-       u32 feebase, feeppm, cltv;
+       struct amount_msat capacity, htlc_min, htlc_max, feebase;
+       u32 feeppm, cltv;
        bool public;
 };
 
@@ -295,7 +295,7 @@ static struct command_result *listincoming_done(struct command *cmd,
                                JSON_SCAN(json_to_msat, &ci.capacity),
                                JSON_SCAN(json_to_msat, &ci.htlc_min),
                                JSON_SCAN(json_to_msat, &ci.htlc_max),
-                               JSON_SCAN(json_to_u32, &ci.feebase),
+                               JSON_SCAN(json_to_msat, &ci.feebase),
                                JSON_SCAN(json_to_u32, &ci.feeppm),
                                JSON_SCAN(json_to_u32, &ci.cltv),
                                JSON_SCAN(json_to_short_channel_id, &ci.scid),
@@ -353,7 +353,7 @@ static struct command_result *listincoming_done(struct command *cmd,
                u32 base;
 
                relay.cltv_expiry_delta = best->cltv;
-               relay.fee_base_msat = best->feebase;
+               relay.fee_base_msat = best->feebase.millisatoshis; /* Raw: tlv */
                relay.fee_proportional_millionths = best->feeppm;
 
                /* BOLT-offers #12:
@@ -404,7 +404,7 @@ static struct command_result *listincoming_done(struct command *cmd,
                /* FIXME: This should be a "normal" feerate and range. */
                ir->inv->invoice_blindedpay = tal_arr(ir->inv, struct blinded_payinfo *, 1);
                ir->inv->invoice_blindedpay[0] = tal(ir->inv->invoice_blindedpay, struct blinded_payinfo);
-               ir->inv->invoice_blindedpay[0]->fee_base_msat = best->feebase;
+               ir->inv->invoice_blindedpay[0]->fee_base_msat = best->feebase.millisatoshis; /* Raw: tlv */
                ir->inv->invoice_blindedpay[0]->fee_proportional_millionths = best->feeppm;
                ir->inv->invoice_blindedpay[0]->cltv_expiry_delta = best->cltv;
                ir->inv->invoice_blindedpay[0]->htlc_minimum_msat = best->htlc_min;

But pay <invoice> on L2 keeps failing:

$ lightning-cli --conf v22.11.conf pay lni1qqg24q4xdhcnpz28u5fraed2typrvq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqjjpq9qjcn0d36rzvjlxqc3vggzvvkfcmq4aw0a4nxjc5u2cxjft8c6awg0cmmtgc4f2028j266a7c4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq6ms9w83w878mr0nfqcwpwsd7dk008y6nn2smmhuprae389aswg27sfsqnr9jwxc90tnldve5k98zkp5j2e7xhtjr7x766x922n63ujkkh0kypyajrjq49ea38a3hg4ula4460kam5axtqfcw5u6w7wswrp5dr3p0cpqt650ptlv3xzrzhrzy5jnyjg8me4a9qpfn3m60prauqlnnvv6wdw2qpjt993l257s2xgch4whrefdkgaea45y507ujxwl9y8yevte6vq04jq2m6jkk682yzqwnt39ht6yu8t3cwc5gwqqqqqqqqqqqqqqq9qqqqqqqqqqqqqr5jt9hav2gqqqqqq5szx8ftf9j5zq2trx49jm45lejzepvdu9y0x8z75hx2zn084tnc77j34qsgkg8av4gp9yz9syypxxtyuds27h876enfv2w9vrfy4nudwhy8uda45v25484re9ddwlv0sgq9jqqg48hmvj8ds454hrr75nrk97zp0x9s5dqjs7qh2gr6th8uxs5jgw9djhv774fpkn46tmamdv7fcxnffcvcwp54ejusmtr70ywdk
{
   "code": 203,
   "message": "failed: WIRE_INVALID_ONION_PAYLOAD (reply from remote)",
   "id": 84,
   "failcode": 16406,
   "failcodename": "WIRE_INVALID_ONION_PAYLOAD",
   "bolt12": "lni1qqg24q4xdhcnpz28u5fraed2typrvq3qqc3xu3s3rg94nj40zfsy866mhu5vxne6tcej5878k2mneuvgjy8ssqjjpq9qjcn0d36rzvjlxqc3vggzvvkfcmq4aw0a4nxjc5u2cxjft8c6awg0cmmtgc4f2028j266a7c4qgqxyfhyvyg6pdvu4tcjvpp7kkal9rp57wj7xv4pl3ajku70rzy3pavzzq6ms9w83w878mr0nfqcwpwsd7dk008y6nn2smmhuprae389aswg27sfsqnr9jwxc90tnldve5k98zkp5j2e7xhtjr7x766x922n63ujkkh0kypyajrjq49ea38a3hg4ula4460kam5axtqfcw5u6w7wswrp5dr3p0cpqt650ptlv3xzrzhrzy5jnyjg8me4a9qpfn3m60prauqlnnvv6wdw2qpjt993l257s2xgch4whrefdkgaea45y507ujxwl9y8yevte6vq04jq2m6jkk682yzqwnt39ht6yu8t3cwc5gwqqqqqqqqqqqqqqq9qqqqqqqqqqqqqr5jt9hav2gqqqqqq5szx8ftf9j5zq2trx49jm45lejzepvdu9y0x8z75hx2zn084tnc77j34qsgkg8av4gp9yz9syypxxtyuds27h876enfv2w9vrfy4nudwhy8uda45v25484re9ddwlv0sgq9jqqg48hmvj8ds454hrr75nrk97zp0x9s5dqjs7qh2gr6th8uxs5jgw9djhv774fpkn46tmamdv7fcxnffcvcwp54ejusmtr70ywdk",
   "raw_message": "40160a005f",
   "created_at": 1671784762,
   "destination": "02632c9c6c15eb9fdaccd2c538ac1a4959f1aeb90fc6f6b462a953d4792b5aefb1",
   "payment_hash": "2963354b2dd69fcc8590b1bc291e638bd4b99429bcf55cf1ef4a350411641fac",
   "status": "failed",
   "amount_msat": 21000,
   "amount_sent_msat": 0,
   "erring_index": 1,
   "erring_node": "02632c9c6c15eb9fdaccd2c538ac1a4959f1aeb90fc6f6b462a953d4792b5aefb1"
}

I got, couldn't find any BROKEN lines in L1 log, but a repeat with debug:io:channeld showed the erring message (I think), which decodes, using devtools/decodemsg, to:

WIRE_UPDATE_ADD_HTLC:
channel_id=6853a5a62c79701196c291707ab58b2e5c9cb3a7fbe240dceeac84a50d2e4cae
id=88
amount_msat=21000msat
payment_hash=eb1aa074c05f867f52bfbd0e88391f4073cadb9f17dd224db6ccc46b4063ddb3
cltv_expiry=3013
onion_routing_packet=[0002625a2c2ea29be327c3cc95939a25a123888ec8532aac9dd203ab7b2adf2c1ddb2edffbad8118ef3b80307b493e26ef319e1b353ced1183e86fe0945e7ba51c961309c39090165b1007d68f9a68bf21b3e86b7be6f81d56a96a306818c21ae8ea6007a6301aa8072538681f3bfc4a6263141a73e4a65fc397013084bae56a776c03e104aa0f9d44c131bb24d78d82bf9773fdab2ddebee8f60b3822e1c6d323f1cc96fde65bcba001ff6ffca609688e7667c3b4ff5b9f8cd857f91e2b7e0691d610a95ec76e17e9e4535b36ca2d673e8240cd95c01caaea60d54dd2b372ba752d18e135fbb6a305001cec761d641587b98a3c20395f6bd2d640e57b8ef204dcf6a47243e7bb9ab622a79d7452db22d2d5a6d647796b1ebac872b4c0ff0d8b7cbc3e20837038a503eb10dc76af18437a67e81e6b0fde4ac5706ee005e15abc7e7ea39e82a0476b80c141a59958b248f021ebe1457bfdd561bdcd5c6978cc7f92fd5d4b66f916f3399a37d4895b1b41cee661d161cf384c31126e93658c9455a6543b8a3e9975d654bdc4a70fa0e479ad0cdedc5d8583bb895a602b9ba87ffaef513d0fe6b596b213295002983885d381175dae4e48775aafd256834e10f23d4e8b5b824e2cab7bf31053f791776245093d670160e4ed2b93e6ff6d54f429f1398bd127512a8eb339c2643e87348feef4c8f6421b3fd342d529097dd2523f6334e4813ecddb916867d5a8334f7595edfe6a857e21fcb87b5a2e2ce6434bd1395e1683f32f72a938d4ee0b5d049fddd8788020f21a4cc54ac5bf64d2fd7f8048dd6f5a0671c1e847af2ca56582d38bcfddcc4df49e2b1b364763f03413a0e87c463ee83630f17d35f91ff81f99915708e60981ef12d1a7e9e3fdb6c25f40bcf4a50cc2f59305678a1a46a73cf5897690d5584b28b2cad334326e24bbd3f17b4a937dde79e026751f1d9a55b2db3e6cc44417ae92d77d2784392968854f2c12c199adddbb0209e9f7b8ecfaa3cfbab30868461359962e8d4cfb971ede20e16b788e0ac38c7cfd97247f5b7ba3b9d713b52df5804a9fbe2ac412c3bfa2d966c43b4e906cafdd4e92a9fa76e21feea595584e7980bd7a29fd5ab66fa8e0d8f30414ed87fca617941ea77a747be4abc201d2050d814dfbc5e6b17da19df194b9070a0da943af2e3308ee18010f47f40084aa4d41f5cd7da10018c95a05ff8e0affbe5003b7fe651b8f2cce6cc84bab560a8043064f6994e7d49ff5ac644a3d16152d100c697f0c3b04b5555f73372af7afae7dfdcd4c42028af30dceced1c38d989ce25f2b6b5dd0c97fb87dfb91b5237cb2ff8f2f389361ce5511e2fc32a8f22a37e121eab068bbf9d5450633b163e221abc0fc303c5d3493f335feb1884288f050cfb25f254fcce84f52b5fb102bab7931a6543239cd44190b2c3eff71a66620bf55e7423244266c146d3de3543a6ffe899ce4c8a8eabc05a3824510b05a811ee3715e325361c1c2c6931281d2f524c0479ebb88ff043b1e972efd3c3ed082f951767487bd1b61d2ec0f11b59a111cc827722519042bfb68d441f8ce9176c72dc7c7ca1081039360620a24aa8849cd663f04fc53c561e8cb23e98e1d505a5ca8ea673f942b03462a715102bc173de2f44c37885658d0f88eb61b64cdbd1daadea3b1a51a4844ca6c306b79c091703771998becc4829d12198ce0cf3a24806ba1e65edcfc8519dfd714751279d1a16ee7724d2e8a4a49f9f47b23ea1c93e2dcefe1560fffa925d03be899e4082c8c81eac9a68de1555723af9b2cb5e697dc4a399b16e81c08fc4bc53cf3cfe82cad274c0bd02f277f79cc6361407c22c27de5ea812236cecd4925f25edbc12133d1efd15068bef919f2dbb7b4cd33bd488191a4bb328e755560b0112234819a1370888f1485290ea44698]
tlvs=

With an empty tlvs=, well that's how far I got.

listconfigs output

listconfigs
{
   "# version": "v22.11.1-27-g3ae58c4",
   "conf": "/home/simon/.lightning2/lightning2.conf",
   "lightning-dir": "/home/simon/.lightning2",
   "network": "regtest",
   "allow-deprecated-apis": true,
   "rpc-file": "lightning-rpc",
   "plugins": [
      {
         "path": "/home/simon/.lightning2/plugins/sparko_linux_amd64",
         "name": "sparko_linux_amd64",
         "options": {
            "sparko-host": "0.0.0.0",
            "sparko-port": "9738",
            "sparko-login": "mywalletusername:mywalletpassword",
            "sparko-keys": null,
            "sparko-tls-path": "/home/simon/.spark-wallet/tls",
            "sparko-letsencrypt-email": null,
            "sparko-allow-cors": false
         }
      }
   ],
   "important-plugins": [
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/autoclean",
         "name": "autoclean",
         "options": {
            "autocleaninvoice-cycle": null,
            "autocleaninvoice-expired-by": null,
            "autoclean-cycle": null,
            "autoclean-succeededforwards-age": null,
            "autoclean-failedforwards-age": null,
            "autoclean-succeededpays-age": null,
            "autoclean-failedpays-age": null,
            "autoclean-paidinvoices-age": null,
            "autoclean-expiredinvoices-age": null
         }
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/bcli",
         "name": "bcli",
         "options": {
            "bitcoin-datadir": null,
            "bitcoin-cli": null,
            "bitcoin-rpcuser": null,
            "bitcoin-rpcpassword": null,
            "bitcoin-rpcconnect": null,
            "bitcoin-rpcport": null,
            "bitcoin-retry-timeout": null,
            "commit-fee": null,
            "dev-max-fee-multiplier": null,
            "dev-no-fake-fees": null
         }
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/fetchinvoice",
         "name": "fetchinvoice",
         "options": {
            "fetchinvoice-noconnect": null
         }
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/funder",
         "name": "funder",
         "options": {
            "funder-policy": null,
            "funder-policy-mod": null,
            "funder-min-their-funding": null,
            "funder-max-their-funding": null,
            "funder-per-channel-min": null,
            "funder-per-channel-max": null,
            "funder-reserve-tank": null,
            "funder-fuzz-percent": null,
            "funder-fund-probability": null,
            "funder-lease-requests-only": null,
            "lease-fee-base-sat": null,
            "lease-fee-base-msat": null,
            "lease-fee-basis": null,
            "lease-funding-weight": null,
            "channel-fee-max-base-msat": null,
            "channel-fee-max-proportional-thousandths": null
         }
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/topology",
         "name": "topology"
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/keysend",
         "name": "keysend"
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/offers",
         "name": "offers"
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/pay",
         "name": "pay",
         "options": {
            "disable-mpp": null
         }
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/txprepare",
         "name": "txprepare"
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/spenderp",
         "name": "spenderp"
      },
      {
         "path": "/home/simon/git/SimonVrouwe/lightning/plugins/bookkeeper",
         "name": "bookkeeper",
         "options": {
            "bookkeeper-dir": null,
            "bookkeeper-db": null
         }
      }
   ],
   "disable-plugin": [
      "cln-grpc",
      "commando",
      "chanbackup"
   ],
   "always-use-proxy": false,
   "daemon": false,
   "wallet": "sqlite3:///home/simon/.lightning2/regtest/lightningd.sqlite3",
   "large-channels": false,
   "experimental-dual-fund": false,
   "experimental-onion-messages": true,
   "experimental-offers": true,
   "experimental-shutdown-wrong-funding": true,
   "announce-addr-dns": false,
   "rgb": "02632c",
   "alias": "CLtest_2",
   "pid-file": "/home/simon/.lightning2/lightningd-regtest.pid",
   "ignore-fee-limits": true,
   "watchtime-blocks": 6,
   "max-locktime-blocks": 2016,
   "funding-confirms": 1,
   "cltv-delta": 6,
   "cltv-final": 10,
   "commit-time": 10,
   "fee-base": 1,
   "rescan": 30,
   "fee-per-satoshi": 10,
   "htlc-minimum-msat": "0msat",
   "htlc-maximum-msat": "18446744073709551615msat",
   "max-concurrent-htlcs": 483,
   "max-dust-htlc-exposure-msat": "50000000msat",
   "min-capacity-sat": 10000,
   "addr": "127.0.0.1:yyyy",
   "addr": "x.x.x.x:yyyy",
   "disable-ip-discovery": false,
   "offline": false,
   "autolisten": true,
   "disable-dns": false,
   "encrypted-hsm": false,
   "rpc-file-mode": "0660",
   "database-upgrade": true,
   "log-level": "debug",
   "log-timestamps": true,
   "log-prefix": ""
}
@SimonVrouwe
Copy link
Collaborator Author

Ok this appears to be one of those config quirks.

Despite L1 listconfigs showing:

"experimental-onion-messages": true,
"experimental-offers": true,

it should still set the command line option experimental-offers to receive payments from its offers.
The sending party L2 does not necessarily need to set it, it just needs to be an --enable-experimental-features build.

@SimonVrouwe
Copy link
Collaborator Author

SimonVrouwe commented Dec 24, 2022

Setting command line option experimental-offers on L1 also makes these BROKEN loglines disappear:

json_to_u32 could not parse \"3000msat\"

But parsing the fee_base_msat field in the listincoming result as u32 integer still looks like a bug.

@vincenzopalazzo vincenzopalazzo added this to the v23.02 milestone Jan 16, 2023
@rustyrussell
Copy link
Contributor

Indeed, our tests turn off deprecated apis (as does the contrib/startup_regtest.sh script!) so we didn't find this!

rustyrussell added a commit to rustyrussell/lightning that referenced this issue Jan 31, 2023
In this case, "fee_base_msat" from `listincoming` has `msat` appended.

Fixes: ElementsProject#5850
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
rustyrussell added a commit to rustyrussell/lightning that referenced this issue Feb 3, 2023
In this case, "fee_base_msat" from `listincoming` has `msat` appended.

Fixes: ElementsProject#5850
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ddustin pushed a commit to ddustin/lightning that referenced this issue Apr 11, 2023
In this case, "fee_base_msat" from `listincoming` has `msat` appended.

Fixes: ElementsProject#5850
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
gkrizek pushed a commit to voltagecloud/lightning that referenced this issue Apr 26, 2023
In this case, "fee_base_msat" from `listincoming` has `msat` appended.

Fixes: ElementsProject#5850
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ddustin pushed a commit to ddustin/lightning that referenced this issue May 12, 2023
In this case, "fee_base_msat" from `listincoming` has `msat` appended.

Fixes: ElementsProject#5850
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants