Skip to content

Commit ee40947

Browse files
committed
features: advertise option_attribution_data
Set bit 37 in init, node_announcement and BOLT11 invoice feature fields so peers know we can generate and relay attribution data. Key changes: - Add OPT_ATTRIBUTION_DATA to common/features.h. - Register it in common/features.c with the IN9 context. - Add it to default_features() in lightningd.c.
1 parent c870da7 commit ee40947

27 files changed

Lines changed: 167 additions & 159 deletions

‎common/features.c‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,11 @@ static const struct feature_style feature_styles[] = {
124124
.copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT,
125125
[NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT,
126126
[CHANNEL_FEATURE] = FEATURE_DONT_REPRESENT } },
127+
{ OPT_ATTRIBUTION_DATA,
128+
.copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT,
129+
[NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT,
130+
[BOLT11_FEATURE] = FEATURE_REPRESENT,
131+
[CHANNEL_FEATURE] = FEATURE_DONT_REPRESENT } },
127132
{ OPT_PAYMENT_METADATA,
128133
.copy_style = { [INIT_FEATURE] = FEATURE_DONT_REPRESENT,
129134
[NODE_ANNOUNCE_FEATURE] = FEATURE_DONT_REPRESENT,
@@ -426,7 +431,7 @@ const char *feature_name(const tal_t *ctx, size_t f)
426431
"option_amp", /* 30/31 */ /* https://github.com/lightning/bolts/pull/658 */
427432
NULL,
428433
"option_quiesce", /* https://github.com/lightning/bolts/pull/869 */
429-
NULL,
434+
"option_attribution_data", /* https://github.com/lightning/bolts/pull/1044 */
430435
"option_onion_messages", /* https://github.com/lightning/bolts/pull/759 */
431436
NULL,
432437
"option_provide_storage",

‎common/features.h‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ struct feature_set *feature_set_dup(const tal_t *ctx,
143143
#define OPT_SHUTDOWN_ANYSEGWIT 26
144144
#define OPT_DUAL_FUND 28
145145
#define OPT_QUIESCE 34
146+
#define OPT_ATTRIBUTION_DATA 36
146147
#define OPT_ONION_MESSAGES 38
147148
#define OPT_PROVIDE_STORAGE 42
148149
#define OPT_CHANNEL_TYPE 44

‎contrib/msggen/msggen/schema.json‎

Lines changed: 78 additions & 78 deletions
Large diffs are not rendered by default.

‎doc/schemas/commando.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
"netaddr": [
125125
"127.0.0.1:30005"
126126
],
127-
"features": "800898882a8a59a1"
127+
"features": "800898a82a8a59a1"
128128
}
129129
]
130130
}
@@ -138,7 +138,7 @@
138138
"rune": "a0noy2CAu8-s2xSgJuBW09hqB_YsqLkwIDy5qkftGMk9MiZtZXRob2Q9cGF5JnBuYW1lYW1vdW50bXNhdDwxMDAwMA==",
139139
"method": "pay",
140140
"params": {
141-
"bolt11": "lnbcrt1pne035qsp5r0wdx7ur2ksfqp3m20sdy2yleawgnkc6zu0ua3qek25zr280rjfspp5gtsy37aeh4vz7alehxl88yak5234edpyp58780hztrw9ysyxpkwsdqcdserxgryv4ekxunfwp6xjmmwxqyjw5qcqp99qxpqysgq092sevrrqgr60s7v248nxhyqlfdktu9rdeg728j2eduafqh8wqd3jycamqf84n0rpempvyhacvkaqjtkqrqqu3fy9vmcl503mjzkfksqtz6mm3",
141+
"bolt11": "lnbcrt1pne035qsp5r0wdx7ur2ksfqp3m20sdy2yleawgnkc6zu0ua3qek25zr280rjfspp5gtsy37aeh4vz7alehxl88yak5234edpyp58780hztrw9ysyxpkwsdqcdserxgryv4ekxunfwp6xjmmwxqyjw5qcqp99qgyqpqysgqguvadxe2ly38wew38w2f5n04r5ua6ju9uh4szhndepflvle3945rpa53euvz2gkfv7kjm8drdkfgf8kw0gcjmvkkt4jjfruj7zlpc9cpus97ph",
142142
"amount_msat": 9900
143143
}
144144
}

