mirror of
https://github.com/btcsuite/btcd.git
synced 2025-02-23 14:40:44 +01:00
Merge pull request #2186 from MarcoEzekiel/DecodeNoLimitVersioned
Added DecodeNoLimitGeneric to bech32.go
This commit is contained in:
commit
d2d286f683
1 changed files with 11 additions and 8 deletions
|
@ -165,11 +165,14 @@ func bech32VerifyChecksum(hrp string, data []byte) (Version, bool) {
|
||||||
return VersionUnknown, false
|
return VersionUnknown, false
|
||||||
}
|
}
|
||||||
|
|
||||||
// DecodeNoLimit is a bech32 checksum version aware arbitrary string length
|
// DecodeNoLimitWithVersion is a bech32 checksum version aware arbitrary string
|
||||||
// decoder. This function will return the version of the decoded checksum
|
// length decoder. This function will return the version of the decoded
|
||||||
// constant so higher level validation can be performed to ensure the correct
|
// checksum constant so higher level validation can be performed to ensure the
|
||||||
// version of bech32 was used when encoding.
|
// correct version of bech32 was used when encoding.
|
||||||
func decodeNoLimit(bech string) (string, []byte, Version, error) {
|
//
|
||||||
|
// Note that the returned data is 5-bit (base32) encoded and the human-readable
|
||||||
|
// part will be lowercase.
|
||||||
|
func DecodeNoLimitWithVersion(bech string) (string, []byte, Version, error) {
|
||||||
// The minimum allowed size of a bech32 string is 8 characters, since it
|
// The minimum allowed size of a bech32 string is 8 characters, since it
|
||||||
// needs a non-empty HRP, a separator, and a 6 character checksum.
|
// needs a non-empty HRP, a separator, and a 6 character checksum.
|
||||||
if len(bech) < 8 {
|
if len(bech) < 8 {
|
||||||
|
@ -262,7 +265,7 @@ func decodeNoLimit(bech string) (string, []byte, Version, error) {
|
||||||
// Note that the returned data is 5-bit (base32) encoded and the human-readable
|
// Note that the returned data is 5-bit (base32) encoded and the human-readable
|
||||||
// part will be lowercase.
|
// part will be lowercase.
|
||||||
func DecodeNoLimit(bech string) (string, []byte, error) {
|
func DecodeNoLimit(bech string) (string, []byte, error) {
|
||||||
hrp, data, _, err := decodeNoLimit(bech)
|
hrp, data, _, err := DecodeNoLimitWithVersion(bech)
|
||||||
return hrp, data, err
|
return hrp, data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -277,7 +280,7 @@ func Decode(bech string) (string, []byte, error) {
|
||||||
return "", nil, ErrInvalidLength(len(bech))
|
return "", nil, ErrInvalidLength(len(bech))
|
||||||
}
|
}
|
||||||
|
|
||||||
hrp, data, _, err := decodeNoLimit(bech)
|
hrp, data, _, err := DecodeNoLimitWithVersion(bech)
|
||||||
return hrp, data, err
|
return hrp, data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -291,7 +294,7 @@ func DecodeGeneric(bech string) (string, []byte, Version, error) {
|
||||||
return "", nil, VersionUnknown, ErrInvalidLength(len(bech))
|
return "", nil, VersionUnknown, ErrInvalidLength(len(bech))
|
||||||
}
|
}
|
||||||
|
|
||||||
return decodeNoLimit(bech)
|
return DecodeNoLimitWithVersion(bech)
|
||||||
}
|
}
|
||||||
|
|
||||||
// encodeGeneric is the base bech32 encoding function that is aware of the
|
// encodeGeneric is the base bech32 encoding function that is aware of the
|
||||||
|
|
Loading…
Add table
Reference in a new issue