UltrafastSecp256k1 3.50.0
Ultra high-performance secp256k1 elliptic curve cryptography library
Loading...
Searching...
No Matches
secp256k1::coins Namespace Reference

Namespaces

namespace  wallet
 

Classes

struct  BitcoinSigDecodeResult
 
struct  CoinFeatures
 
struct  CoinKeyPair
 
struct  CoinParams
 
struct  EthSignature
 
struct  Keccak256State
 

Enumerations

enum class  DerivationPurpose : std::uint32_t { BIP44 = 44 , BIP49 = 49 , BIP84 = 84 , BIP86 = 86 }
 
enum class  AddressHash : std::uint8_t { HASH160 , KECCAK256 , BLAKE2B_160 }
 
enum class  AddressEncoding : std::uint8_t {
  BASE58CHECK , BECH32 , EIP55 , CASHADDR ,
  TRON_BASE58
}
 

Functions

std::string coin_address (const fast::Point &pubkey, const CoinParams &coin, bool testnet=false)
 
std::string coin_address_p2pkh (const fast::Point &pubkey, const CoinParams &coin, bool testnet=false)
 
std::string coin_address_p2wpkh (const fast::Point &pubkey, const CoinParams &coin, bool testnet=false)
 
std::string coin_address_p2tr (const fast::Point &internal_key, const CoinParams &coin, bool testnet=false)
 
std::string coin_address_p2sh_p2wpkh (const fast::Point &pubkey, const CoinParams &coin, bool testnet=false)
 
std::string coin_address_p2sh (const std::array< std::uint8_t, 20 > &script_hash, const CoinParams &coin, bool testnet=false)
 
std::string coin_address_cashaddr (const fast::Point &pubkey, const CoinParams &coin, bool testnet=false)
 
std::string coin_wif_encode (const fast::Scalar &private_key, const CoinParams &coin, bool compressed=true, bool testnet=false)
 
CoinKeyPair coin_derive (const fast::Scalar &private_key, const CoinParams &coin, bool testnet=false, const CurveContext *ctx=nullptr)
 
std::string coin_derive_path (const CoinParams &coin, std::uint32_t account=0, bool change=false, std::uint32_t address_index=0, DerivationPurpose purpose=DerivationPurpose::BIP44)
 
DerivationPurpose best_purpose (const CoinParams &coin)
 
std::pair< ExtendedKey, bool > coin_derive_key (const ExtendedKey &master, const CoinParams &coin, std::uint32_t account=0, bool change=false, std::uint32_t address_index=0)
 
std::pair< ExtendedKey, bool > coin_derive_key_with_purpose (const ExtendedKey &master, const CoinParams &coin, DerivationPurpose purpose, std::uint32_t account=0, bool change=false, std::uint32_t address_index=0)
 
std::pair< std::string, bool > coin_address_from_seed (const std::uint8_t *seed, std::size_t seed_len, const CoinParams &coin, std::uint32_t account=0, std::uint32_t address_index=0)
 
const CoinParamsfind_by_coin_type (std::uint32_t coin_type)
 
const CoinParamsfind_by_ticker (const char *ticker)
 
std::array< std::uint8_t, 32 > eip191_hash (const std::uint8_t *msg, std::size_t msg_len)
 
std::uint64_t eip155_v (int recid, std::uint64_t chain_id)
 
int eip155_recid (std::uint64_t v)
 
std::uint64_t eip155_chain_id (std::uint64_t v)
 
EthSignature eth_personal_sign (const std::uint8_t *msg, std::size_t msg_len, const fast::Scalar &private_key)
 
EthSignature eth_sign_hash (const std::array< std::uint8_t, 32 > &hash, const fast::Scalar &private_key, std::uint64_t chain_id=0)
 
std::pair< std::array< std::uint8_t, 20 >, bool > ecrecover (const std::array< std::uint8_t, 32 > &msg_hash, const std::array< std::uint8_t, 32 > &r, const std::array< std::uint8_t, 32 > &s, std::uint64_t v)
 
std::pair< std::array< std::uint8_t, 20 >, bool > ecrecover (const std::array< std::uint8_t, 32 > &msg_hash, const EthSignature &sig)
 
bool eth_personal_verify (const std::uint8_t *msg, std::size_t msg_len, const EthSignature &sig, const std::array< std::uint8_t, 20 > &expected_addr)
 
std::string ethereum_address (const fast::Point &pubkey)
 
std::string ethereum_address_raw (const fast::Point &pubkey)
 
std::array< std::uint8_t, 20 > ethereum_address_bytes (const fast::Point &pubkey)
 
std::string eip55_checksum (const std::string &hex_addr)
 
bool eip55_verify (const std::string &addr)
 
std::array< std::uint8_t, 32 > keccak256 (const std::uint8_t *data, std::size_t len)
 
std::array< std::uint8_t, 32 > bitcoin_message_hash (const std::uint8_t *msg, std::size_t msg_len)
 
RecoverableSignature bitcoin_sign_message (const std::uint8_t *msg, std::size_t msg_len, const fast::Scalar &private_key)
 
bool bitcoin_verify_message (const std::uint8_t *msg, std::size_t msg_len, const fast::Point &pubkey, const ECDSASignature &sig)
 
std::pair< fast::Point, bool > bitcoin_recover_message (const std::uint8_t *msg, std::size_t msg_len, const ECDSASignature &sig, int recid)
 
std::string bitcoin_sig_to_base64 (const RecoverableSignature &rsig, bool compressed=true)
 
BitcoinSigDecodeResult bitcoin_sig_from_base64 (const std::string &base64)
 

Variables

constexpr CoinParams Bitcoin
 
constexpr CoinParams Litecoin
 
constexpr CoinParams Dogecoin
 
constexpr CoinParams Dash
 
constexpr CoinParams Ethereum
 
constexpr CoinParams BitcoinCash
 
constexpr CoinParams BitcoinSV
 
constexpr CoinParams Zcash
 
constexpr CoinParams DigiByte
 
constexpr CoinParams Namecoin
 
constexpr CoinParams Peercoin
 
constexpr CoinParams Vertcoin
 
constexpr CoinParams Viacoin
 
constexpr CoinParams Groestlcoin
 
constexpr CoinParams Syscoin
 
constexpr CoinParams BNBSmartChain
 
constexpr CoinParams Polygon
 
constexpr CoinParams Avalanche
 
constexpr CoinParams Fantom
 
constexpr CoinParams Arbitrum
 
constexpr CoinParams Optimism
 
constexpr CoinParams Ravencoin
 
constexpr CoinParams Flux
 
constexpr CoinParams Qtum
 
constexpr CoinParams Horizen
 
constexpr CoinParams BitcoinGold
 
constexpr CoinParams Komodo
 
constexpr CoinParams Tron
 
constexpr const CoinParamsALL_COINS []
 
constexpr std::size_t ALL_COINS_COUNT = std::size(ALL_COINS)
 

Enumeration Type Documentation

◆ AddressEncoding

enum class secp256k1::coins::AddressEncoding : std::uint8_t
strong
Enumerator
BASE58CHECK 
BECH32 
EIP55 
CASHADDR 
TRON_BASE58 

Definition at line 35 of file coin_params.hpp.

◆ AddressHash

enum class secp256k1::coins::AddressHash : std::uint8_t
strong
Enumerator
HASH160 
KECCAK256 
BLAKE2B_160 

Definition at line 27 of file coin_params.hpp.

◆ DerivationPurpose

enum class secp256k1::coins::DerivationPurpose : std::uint32_t
strong
Enumerator
BIP44 
BIP49 
BIP84 
BIP86 

Definition at line 38 of file coin_hd.hpp.

Function Documentation

◆ best_purpose()

DerivationPurpose secp256k1::coins::best_purpose ( const CoinParams coin)

◆ bitcoin_message_hash()