‎doc/schemas/connect.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@
199199
},
200200
"response": {
201201
"id": "033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a",
202-
"features": "800898882a8a59a1",
202+
"features": "800898a82a8a59a1",
203203
"direction": "out",
204204
"address": {
205205
"type": "ipv4",
@@ -220,7 +220,7 @@
220220
},
221221
"response": {
222222
"id": "03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31",
223-
"features": "800898882a8a59a1",
223+
"features": "800898a82a8a59a1",
224224
"direction": "out",
225225
"address": {
226226
"type": "ipv4",

‎doc/schemas/createinvoice.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,14 +211,14 @@
211211
"id": "example:createinvoice#1",
212212
"method": "createinvoice",
213213
"params": {
214-
"invstring": "lnbcrt1u1pne035qsp5j9w8t9p2y6an5se63n3vkpp8c20vdsthtn78sv5t2lmt57l742wqpp5wtxkappzcsrlkmgfs6g0zyct0hkhashh7hsaxz7e65slq9fkx7fsdqcdscnxgryv4ekxunfwp6xjmmwxqyjw5qcqp9rzjqvuytqpdyk6wqaxvl47d3vee5swuwklej79qxjqqg394r4ptqaue5qqqwsqqqqgqqyqqqqqpqqqqqzsqqc9qxpqysgq5lem7pan063777cxw3grnc0wk0g8fc9ae9f5megyh532caqsc3cjh2ggl79dkq5ltzwcs930gwznt94alnwwnmsum2d7ewq0xye9ymspes6h5h",
214+
"invstring": "lnbcrt1u1pne035qsp5j9w8t9p2y6an5se63n3vkpp8c20vdsthtn78sv5t2lmt57l742wqpp5wtxkappzcsrlkmgfs6g0zyct0hkhashh7hsaxz7e65slq9fkx7fsdqcdscnxgryv4ekxunfwp6xjmmwxqyjw5qcqp9rzjqvuytqpdyk6wqaxvl47d3vee5swuwklej79qxjqqg394r4ptqaue5qqqwsqqqqgqqyqqqqqpqqqqqzsqqc9qgyqpqysgqvgxh734hkk5s53ea7fvyjapf33wk50fpuq9dquf83jjh542xk6es53d2nqa78lwy3wscspsfugerdstnj4jznxhg842l5fk3rcu0vdgppgr76a",
215215
"label": "lbl_l13",
216216
"preimage": "0101010101010101010101010101010101010101010101010101010101010101"
217217
}
218218
},
219219
"response": {
220220
"label": "lbl_l13",
221-
"bolt11": "lnbcrt1u1pne035qsp5j9w8t9p2y6an5se63n3vkpp8c20vdsthtn78sv5t2lmt57l742wqpp5wtxkappzcsrlkmgfs6g0zyct0hkhashh7hsaxz7e65slq9fkx7fsdqcdscnxgryv4ekxunfwp6xjmmwxqyjw5qcqp9rzjqvuytqpdyk6wqaxvl47d3vee5swuwklej79qxjqqg394r4ptqaue5qqqwsqqqqgqqyqqqqqpqqqqqzsqqc9qxpqysgqqaemjv2lvc6zfl6zjt320drsvqx2g2ewlcv6cja38vzqwd45vy7y4w2u2wxxydtukl4uplukq7a70q638r6nv32c2j0jdw8clf5k2gsp32pee4",
221+
"bolt11": "lnbcrt1u1pne035qsp5j9w8t9p2y6an5se63n3vkpp8c20vdsthtn78sv5t2lmt57l742wqpp5wtxkappzcsrlkmgfs6g0zyct0hkhashh7hsaxz7e65slq9fkx7fsdqcdscnxgryv4ekxunfwp6xjmmwxqyjw5qcqp9rzjqvuytqpdyk6wqaxvl47d3vee5swuwklej79qxjqqg394r4ptqaue5qqqwsqqqqgqqyqqqqqpqqqqqzsqqc9qgyqpqysgq4nkgpjapuk9wsktkyhp6q59n2h2pju5p8p6s9kdtnu9g0gek3v2rw07ak6klrlzh8eghct2vwcscmd42tgwz88dg92hju9m7xy7qc6gprl79eu",
222222
"payment_hash": "72cd6e8422c407fb6d098690f1130b7ded7ec2f7f5e1d30bd9d521f015363793",
223223
"amount_msat": 100000,
224224
"status": "unpaid",

‎doc/schemas/decode.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2976,7 +2976,7 @@
29762976
"id": "example:decode#2",
29772977
"method": "decode",
29782978
"params": [
2979-
"lnbcrt2u1pne035qsp5syt0v2w9nsa7xnu9neq9np0ln5c7e25mnurjppqzwktwtkr830sqpp50efh2wgkgp2ftp6spsdl5pwsgmjf6cncm793a8yck764rnmh35gqdqcdserygryv4ekxunfwp6xjmmwxqyjw5qcqp9rzjq08vhlwxs4zvcktzywmgecr3pj096tyukvt7upuz9k2s0xkvwq7nzqqqwcqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgq2ysc0ll0du4pgdz0l8xt9uu47t72k3chdxvxnrj9vj6arxecvej4cmh2x3uwe9xye2mpm2df5xfuh9xgcc0um4uwnc69x5yu5glqfgcqac9wfd"
2979+
"lnbcrt2u1pne035qsp5syt0v2w9nsa7xnu9neq9np0ln5c7e25mnurjppqzwktwtkr830sqpp50efh2wgkgp2ftp6spsdl5pwsgmjf6cncm793a8yck764rnmh35gqdqcdserygryv4ekxunfwp6xjmmwxqyjw5qcqp9rzjq08vhlwxs4zvcktzywmgecr3pj096tyukvt7upuz9k2s0xkvwq7nzqqqwcqqqqgqqqqqqqqpqqqqqzsqqc9qgyqpqysgqsaw2stysdpjjwzzqg560dpe36wkjkwsaq7k5r7nrqw6y57hr3smjh6tns2nsr428vx3cd8qg7lxza8geycd7jg84g3xfp40lsw7q5cqpvd5k6j"
29802980
]
29812981
},
29822982
"response": {
@@ -2989,7 +2989,7 @@
29892989
"description": "l22 description",
29902990
"min_final_cltv_expiry": 5,
29912991
"payment_secret": "8116f629c59c3be34f859e405985ff9d31ecaa9b9f072084027596e5d8678be0",
2992-
"features": "02024100",
2992+
"features": "2002024100",
29932993
"routes": [
29942994
[
29952995
{
@@ -3002,7 +3002,7 @@
30023002
]
30033003
],
30043004
"payment_hash": "7e5375391640549587500c1bfa05d046e49d6278df8b1e9c98b7b551cf778d10",
3005-
"signature": "30440220512187ffef6f2a14344ff9ccb2f395f2fcab47176998698e4564b5d19b38666502205c6eea3478ec94c4cab61da9a9a193cb94c8c61fcdd78e9e3453509ca23e04a3",
3005+
"signature": "3045022100875ca82c9068652708404534f68731d3ad2b3a1d07ad41fa6303b44a7ae38c3702202be97382a701d54761a3869c08f7cc2e9d19261be920f5444c90d5ff83bc0a60",
30063006
"valid": true
30073007
}
30083008
}

‎doc/schemas/delinvoice.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@
303303
},
304304
"response": {
305305
"label": "lbl_l36",
306-
"bolt11": "lnbcrt500u1pne035qsp5zkz2glrfqgvw7dar86umteldh7rrspqg6qt0s7t5qrs2zwr7urkspp5msm0sn03dnp47a5vtfx9qvzdscqluuwnzupy5hx0ulqswwa4j7wqdqcdsenvgryv4ekxunfwp6xjmmwxqyjw5qcqp99qxpqysgqajsulk3lmdklgd8y6vf942m874kpgew4xnk3qp8dxz0jz4nscn6r6wxmuu8fw76nhcpcpqyzgrwgk0eqjv5hzja6cqdp22wv8de3mygp7kgefl",
306+
"bolt11": "lnbcrt500u1pne035qsp5zkz2glrfqgvw7dar86umteldh7rrspqg6qt0s7t5qrs2zwr7urkspp5msm0sn03dnp47a5vtfx9qvzdscqluuwnzupy5hx0ulqswwa4j7wqdqcdsenvgryv4ekxunfwp6xjmmwxqyjw5qcqp99qgyqpqysgqc825cv844n0wgpgnvfs6c2sx8h5vh6wdjf4naad9e5hqu9vkwv5kykwleqqf9zu7afzz6jvmc6xs67emwu45kaxhns35rmh7uf30kzqpsz3zme",
307307
"payment_hash": "dc36f84df16cc35f768c5a4c50304d8601fe71d317024a5ccfe7c1073bb5979c",
308308
"amount_msat": 50000000,
309309
"status": "unpaid",
@@ -324,7 +324,7 @@
324324
},
325325
"response": {
326326
"label": "lbl_l37",
327-
"bolt11": "lnbcrt500u1pne035qsp5h4ctf82jng2sd6uqzsmzn32r7w2mjhdgsa2tlayr7c2e2s2727jqpp5xq8txm0yn56cf3k7jg46dnqrdhukl87g605vrjyx6p2vk3tpay2sdqcdsenwgryv4ekxunfwp6xjmmwxqyjw5qcqp99qxpqysgqeypx4zjc3tupr0wzlryztjgsme4zgfh6vk9fw504fx7ctrpg6nvsnse9kmwzy3h8km53rfa9cfvrufp7ycfhpndfqkzk6p6khws2c7spyevnqf",
327+
"bolt11": "lnbcrt500u1pne035qsp5h4ctf82jng2sd6uqzsmzn32r7w2mjhdgsa2tlayr7c2e2s2727jqpp5xq8txm0yn56cf3k7jg46dnqrdhukl87g605vrjyx6p2vk3tpay2sdqcdsenwgryv4ekxunfwp6xjmmwxqyjw5qcqp99qgyqpqysgqudlr4seygurarq3k9z6ea6kqrtxlwaahjlzcm7au9qampgs0pttxz08kgk56aqeljqlzrr90m6cxkuketpxn32s289lmhf7c59axx2gq9a9kzy",
328328
"payment_hash": "300eb36de49d3584c6de922ba6cc036df96f9fc8d3e8c1c886d054cb4561e915",
329329
"amount_msat": 50000000,
330330
"status": "paid",

‎doc/schemas/delpay.json‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@
233233
"completed_at": 1738000000,
234234
"status": "complete",
235235
"payment_preimage": "09e7f193a0100e9f09e7f193a0100e9f09e7f193a0100e9f09e7f193a0100e9f",
236-
"bolt11": "lnbcrt5m1pne035qsp5f7fj3w9sqj6974p0gnpd7snqr2qfezav2mp26e20nx3vty5cweaqpp5r9rj6sc3p7m56lpfg6934mqf45hsp2gl4aa3kwt56pmrphh7w6ssdpcv3jhxcmjd9c8g6t0dcs8xetwvss8xmmdv5s8xct5wvsxcvfqw3hjqmpjxqyjw5qcqp9rzjq08vhlwxs4zvcktzywmgecr3pj096tyukvt7upuz9k2s0xkvwq7nzqqqwcqqqqgqqqqqqqqpqqqqqzsqqc9qxpqysgqxjn3ms2m2xm65w5pf0ulf7km28ma0luz2whhgpajnt5ecmwhp2x3ks3qzwxr907fc9g5l3quwn97u8tf0gkm5ppfvxh2dndy3z6up0cqyk54qc"
236+
"bolt11": "lnbcrt5m1pne035qsp5f7fj3w9sqj6974p0gnpd7snqr2qfezav2mp26e20nx3vty5cweaqpp5r9rj6sc3p7m56lpfg6934mqf45hsp2gl4aa3kwt56pmrphh7w6ssdpcv3jhxcmjd9c8g6t0dcs8xetwvss8xmmdv5s8xct5wvsxcvfqw3hjqmpjxqyjw5qcqp9rzjq08vhlwxs4zvcktzywmgecr3pj096tyukvt7upuz9k2s0xkvwq7nzqqqwcqqqqgqqqqqqqqpqqqqqzsqqc9qgyqpqysgqqmty9p997rgedesj0sa636965v9pknztz4fz7j7kg5zcsze8qwsjmpprfmz8v9mr8jxy2nxfmgs2uaqfnn3gx7nx642zt0wg8c85gnsqm084kc"
237237
}
238238
]
239239
}
@@ -262,7 +262,7 @@
262262
"created_at": 1738000000,
263263
"completed_at": 1738000000,
264264
"status": "failed",
265-
"bolt11": "lnbcrt500u1pne035qsp5zkz2glrfqgvw7dar86umteldh7rrspqg6qt0s7t5qrs2zwr7urkspp5msm0sn03dnp47a5vtfx9qvzdscqluuwnzupy5hx0ulqswwa4j7wqdqcdsenvgryv4ekxunfwp6xjmmwxqyjw5qcqp99qxpqysgqajsulk3lmdklgd8y6vf942m874kpgew4xnk3qp8dxz0jz4nscn6r6wxmuu8fw76nhcpcpqyzgrwgk0eqjv5hzja6cqdp22wv8de3mygp7kgefl",
265+
"bolt11": "lnbcrt500u1pne035qsp5zkz2glrfqgvw7dar86umteldh7rrspqg6qt0s7t5qrs2zwr7urkspp5msm0sn03dnp47a5vtfx9qvzdscqluuwnzupy5hx0ulqswwa4j7wqdqcdsenvgryv4ekxunfwp6xjmmwxqyjw5qcqp99qgyqpqysgqc825cv844n0wgpgnvfs6c2sx8h5vh6wdjf4naad9e5hqu9vkwv5kykwleqqf9zu7afzz6jvmc6xs67emwu45kaxhns35rmh7uf30kzqpsz3zme",
266266
"erroronion": "7ba35f9458338a60a01ca6716c7df8433fb6af60f349064ae3dda4e0795c52bfbd68428a565ab1ff4f437982b47c8925478488786c4d8793f9e3b46af3a76367a8569bcdbf58ccdd37c4bbaf00633bafa089cf9650df9fa903942358853e3b886fbdfa1143d762e016093c3e4a6278595ee1db1b94ff44a96ac7cc5cbe3164e7a01aedb06109de0e6b0e9376a482e14a81619801075ac250fa3b433b55c284c9e949da053b8ace0a32a8da568945043d7e2d310bc022a595c7ae77d982ac086b904492bc718581872ce28ec12c487efec50235234fd67ed2cb3e49820dce94727d6d07262e5cc98b1906f70d310275731c489ae5f32b61cf8bf9b61e3d34c362f57fc151804ed08dddb456f1cd8196f98e8da125fd71755fd438c757897f4e61578fcf09"
267267
}
268268
]

‎doc/schemas/getinfo.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -420,10 +420,10 @@
420420
"fees_collected_msat": 0,
421421
"lightning-dir": "/home/rusty/.lightning/regtest",
422422
"our_features": {
423-
"init": "800898882a8a59a1",
424-
"node": "808898882a8a59a1",
423+
"init": "800898a82a8a59a1",
424+
"node": "808898a82a8a59a1",
425425
"channel": "",
426-
"invoice": "02000002024100"
426+
"invoice": "02002002024100"
427427
}
428428
}
429429
}

0 commit comments

Comments
 (0)