Skip to content

bip93: Reject human-readable parts longer than 83 characters #32

Description

@BenWestgate

BIP-93's generalized human-readable part follows the BIP-173 HRP grammar, including the 1–83 character limit. The larger 1023-symbol bound applies to the expanded checksum codeword, not the HRP itself.

Implemented in focused PR #33: enforce the HRP bound at the Bech32 decoding boundary and in public correction contexts. Regression coverage comes from the generalized-HRP draft vectors in BenWestgate/bips PR #2 @ 01374bf: valid 83-character HRP, invalid 84-character HRP, generalized-HRP sharing/recovery, expanded-codeword 94/95 gap cases, and lowercase-HRP checksum behavior. The obsolete >83-character frozen vectors were removed rather than repurposed as checksum-layer tests.

The final refreshed #33 head b1b1b27 is mergeable on the settled foundation stack, all review threads are resolved, exact-head Python-package runs 638 and 639 succeeded, and it has a current-head Codex release-gate ACK. No automated/code-review gap remains.

Keep this issue open through human integration of #33 after #13.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area: bip93BIP93 encoding, checksum, parsing, and format rules.gate: adversarial reviewResolve, merge, or explicitly defer before the next full adversarial review.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions