Copyright | (c) 2024 Jared Tobin |
---|---|
License | MIT |
Maintainer | Jared Tobin <jared@ppad.tech> |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.ByteString.Bech32
Contents
Description
The BIP0173 bech32 checksummed base32 encoding, with decoding and checksum verification.
Synopsis
- encode :: ByteString -> ByteString -> Maybe ByteString
- decode :: ByteString -> Maybe (ByteString, ByteString)
- verify :: ByteString -> Bool
Encoding and Decoding
Arguments
:: ByteString | base256-encoded human-readable part |
-> ByteString | base256-encoded data part |
-> Maybe ByteString | bech32-encoded bytestring |
Encode a base256 human-readable part and input as bech32.
>>>
let Just bech32 = encode "bc" "my string"
>>>
bech32
"bc1d4ujqum5wf5kuecmu02w2"
Arguments
:: ByteString | bech23-encoded bytestring |
-> Maybe (ByteString, ByteString) | (hrp, data less checksum) |
Decode a bech32-encoded ByteString
into its human-readable and data
parts.
>>>
decode "hi1df6x7cnfdcs8wctnyp5x2un9wed5st"
Just ("hi","jtobin was here")>>>
decode "hey1df6x7cnfdcs8wctnyp5x2un9wed5st" -- s/hi/hey
Nothing
Checksum
Arguments
:: ByteString | bech32-encoded bytestring |
-> Bool |
Verify that a bech32 string has a valid checksum.
>>>
verify "bc1d4ujqum5wf5kuecmu02w2"
True>>>
verify "bc1d4ujquw5wf5kuecmu02w2" -- s/m/w
False