You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
package bech32 |
|
|
|
// ChecksumConst is a type that represents the currently defined bech32 |
|
// checksum constants. |
|
type ChecksumConst int |
|
|
|
const ( |
|
// Version0Const is the original constant used in the checksum |
|
// verification for bech32. |
|
Version0Const ChecksumConst = 1 |
|
// VersionMConst is the new constant used for bech32m checksum |
|
// verification. |
|
VersionMConst ChecksumConst = 0x2bc830a3 |
|
) |
|
|
|
// Version defines the current set of bech32 versions. |
|
type Version uint8 |
|
|
|
const ( |
|
// Version0 defines the original bech version. |
|
Version0 Version = iota |
|
// VersionM is the new bech32 version defined in BIP-350, also known as |
|
// bech32m. |
|
VersionM |
|
// VersionUnknown denotes an unknown bech version. |
|
VersionUnknown |
|
) |
|
|
|
// VersionToConsts maps bech32 versions to the checksum constant to be used |
|
// when encoding, and asserting a particular version when decoding. |
|
var VersionToConsts = map[Version]ChecksumConst{ |
|
Version0: Version0Const, |
|
VersionM: VersionMConst, |
|
} |
|
|
|
// ConstsToVersion maps a bech32 constant to the version it's associated with. |
|
var ConstsToVersion = map[ChecksumConst]Version{ |
|
Version0Const: Version0, |
|
VersionMConst: VersionM, |
|
}
|
|
|