Skip to content

Bolt quote updates and improvements#9079

Open
nGoline wants to merge 14 commits intoElementsProject:masterfrom
nGoline:bolt-quote-update
Open

Bolt quote updates and improvements#9079
nGoline wants to merge 14 commits intoElementsProject:masterfrom
nGoline:bolt-quote-update

Conversation

@nGoline
Copy link
Copy Markdown
Collaborator

@nGoline nGoline commented Apr 23, 2026

Checklist

Before submitting the PR, ensure the following tasks are completed. If an item is not applicable to your PR, please mark it as checked:

  • The changelog has been updated in the relevant commit(s) according to the guidelines.
  • Tests have been added or modified to reflect the changes.
  • Documentation has been reviewed and updated as needed.
  • Related issues have been listed and linked, including any that this PR closes.
  • Important All PRs must consider how to reverse any persistent changes for tools/lightning-downgrade

Changelog-None: changes made to BOLT quotes and tests

nGoline added 7 commits April 23, 2026 11:08
…e on v26.04

Also modified .gitignore rule to ignore all generated config.vars*
when running `check-bolt` with `--verbose` it will give better context on the failure.
common/bolt11.c: Some BOLT quotes had changed slightly.
run-bolt11.c: A test was updated to reflect nomenclature changes (from `signature recovery` to `public-key recovery`).
bolt12.c:
- quote update on `bolt12_chains_match`;
- add a new condition to `offer_decode` to check if the amount is greater than 0;

run-bolt-12-encode-test.c: add check for `offer_amount > 0`

run-bolt12-format-string-test.c: update BOLT quote

bolt12-cli.c: update BOLT quote
update BOLT quotes that drifted from the current spec without changing the meaning or expected functionality.
…nstead of 12 blocks before forgetting a channel.

test_gossip.py: Update the tests to reflect the changes.
The TLV `channel_type` is now mandatory. The code was correct but the quote was not.
@nGoline nGoline requested a review from rustyrussell April 23, 2026 14:47
@nGoline
Copy link
Copy Markdown
Collaborator Author

nGoline commented Apr 23, 2026

Some changes overlap those in #9079, but some are new.

new cases added by autogenerated mocks after updating the default BOLT spec version.

bolt12.c: add new rules to satisfy case `offer_chains with zero entries`.

bech32_util.c: fix padding on `from_bech32_charset` to satisfy case `Bech32 padding exceeds 4-bit limit`
@madelinevibes madelinevibes added this to the 26.06 milestone Apr 23, 2026
…kheight + 72` blocks.

Added 60 blocks to all tests that relied on this parameter in order to fix them. i.e. 12 -> 72, 13 -> 73, etc...
@nGoline
Copy link
Copy Markdown
Collaborator Author

nGoline commented Apr 24, 2026

For clarity, I selected the BOLT commit a377265 as the DEFAULT_BOLTVERSION because it was the one adding Channel Splicing (feature 62/63), which was added in v26.04.1

nGoline and others added 3 commits April 24, 2026 09:21
channeld.c: update logic to comply with BOLT quote.

tests/test_splicing.py: update test to confirm we are not re-transmiting `channel_ready` for that specific case.
move BOLT cloning from prebuild to check-compiled-source so check-source-bolt can run
@nGoline nGoline force-pushed the bolt-quote-update branch from b4e12cc to baccaa2 Compare April 24, 2026 13:45
Without this, \${BOLTDIR} expands to an empty string in the git clone
step, making the destination '../' -- a non-empty directory that git
refuses to clone into.
@nGoline nGoline force-pushed the bolt-quote-update branch from baccaa2 to 7fb9a7e Compare April 24, 2026 13:53
Extracted logic from if clause to variable for readability, and add extra checks to make sure a splice is active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants