Bitcoin Core 28.99.0
P2P Digital Currency
|
Classes | |
struct | DecodeResult |
Enumerations | |
enum class | Encoding { INVALID , BECH32 , BECH32M } |
enum | CharLimit : size_t { BECH32 = 90 } |
Character limits for Bech32(m) encoded strings. More... | |
Functions | |
std::string | Encode (Encoding encoding, const std::string &hrp, const data &values) |
Encode a Bech32 or Bech32m string. More... | |
DecodeResult | Decode (const std::string &str, CharLimit limit) |
Decode a Bech32 or Bech32m string. More... | |
std::pair< std::string, std::vector< int > > | LocateErrors (const std::string &str, CharLimit limit) |
Find index of an incorrect character in a Bech32 string. More... | |
std::string | Encode (Encoding encoding, const std::string &hrp, const std::vector< uint8_t > &values) |
Encode a Bech32 or Bech32m string. More... | |
Variables | |
constexpr size_t | CHECKSUM_SIZE = 6 |
The Bech32 and Bech32m checksum size. More... | |
enum bech32::CharLimit : size_t |
Character limits for Bech32(m) encoded strings.
Character limits are how we provide error location guarantees. These values should never exceed 2^31 - 1 (max value for a 32-bit int), since there are places where we may need to convert the CharLimit::VALUE to an int. In practice, this should never happen since this CharLimit applies to an address encoding and we would never encode an address with such a massive value
Enumerator | |
---|---|
BECH32 | BIP173/350 imposed character limit for Bech32(m) encoded addresses. This guarantees finding up to 4 errors. |
|
strong |
DecodeResult bech32::Decode | ( | const std::string & | str, |
CharLimit | limit | ||
) |
Decode a Bech32 or Bech32m string.
Definition at line 374 of file bech32.cpp.
std::string bech32::Encode | ( | Encoding | encoding, |
const std::string & | hrp, | ||
const data & | values | ||
) |
Encode a Bech32 or Bech32m string.
Definition at line 358 of file bech32.cpp.
std::string bech32::Encode | ( | Encoding | encoding, |
const std::string & | hrp, | ||
const std::vector< uint8_t > & | values | ||
) |
Encode a Bech32 or Bech32m string.
If hrp contains uppercase characters, this will cause an assertion error. Encoding must be one of BECH32 or BECH32M.
std::pair< std::string, std::vector< int > > bech32::LocateErrors | ( | const std::string & | str, |
CharLimit | limit | ||
) |
Find index of an incorrect character in a Bech32 string.
Return the positions of errors in a Bech32 string.
Definition at line 403 of file bech32.cpp.