std::array< std::uint8_t, 32 > secp256k1::coins::bitcoin_message_hash ( const std::uint8_t *  msg,
std::size_t  msg_len 
)

Referenced by ufsecp_btc_message_hash().

◆ bitcoin_recover_message()

std::pair< fast::Point, bool > secp256k1::coins::bitcoin_recover_message ( const std::uint8_t *  msg,
std::size_t  msg_len,
const ECDSASignature sig,
int  recid 
)

◆ bitcoin_sig_from_base64()

BitcoinSigDecodeResult secp256k1::coins::bitcoin_sig_from_base64 ( const std::string &  base64)

◆ bitcoin_sig_to_base64()

std::string secp256k1::coins::bitcoin_sig_to_base64 ( const RecoverableSignature rsig,
bool  compressed = true 
)

Referenced by ufsecp_btc_message_sign().

◆ bitcoin_sign_message()

RecoverableSignature secp256k1::coins::bitcoin_sign_message ( const std::uint8_t *  msg,
std::size_t  msg_len,
const fast::Scalar private_key 
)

Referenced by ufsecp_btc_message_sign().

◆ bitcoin_verify_message()

bool secp256k1::coins::bitcoin_verify_message ( const std::uint8_t *  msg,
std::size_t  msg_len,
const fast::Point pubkey,
const ECDSASignature sig 
)

◆ coin_address()

