Add test vector for Bolt12 invalid bech32 padding (#3242)
What changed, and why it matters
This commit only adds a new test case to a JSON test file. It checks that Eclair correctly rejects a specific malformed BOLT 12 offer string whose Bech32 padding bits are invalid. There is no code change, no fix, and no behavior change in the application itself.
No action required. Treat as a routine test-data update. If reviewing related BOLT 12 parsing code, ensure the existing Bech32 decoder already enforces zero padding bits, since this test vector assumes that behavior.
Security signals we found
Test-only change with no production code modification
Test vector validates rejection of malformed Bech32 padding in BOLT 12 offers
Evidence from the diff
The diff appends one test vector to eclair-core/src/test/resources/offers-test.json. The vector has description ‘Bech32 padding exceeds 4-bit limit’, valid: false, and a BOLT 12 offer string. It references lightning/bolts PR 1312, which clarified that Bech32 padding bits must be zero. This is purely a regression/validation test addition; no parsing or validation logic is modified.
Changed components
eclair-core/src/test/resources/offers-test.jsonInspect captured patch +5 / −0
diff --git a/eclair-core/src/test/resources/offers-test.json b/eclair-core/src/test/resources/offers-test.json
index 237ac08..33e0f62 100644
--- a/eclair-core/src/test/resources/offers-test.json
+++ b/eclair-core/src/test/resources/offers-test.json
@@ -592,5 +592,10 @@
"description": "Second offer_path is empty",
"valid": false,
"bolt12": "lno1pgx9getnwss8vetrw3hhyucsespjgef743p5fzqq9nqxh0ah7y87rzv3ud0eleps9kl2d5348hq2k8qzqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgqpqqqqqqqqqqqqqqqqqqqqqqqqqqqzqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqqzq3zyg3zyg3zygszqqqqyqqqqsqqvpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqsq"
+ },
+ {
+ "description": "Bech32 padding exceeds 4-bit limit",
+ "valid": false,
+ "bolt12": "lno1zcss9mk8y3wkklfvevcrszlmu23kfrxh49px20665dqwmn4p72pkseseq"
}
]
Why this scored 12/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.