{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":73738971,"defaultBranch":"master","name":"bolts","ownerLogin":"lightning","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-11-14T19:21:45.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8384513?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1688069004.0","currentOid":""},"activityList":{"items":[{"before":"5f8fea8dc3c8c612167dd9645c4a21fe9de2f147","after":"fc687e8c7638a65c9120777025ae5ae53e4e622f","ref":"refs/heads/master","pushedAt":"2024-05-20T20:06:27.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"niftynei","name":"neil saitug","path":"/niftynei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1097769?s=80&v=4"},"commit":{"message":"BOLT 9: Remove initial_routing_sync.\n\nThis only had an effect when `gossip_queries` was not negotiated, which is now assumed.\n\nSigned-off-by: Rusty Russell ","shortMessageHtmlLink":"BOLT 9: Remove initial_routing_sync."}},{"before":"db278ab9b2baa0b30cfe79fb3de39280595938d3","after":"5f8fea8dc3c8c612167dd9645c4a21fe9de2f147","ref":"refs/heads/master","pushedAt":"2024-05-07T07:45:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"gossip: 12-blocks delay channel closed follow-up (#1156)\n\nWe introduced a 12-blocks delay for channel closing in #1004, but we\r\ndidn't update the requirement in the section about pruning.","shortMessageHtmlLink":"gossip: 12-blocks delay channel closed follow-up (#1156)"}},{"before":"08ce2f6f83619b777bebd86d6dff4a29096e35ae","after":"db278ab9b2baa0b30cfe79fb3de39280595938d3","ref":"refs/heads/master","pushedAt":"2024-04-22T20:21:55.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"Merge pull request #1151 from Roasbeef/blinded-paths-notation\n\nBOLT-04: use underscores in place of parens for blinded paths notation","shortMessageHtmlLink":"Merge pull request #1151 from Roasbeef/blinded-paths-notation"}},{"before":"78e5a6b066d3a8e235931dfc06aa325337874749","after":"08ce2f6f83619b777bebd86d6dff4a29096e35ae","ref":"refs/heads/master","pushedAt":"2024-03-14T10:48:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Fix broken link in BOLT-2 (#1148)","shortMessageHtmlLink":"Fix broken link in BOLT-2 (#1148)"}},{"before":"60de4a09727c20dea330f9ee8313034de6e50594","after":"78e5a6b066d3a8e235931dfc06aa325337874749","ref":"refs/heads/master","pushedAt":"2024-03-12T08:56:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"04-onion-routing: strict validation of scid for blinded payments (#1147)\n\nThis commit updates bolt04 to more strictly enforce that encrypted_data\r\nthat is part of a blinded payment only has short_channel_id set. On\r\nthe reader side, we disallow setting of both short_channel_id and\r\nnext_node_id (which is intended for use in the context of onion\r\nmessages), and on the writer side we specify that next_node_id should\r\nnot be included by recipients.","shortMessageHtmlLink":"04-onion-routing: strict validation of scid for blinded payments (#1147)"}},{"before":"c01d2e6267d4a8d1095f0f1188970055a9a22d29","after":"0c636259b41cb4c9e5cf7d8cfa84eb6e0397a30f","ref":"refs/heads/trampoline-onion","pushedAt":"2024-03-12T08:51:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Update short_channel_ids in test vectors\n\nEnsure they don't start with `0x0x` which is confusing.","shortMessageHtmlLink":"Update short_channel_ids in test vectors"}},{"before":"8fc3ba9f0cd3ea533bf512ff9d7221bb5bf45bb1","after":"60de4a09727c20dea330f9ee8313034de6e50594","ref":"refs/heads/master","pushedAt":"2024-02-22T09:01:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"BOLT 7: correct the default `min_final_cltv_expiry_delta` in routing example (#1143)","shortMessageHtmlLink":"BOLT 7: correct the default min_final_cltv_expiry_delta in routing …"}},{"before":"ec525cc41805e3b48c164ab2a283e158071a7ae1","after":"8fc3ba9f0cd3ea533bf512ff9d7221bb5bf45bb1","ref":"refs/heads/master","pushedAt":"2024-02-19T08:34:00.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"BOLT 4: It's Check Lock Time Verify not Check Time Lock Verify. (#1141)\n\nI always get this wrong too, so CLN actually has a source check for this, and it triggered when importing the latest spec!\r\n\r\nSigned-off-by: Rusty Russell ","shortMessageHtmlLink":"BOLT 4: It's Check Lock Time Verify not Check Time Lock Verify. (#1141)"}},{"before":"0bdaa8b9f65fc82a178d0d8722d352f2320b02f4","after":"ec525cc41805e3b48c164ab2a283e158071a7ae1","ref":"refs/heads/master","pushedAt":"2024-02-15T22:27:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"},"commit":{"message":"Update Signet port to correct hex value in BOLT #1 spec","shortMessageHtmlLink":"Update Signet port to correct hex value in BOLT #1 spec"}},{"before":"9f55ccdfee54534f4de8339f8934415b218ec84a","after":"0bdaa8b9f65fc82a178d0d8722d352f2320b02f4","ref":"refs/heads/master","pushedAt":"2024-02-13T17:55:23.000Z","pushType":"pr_merge","commitsCount":21,"pusher":{"login":"niftynei","name":"neil saitug","path":"/niftynei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1097769?s=80&v=4"},"commit":{"message":"dual-fund: add `require_confirmed_inputs` to RBF messages\n\nMake `require_confirmed_inputs` explicit for RBF regnegotiation.\n\nRequested-By: @t-bast","shortMessageHtmlLink":"dual-fund: add require_confirmed_inputs to RBF messages"}},{"before":"985cf69e25d81174545048bd70790b8a33605118","after":"c01d2e6267d4a8d1095f0f1188970055a9a22d29","ref":"refs/heads/trampoline-onion","pushedAt":"2024-02-07T12:24:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Add reference test vector","shortMessageHtmlLink":"Add reference test vector"}},{"before":"dbe2bcfdc70937ef34c4f465d6cc5bd1fc3816b4","after":"b80370de3d1920cdec5ba56ed19fe5a1960485ec","ref":"refs/heads/trampoline-routing-no-gossip","pushedAt":"2024-02-05T09:25:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Trampoline Routing\n\nThis proposal allows nodes running on constrained devices to sync only a\nsmall portion of the network and leverage trampoline nodes to calculate\nthe missing parts of the payment route.\n\nThe main idea is to use layered onions: a normal onion contains a smaller\nonion for the last hop of the route, and that smaller onion contains routing\ninformation to reach the next trampoline hop.","shortMessageHtmlLink":"Trampoline Routing"}},{"before":"086a8af2943a721b99e818c2c6d880efc5376688","after":"985cf69e25d81174545048bd70790b8a33605118","ref":"refs/heads/trampoline-onion","pushedAt":"2024-02-05T08:22:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Trampoline onion format\n\nTrampoline routing uses layered onions to trustlessly and privately offload\nthe calculation of parts of a payment route to remote trampoline nodes.\n\nA normal onion contains a smaller onion for the last hop of the route, and\nthat smaller onion contains routing information about the next trampoline hop.\n\nIntermediate trampoline nodes \"fill the gap\" by finding a route to the next\ntrampoline node, and sending it the peeled trampoline onion, until that\nreaches the final destination.","shortMessageHtmlLink":"Trampoline onion format"}},{"before":"a4b6357bad4714f12f05d031a96fa613f5ab1995","after":"9f55ccdfee54534f4de8339f8934415b218ec84a","ref":"refs/heads/master","pushedAt":"2024-01-30T05:54:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Fix typos (#1130)\n\n* BOLT 04: fix typos\r\n* proposals: fix typos","shortMessageHtmlLink":"Fix typos (#1130)"}},{"before":"8a64c6a1cef979b3f0cecb00ba7a48c2d28b3588","after":"a4b6357bad4714f12f05d031a96fa613f5ab1995","ref":"refs/heads/master","pushedAt":"2024-01-30T05:52:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Add `min_final_expiry_delta` to blinded route example (#1131)\n\nPayment recipients must ensure that they have a few blocks\r\nbefore fulfilling the payment, in case the inbound channel\r\nforce-closes.","shortMessageHtmlLink":"Add min_final_expiry_delta to blinded route example (#1131)"}},{"before":"7620072cef413291de40853a4ef0248fd0f3653f","after":"8a64c6a1cef979b3f0cecb00ba7a48c2d28b3588","ref":"refs/heads/master","pushedAt":"2023-10-23T19:08:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"Merge pull request #1086 from ariard/2023-06-specify-max-cltv-expiry-delta\n\nBOLT4: Specify max HTLC nLocktime for expiry_too_far","shortMessageHtmlLink":"Merge pull request #1086 from ariard/2023-06-specify-max-cltv-expiry-…"}},{"before":"4dcc377209509b13cf89a4b91fde7d478f5b46d8","after":"7620072cef413291de40853a4ef0248fd0f3653f","ref":"refs/heads/master","pushedAt":"2023-10-23T19:07:49.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"Merge pull request #1109 from rustyrussell/define-negotiated\n\nBOLT 1: define what `offered` and `negotiated` mean.","shortMessageHtmlLink":"Merge pull request #1109 from rustyrussell/define-negotiated"}},{"before":"6649f51228c9c8d43f83e354494e8f5745e723a7","after":"4dcc377209509b13cf89a4b91fde7d478f5b46d8","ref":"refs/heads/master","pushedAt":"2023-09-25T20:20:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"},"commit":{"message":"Clarify the semantics of max_htlc_value_in_flight_msat\n\nPrior wording of the description of this parameter left room for\nambiguity around whether it capped the total value offered by both\nchannel peers combined or if it was solely capping the total value\nof HTLCs offered by the remote.","shortMessageHtmlLink":"Clarify the semantics of max_htlc_value_in_flight_msat"}},{"before":"6e85df448bfee7d10f26aabb06b8eba3d7505888","after":"6649f51228c9c8d43f83e354494e8f5745e723a7","ref":"refs/heads/master","pushedAt":"2023-09-25T20:12:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"},"commit":{"message":"CONTRIBUTING.md: modern feature bit assignment.\n\n1. Put it in the PR title so everyone can see.\n2. Deploy with +100 while it's still unratified, in case it changes.\n\nSigned-off-by: Rusty Russell ","shortMessageHtmlLink":"CONTRIBUTING.md: modern feature bit assignment."}},{"before":"a1870e136e985e4071d389a1ccef073ad786253d","after":"6e85df448bfee7d10f26aabb06b8eba3d7505888","ref":"refs/heads/master","pushedAt":"2023-08-28T12:13:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"BOLT2: change \"reject\" to \"fail\" in channel opening requirements (#1104)\n\nSince \"reject\" isn't defined anywhere in the spec and \"fail\" does\r\nhave a definition laid out in BOLT1 that includes special\r\nprovisions for channels that have not yet been established, BOLT2\r\nis amended to clarify the requirements for the receiver of\r\n`accept_channel`","shortMessageHtmlLink":"BOLT2: change \"reject\" to \"fail\" in channel opening requirements (#1104)"}},{"before":"8cb9b890cc7e2666b627c03fb38110aad3594e3f","after":"a1870e136e985e4071d389a1ccef073ad786253d","ref":"refs/heads/master","pushedAt":"2023-08-14T21:08:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Add a `max_dust_htlc_exposure_msat` (#919)\n\n* Bound exposure to trimmed in-flight HTLCs\r\n* Reject update_fee beyond max_dust_htlc_exposure_msat\r\n\r\nCo-authored-by: t-bast ","shortMessageHtmlLink":"Add a max_dust_htlc_exposure_msat (#919)"}},{"before":"fbd19efe1fe6b22305143f5edad6e284dc7fbedf","after":"8cb9b890cc7e2666b627c03fb38110aad3594e3f","ref":"refs/heads/master","pushedAt":"2023-08-14T20:18:07.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"Roasbeef","name":"Olaoluwa Osuntokun","path":"/Roasbeef","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/998190?s=80&v=4"},"commit":{"message":"Merge pull request #1095 from vincenzopalazzo/macros/specify-multiple-fields\n\nbol09: Specify behavior when a node specifies both optional and required features","shortMessageHtmlLink":"Merge pull request #1095 from vincenzopalazzo/macros/specify-multiple…"}},{"before":"7dda8f84edb8655766d83619cb41110c1bf43f85","after":"fbd19efe1fe6b22305143f5edad6e284dc7fbedf","ref":"refs/heads/master","pushedAt":"2023-08-11T15:29:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Clarify computation of final outgoing_expiry in route blinding (#1069)\n\nBOLT 12 invoices do not include a max_cltv_expiry field, so it's good to\r\nclarify how senders can compute the final outgoing cltv expiry.","shortMessageHtmlLink":"Clarify computation of final outgoing_expiry in route blinding (#1069)"}},{"before":"803a532c49be2f152c7f2dbaa0ec7d4c23a6013d","after":"7dda8f84edb8655766d83619cb41110c1bf43f85","ref":"refs/heads/master","pushedAt":"2023-08-09T09:35:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Bolt11: min_final_cltv_expiry_delta is optional, not required (#1100)","shortMessageHtmlLink":"Bolt11: min_final_cltv_expiry_delta is optional, not required (#1100)"}},{"before":"9ab3c87a287237ac4a6ffc4cd9f9be6225fef18a","after":"803a532c49be2f152c7f2dbaa0ec7d4c23a6013d","ref":"refs/heads/master","pushedAt":"2023-07-31T20:50:16.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"},"commit":{"message":"fixup! BOLT 4: onion message support.\n\n@thomash-acinq points out:\n\n1. We absolutely can put other fields in `encrypted_data_tlv`, esp. padding, and test vectors do this.\n2. Presumably it was supposed to refer to onionmsg_tlv, so fix that.\n3. And of course we need to allow payload fields!","shortMessageHtmlLink":"fixup! BOLT 4: onion message support."}},{"before":"7d3ef5a6b20eb84982ea2bfc029497082adf20d8","after":"9ab3c87a287237ac4a6ffc4cd9f9be6225fef18a","ref":"refs/heads/master","pushedAt":"2023-07-31T20:40:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"niftynei","name":"neil saitug","path":"/niftynei","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1097769?s=80&v=4"},"commit":{"message":"Correct final_cltv handling in blinded paths\n\nWhen paying a blinded path, we don't have a CLTV delta at each hop\navailable, but rather only a total CLTV delta for the entire\nblinded path.\n\nHowever, the onion format currently still requires that we specify\nan `outgoing_cltv_value` for the final hop. As the sender, we don't\nhave a sensible value to put there, as we don't know which part of\nthe total CLTV delta belongs to the recipient.\n\nThe sender is instructed to use the values that are known to them\nwhen setting `outgoing_cltv_value` for the final hop:\n- The current block height.\n- Any additional delta added to account for block propagation and\n improve privacy.\n\nThis change reflects the behavior of some implementations at the time\nof writing.","shortMessageHtmlLink":"Correct final_cltv handling in blinded paths"}},{"before":"7f53a3e46ed59f19463447d5fa63b3e484c708a5","after":"7d3ef5a6b20eb84982ea2bfc029497082adf20d8","ref":"refs/heads/master","pushedAt":"2023-07-27T09:31:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"t-bast","name":"Bastien Teinturier","path":"/t-bast","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31281497?s=80&v=4"},"commit":{"message":"Allow unset `onion_hash` in `invalid_onion_blinding` (#1093)\n\nIn most cases the `onion_hash` isn't actionable in the case of blinded\r\npayments and it's wasteful to keep track of the incoming onion, so we\r\nallow setting it to an all zero value.","shortMessageHtmlLink":"Allow unset onion_hash in invalid_onion_blinding (#1093)"}},{"before":"e0995c9b84ac25ebcd9b16bd78d4f86b4e49bffa","after":"7f53a3e46ed59f19463447d5fa63b3e484c708a5","ref":"refs/heads/master","pushedAt":"2023-07-17T20:08:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"},"commit":{"message":"BOLT 8: make it clear that there are *two* chaining keys.\n\nlnmessage got this wrong! It would pass our test vectors, but actually fail\nin real usage, since it used the same `ck`.\n\nAlso, nonce rotation happens after 1000 encryptions, which is when the nonce\nreaches 1000 (since it's zero based!), not when it *exceeds* 1000.\n\nSigned-off-by: Rusty Russell ","shortMessageHtmlLink":"BOLT 8: make it clear that there are *two* chaining keys."}},{"before":"49190318241ddc1c8d0c1d437426d9ac921ceac7","after":null,"ref":"refs/heads/guilt/onion-messages","pushedAt":"2023-06-29T20:03:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"}},{"before":null,"after":"49190318241ddc1c8d0c1d437426d9ac921ceac7","ref":"refs/heads/guilt/onion-messages","pushedAt":"2023-06-29T20:02:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"rustyrussell","name":"Rusty Russell","path":"/rustyrussell","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/775844?s=80&v=4"},"commit":{"message":"onionmessage: allow short channel ids in place of next_node_id.\n\n@thebluematt wanted to reduce blinded paths for offers. This should help!\n\nSigned-off-by: Rusty Russell ","shortMessageHtmlLink":"onionmessage: allow short channel ids in place of next_node_id."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAETyZ9JgA","startCursor":null,"endCursor":null}},"title":"Activity · lightning/bolts"}