std::string secp256k1::coins::coin_address ( const fast::Point pubkey,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_address_cashaddr()

std::string secp256k1::coins::coin_address_cashaddr ( const fast::Point pubkey,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_address_from_seed()

std::pair< std::string, bool > secp256k1::coins::coin_address_from_seed ( const std::uint8_t *  seed,
std::size_t  seed_len,
const CoinParams coin,
std::uint32_t  account = 0,
std::uint32_t  address_index = 0 
)

◆ coin_address_p2pkh()

std::string secp256k1::coins::coin_address_p2pkh ( const fast::Point pubkey,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_address_p2sh()

std::string secp256k1::coins::coin_address_p2sh ( const std::array< std::uint8_t, 20 > &  script_hash,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_address_p2sh_p2wpkh()

std::string secp256k1::coins::coin_address_p2sh_p2wpkh ( const fast::Point pubkey,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_address_p2tr()

std::string secp256k1::coins::coin_address_p2tr ( const fast::Point internal_key,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_address_p2wpkh()

std::string secp256k1::coins::coin_address_p2wpkh ( const fast::Point pubkey,
const CoinParams coin,
bool  testnet = false 
)

◆ coin_derive()

CoinKeyPair secp256k1::coins::coin_derive ( const fast::Scalar private_key,
const CoinParams coin,
bool  testnet = false,
const CurveContext ctx = nullptr 
)

◆ coin_derive_key()

std::pair< ExtendedKey, bool > secp256k1::coins::coin_derive_key ( const ExtendedKey master,
const CoinParams coin,
std::uint32_t  account = 0,
bool  change = false,
std::uint32_t  address_index = 0 
)

◆ coin_derive_key_with_purpose()

std::pair< ExtendedKey, bool > secp256k1::coins::coin_derive_key_with_purpose ( const ExtendedKey master,
const CoinParams coin,
DerivationPurpose  purpose,
std::uint32_t  account = 0,
bool  change = false,
std::uint32_t  address_index = 0 
)

◆ coin_derive_path()

std::string secp256k1::coins::coin_derive_path ( const CoinParams coin,
std::uint32_t  account = 0,
bool  change = false,
std::uint32_t  address_index = 0,
DerivationPurpose  purpose = DerivationPurpose::BIP44 
)

◆ coin_wif_encode()

std::string secp256k1::coins::coin_wif_encode ( const fast::Scalar private_key,
const CoinParams coin,
bool  compressed = true,
bool  testnet = false 
)

Referenced by ufsecp_coin_wif_encode().

◆ ecrecover() [1/2]

std::pair< std::array< std::uint8_t, 20 >, bool > secp256k1::coins::ecrecover ( const std::array< std::uint8_t, 32 > &  msg_hash,
const EthSignature sig 
)

◆ ecrecover() [2/2]

std::pair< std::array< std::uint8_t, 20 >, bool > secp256k1::coins::ecrecover ( const std::array< std::uint8_t, 32 > &  msg_hash,
const std::array< std::uint8_t, 32 > &  r,
const std::array< std::uint8_t, 32 > &  s,
std::uint64_t  v 
)

◆ eip155_chain_id()

std::uint64_t secp256k1::coins::eip155_chain_id ( std::uint64_t  v)
inline

Definition at line 61 of file eth_signing.hpp.

◆ eip155_recid()

int secp256k1::coins::eip155_recid ( std::uint64_t  v)
inline

Definition at line 49 of file eth_signing.hpp.

◆ eip155_v()

std::uint64_t secp256k1::coins::eip155_v ( int  recid,
std::uint64_t  chain_id 
)
inline

Definition at line 42 of file eth_signing.hpp.

◆ eip191_hash()

std::array< std::uint8_t, 32 > secp256k1::coins::eip191_hash ( const std::uint8_t *  msg,
std::size_t  msg_len 
)

◆ eip55_checksum()

std::string secp256k1::coins::eip55_checksum ( const std::string &  hex_addr)

◆ eip55_verify()

bool secp256k1::coins::eip55_verify ( const std::string &  addr)

◆ eth_personal_sign()

EthSignature secp256k1::coins::eth_personal_sign ( const std::uint8_t *  msg,
std::size_t  msg_len,
const fast::Scalar private_key 
)

◆ eth_personal_verify()

bool secp256k1::coins::eth_personal_verify ( const std::uint8_t *  msg,
std::size_t  msg_len,
const EthSignature sig,
const std::array< std::uint8_t, 20 > &  expected_addr 
)

◆ eth_sign_hash()

EthSignature secp256k1::coins::eth_sign_hash ( const std::array< std::uint8_t, 32 > &  hash,
const fast::Scalar private_key,
std::uint64_t  chain_id = 0 
)

◆ ethereum_address()

std::string secp256k1::coins::ethereum_address ( const fast::Point pubkey)

◆ ethereum_address_bytes()

std::array< std::uint8_t, 20 > secp256k1::coins::ethereum_address_bytes ( const fast::Point pubkey)

◆ ethereum_address_raw()

std::string secp256k1::coins::ethereum_address_raw ( const fast::Point pubkey)

◆ find_by_coin_type()

const CoinParams * secp256k1::coins::find_by_coin_type ( std::uint32_t  coin_type)
inline

Definition at line 672 of file coin_params.hpp.

References ALL_COINS.

Referenced by find_coin().

◆ find_by_ticker()

const CoinParams * secp256k1::coins::find_by_ticker ( const char *  ticker)
inline

Definition at line 680 of file coin_params.hpp.

References ALL_COINS, and secp256k1::coins::CoinParams::ticker.

◆ keccak256()

std::array< std::uint8_t, 32 > secp256k1::coins::keccak256 ( const std::uint8_t *  data,
std::size_t  len 
)

Variable Documentation

◆ ALL_COINS

constexpr const CoinParams* secp256k1::coins::ALL_COINS[]
inlineconstexpr
Initial value:
= {
}
constexpr CoinParams Syscoin
constexpr CoinParams Horizen
constexpr CoinParams Viacoin
constexpr CoinParams Namecoin
constexpr CoinParams Optimism
constexpr CoinParams BitcoinGold
constexpr CoinParams Dogecoin
constexpr CoinParams Avalanche
constexpr CoinParams Vertcoin
constexpr CoinParams BNBSmartChain
constexpr CoinParams Qtum
constexpr CoinParams Ethereum
constexpr CoinParams Flux
constexpr CoinParams Komodo
constexpr CoinParams Fantom
constexpr CoinParams Arbitrum
constexpr CoinParams BitcoinCash
constexpr CoinParams Litecoin
constexpr CoinParams Ravencoin
constexpr CoinParams Tron
constexpr CoinParams BitcoinSV
constexpr CoinParams Bitcoin
constexpr CoinParams Peercoin
constexpr CoinParams Groestlcoin
constexpr CoinParams Zcash
constexpr CoinParams Dash
constexpr CoinParams Polygon
constexpr CoinParams DigiByte

Definition at line 660 of file coin_params.hpp.

Referenced by find_by_coin_type(), and find_by_ticker().

◆ ALL_COINS_COUNT

constexpr std::size_t secp256k1::coins::ALL_COINS_COUNT = std::size(ALL_COINS)
inlineconstexpr

Definition at line 669 of file coin_params.hpp.

◆ Arbitrum

constexpr CoinParams secp256k1::coins::Arbitrum
inlineconstexpr
Initial value:
= {
.name = "Arbitrum",
.ticker = "ARB",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 42161,
.features = {false, false, false, true, true, false},
}

Definition at line 476 of file coin_params.hpp.

◆ Avalanche

constexpr CoinParams secp256k1::coins::Avalanche
inlineconstexpr
Initial value:
= {
.name = "Avalanche",
.ticker = "AVAX",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 43114,
.features = {false, false, false, true, true, false},
}

Definition at line 436 of file coin_params.hpp.

◆ Bitcoin

constexpr CoinParams secp256k1::coins::Bitcoin
inlineconstexpr
Initial value:
= {
.name = "Bitcoin",
.ticker = "BTC",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x05,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = "bc",
.bech32_hrp_test = "tb",
.coin_type = 0,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, true, true, true, false, true},
}

Definition at line 96 of file coin_params.hpp.

◆ BitcoinCash

constexpr CoinParams secp256k1::coins::BitcoinCash
inlineconstexpr
Initial value:
= {
.name = "Bitcoin Cash",
.ticker = "BCH",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x05,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 145,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::CASHADDR,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, true},
}

Definition at line 196 of file coin_params.hpp.

◆ BitcoinGold

constexpr CoinParams secp256k1::coins::BitcoinGold
inlineconstexpr
Initial value:
= {
.name = "Bitcoin Gold",
.ticker = "BTG",
.p2pkh_version = 0x26,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x17,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = "btg",
.bech32_hrp_test = "tbtg",
.coin_type = 156,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 596 of file coin_params.hpp.

◆ BitcoinSV

constexpr CoinParams secp256k1::coins::BitcoinSV
inlineconstexpr
Initial value:
= {
.name = "Bitcoin SV",
.ticker = "BSV",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x05,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 236,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, false, false, false},
}

Definition at line 216 of file coin_params.hpp.

◆ BNBSmartChain

constexpr CoinParams secp256k1::coins::BNBSmartChain
inlineconstexpr
Initial value:
= {
.name = "BNB Smart Chain",
.ticker = "BNB",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 56,
.features = {false, false, false, true, true, false},
}

Definition at line 396 of file coin_params.hpp.

◆ Dash

constexpr CoinParams secp256k1::coins::Dash
inlineconstexpr
Initial value:
= {
.name = "Dash",
.ticker = "DASH",
.p2pkh_version = 0x4C,
.p2pkh_version_test = 0x8C,
.p2sh_version = 0x10,
.wif_prefix = 0xCC,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 5,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 156 of file coin_params.hpp.

◆ DigiByte

constexpr CoinParams secp256k1::coins::DigiByte
inlineconstexpr
Initial value:
= {
.name = "DigiByte",
.ticker = "DGB",
.p2pkh_version = 0x1E,
.p2pkh_version_test = 0x7E,
.p2sh_version = 0x3F,
.wif_prefix = 0x80,
.wif_prefix_test = 0xFE,
.bech32_hrp = "dgb",
.bech32_hrp_test = "dgbt",
.coin_type = 20,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 256 of file coin_params.hpp.

◆ Dogecoin

constexpr CoinParams secp256k1::coins::Dogecoin
inlineconstexpr
Initial value:
= {
.name = "Dogecoin",
.ticker = "DOGE",
.p2pkh_version = 0x1E,
.p2pkh_version_test = 0x71,
.p2sh_version = 0x16,
.wif_prefix = 0x9E,
.wif_prefix_test = 0xF1,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 3,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x02FAC398,
.xpub_version = 0x02FACAFD,
.chain_id = 0,
.features = {false, false, true, false, false, false},
}

Definition at line 136 of file coin_params.hpp.

◆ Ethereum

constexpr CoinParams secp256k1::coins::Ethereum
inlineconstexpr
Initial value:
= {
.name = "Ethereum",
.ticker = "ETH",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 1,
.features = {false, false, false, true, true, false},
}

Definition at line 176 of file coin_params.hpp.

◆ Fantom

constexpr CoinParams secp256k1::coins::Fantom
inlineconstexpr
Initial value:
= {
.name = "Fantom",
.ticker = "FTM",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 250,
.features = {false, false, false, true, true, false},
}

Definition at line 456 of file coin_params.hpp.

◆ Flux

constexpr CoinParams secp256k1::coins::Flux
inlineconstexpr
Initial value:
= {
.name = "Flux",
.ticker = "FLUX",
.p2pkh_version = 0x1C,
.p2pkh_version_test = 0x1D,
.p2sh_version = 0x1C,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 19167,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 536 of file coin_params.hpp.

◆ Groestlcoin

constexpr CoinParams secp256k1::coins::Groestlcoin
inlineconstexpr
Initial value:
= {
.name = "Groestlcoin",
.ticker = "GRS",
.p2pkh_version = 0x24,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x05,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = "grs",
.bech32_hrp_test = "tgrs",
.coin_type = 17,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, true, true, true, false, false},
}

Definition at line 356 of file coin_params.hpp.

◆ Horizen

constexpr CoinParams secp256k1::coins::Horizen
inlineconstexpr
Initial value:
= {
.name = "Horizen",
.ticker = "ZEN",
.p2pkh_version = 0x20,
.p2pkh_version_test = 0x20,
.p2sh_version = 0x20,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 121,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 576 of file coin_params.hpp.

◆ Komodo

constexpr CoinParams secp256k1::coins::Komodo
inlineconstexpr
Initial value:
= {
.name = "Komodo",
.ticker = "KMD",
.p2pkh_version = 0x3C,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x55,
.wif_prefix = 0xBC,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 141,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 616 of file coin_params.hpp.

◆ Litecoin

constexpr CoinParams secp256k1::coins::Litecoin
inlineconstexpr
Initial value:
= {
.name = "Litecoin",
.ticker = "LTC",
.p2pkh_version = 0x30,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x32,
.wif_prefix = 0xB0,
.wif_prefix_test = 0xEF,
.bech32_hrp = "ltc",
.bech32_hrp_test = "tltc",
.coin_type = 2,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 116 of file coin_params.hpp.

◆ Namecoin

constexpr CoinParams secp256k1::coins::Namecoin
inlineconstexpr
Initial value:
= {
.name = "Namecoin",
.ticker = "NMC",
.p2pkh_version = 0x34,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x0D,
.wif_prefix = 0xB4,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 7,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 276 of file coin_params.hpp.

◆ Optimism

constexpr CoinParams secp256k1::coins::Optimism
inlineconstexpr
Initial value:
= {
.name = "Optimism",
.ticker = "OP",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 10,
.features = {false, false, false, true, true, false},
}

Definition at line 496 of file coin_params.hpp.

◆ Peercoin

constexpr CoinParams secp256k1::coins::Peercoin
inlineconstexpr
Initial value:
= {
.name = "Peercoin",
.ticker = "PPC",
.p2pkh_version = 0x37,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x75,
.wif_prefix = 0xB7,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 6,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, false, false, false},
}

Definition at line 296 of file coin_params.hpp.

◆ Polygon

constexpr CoinParams secp256k1::coins::Polygon
inlineconstexpr
Initial value:
= {
.name = "Polygon",
.ticker = "POL",
.p2pkh_version = 0x00,
.p2pkh_version_test = 0x00,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 60,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::EIP55,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 137,
.features = {false, false, false, true, true, false},
}

Definition at line 416 of file coin_params.hpp.

◆ Qtum

constexpr CoinParams secp256k1::coins::Qtum
inlineconstexpr
Initial value:
= {
.name = "Qtum",
.ticker = "QTUM",
.p2pkh_version = 0x3A,
.p2pkh_version_test = 0x78,
.p2sh_version = 0x32,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = "qc",
.bech32_hrp_test = "tq",
.coin_type = 2301,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 556 of file coin_params.hpp.

◆ Ravencoin

constexpr CoinParams secp256k1::coins::Ravencoin
inlineconstexpr
Initial value:
= {
.name = "Ravencoin",
.ticker = "RVN",
.p2pkh_version = 0x3C,
.p2pkh_version_test = 0x6F,
.p2sh_version = 0x7A,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 175,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 516 of file coin_params.hpp.

◆ Syscoin

constexpr CoinParams secp256k1::coins::Syscoin
inlineconstexpr
Initial value:
= {
.name = "Syscoin",
.ticker = "SYS",
.p2pkh_version = 0x3F,
.p2pkh_version_test = 0x41,
.p2sh_version = 0x05,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = "sys",
.bech32_hrp_test = "tsys",
.coin_type = 57,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 376 of file coin_params.hpp.

◆ Tron

constexpr CoinParams secp256k1::coins::Tron
inlineconstexpr
Initial value:
= {
.name = "Tron",
.ticker = "TRX",
.p2pkh_version = 0x41,
.p2pkh_version_test = 0xA0,
.p2sh_version = 0x00,
.wif_prefix = 0x00,
.wif_prefix_test = 0x00,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 195,
.hash_algo = AddressHash::KECCAK256,
.default_encoding = AddressEncoding::TRON_BASE58,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, false, true, false, false},
}

Definition at line 636 of file coin_params.hpp.

◆ Vertcoin

constexpr CoinParams secp256k1::coins::Vertcoin
inlineconstexpr
Initial value:
= {
.name = "Vertcoin",
.ticker = "VTC",
.p2pkh_version = 0x47,
.p2pkh_version_test = 0x4A,
.p2sh_version = 0x05,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = "vtc",
.bech32_hrp_test = "tvtc",
.coin_type = 28,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 316 of file coin_params.hpp.

◆ Viacoin

constexpr CoinParams secp256k1::coins::Viacoin
inlineconstexpr
Initial value:
= {
.name = "Viacoin",
.ticker = "VIA",
.p2pkh_version = 0x47,
.p2pkh_version_test = 0x7F,
.p2sh_version = 0x21,
.wif_prefix = 0xC7,
.wif_prefix_test = 0xFF,
.bech32_hrp = "via",
.bech32_hrp_test = "tvia",
.coin_type = 14,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BECH32,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {true, false, true, true, false, false},
}

Definition at line 336 of file coin_params.hpp.

◆ Zcash

constexpr CoinParams secp256k1::coins::Zcash
inlineconstexpr
Initial value:
= {
.name = "Zcash",
.ticker = "ZEC",
.p2pkh_version = 0x1C,
.p2pkh_version_test = 0x1D,
.p2sh_version = 0x1C,
.wif_prefix = 0x80,
.wif_prefix_test = 0xEF,
.bech32_hrp = nullptr,
.bech32_hrp_test = nullptr,
.coin_type = 133,
.hash_algo = AddressHash::HASH160,
.default_encoding = AddressEncoding::BASE58CHECK,
.xprv_version = 0x0488ADE4,
.xpub_version = 0x0488B21E,
.chain_id = 0,
.features = {false, false, true, true, false, false},
}

Definition at line 236 of file coin_params.hpp.