feat(cashu): add NUT-26 bech32m encoding for payment requests #1190

Merged
thesimplekid merged 13 commits from nut18_bech32 into main 2026-01-11 10:09:36 +00:00
thesimplekid commented 2025-10-13 15:43:48 +00:00 (Migrated from github.com)

Implements NUT-26 specification providing bech32m encoding (CREQ-B) as an alternative to the CBOR format (CREQ-A). The new encoding offers improved QR code compatibility and more efficient encoding.

  • Add complete NUT-26 encoding/decoding implementation with TLV structure
  • Update PaymentRequest::from_str to support both CREQ-A and CREQ-B formats
  • Add comprehensive test vectors and documentation
  • Add benchmark example for encoding performance comparison

Description


Notes to the reviewers


Suggested CHANGELOG Updates

CHANGED

ADDED

REMOVED

FIXED


Checklist

Implements NUT-26 specification providing bech32m encoding (CREQ-B) as an alternative to the CBOR format (CREQ-A). The new encoding offers improved QR code compatibility and more efficient encoding. - Add complete NUT-26 encoding/decoding implementation with TLV structure - Update PaymentRequest::from_str to support both CREQ-A and CREQ-B formats - Add comprehensive test vectors and documentation - Add benchmark example for encoding performance comparison ### Description <!-- Describe the purpose of this PR, what's being adding and/or fixed --> ----- ### Notes to the reviewers <!-- In this section you can include notes directed to the reviewers, like explaining why some parts of the PR were done in a specific way --> ----- ### Suggested [CHANGELOG](https://github.com/cashubtc/cdk/blob/main/CHANGELOG.md) Updates <!-- Please do not edit the actual changelog but note what you changed here. --> #### CHANGED #### ADDED #### REMOVED #### FIXED ---- ### Checklist * [ ] I followed the [code style guidelines](https://github.com/cashubtc/cdk/blob/main/CODE_STYLE.md) * [ ] I ran `just final-check` before committing
github-actions[bot] commented 2025-12-13 02:53:44 +00:00 (Migrated from github.com)

This PR is stale because it has been open for 60 days with no activity.

This PR is stale because it has been open for 60 days with no activity.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cashubtc/cdk!1190
No description provided.