Merged
Conversation
This feature implements Bech32 encoder and decoder to support BIP 173 and BIP 350 address formats. It adds full support for encoding and decoding Bech32 strings, including HRP validation, checksum verification, and bit conversion logic. This enables SegWit address parsing and generation, ensuring compatibility with Bitcoin and other systems that use Bech32. List of changes: - created seg_wit.dart, to represent SegWit addresses, including HRP, witness version and witness program data - created seg_wit_decoder.dart to parse and validate Bech32-encoded SegWit addresses into structured SegWit objects - created seg_wit_encoder.dart to serialize SegWit objects into valid Bech32-encoded address strings - created bech32.dart to represent HRP and payload with bit conversion - created bech32_decoder.dart to validate and decode Bech32-encoded strings - created bech32_encoder.dart to convert a Bech32 data structure into a valid Bech32-encoded string - created bytes_utils.dart to convert lists of integers between arbitrary bit group sizes (e.g., 8-bit bytes and 5-bit groups) - created bech32_utils.dart to provide helper methods for HRP expansion and polymod checksum computation as required by the Bech32 encoding standard - unrelated with domain: changed the Ubuntu Actions runner image to the latest general availability version 24.04, due to the deprecation of the version 20.04
dpajak99
approved these changes
Jul 24, 2025
kronikarz
approved these changes
Jul 24, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This feature implements Bech32 encoder and decoder to support BIP 173 and BIP 350 address formats. It adds full support for encoding and decoding Bech32 strings, including HRP validation, checksum verification, and bit conversion logic. This enables SegWit address parsing and generation, ensuring compatibility with Bitcoin and other systems that use Bech32.
List of changes: