1#ifndef SECP256K1_COINS_COIN_PARAMS_HPP
2#define SECP256K1_COINS_COIN_PARAMS_HPP
99 .p2pkh_version = 0x00,
100 .p2pkh_version_test = 0x6F,
101 .p2sh_version = 0x05,
103 .wif_prefix_test = 0xEF,
105 .bech32_hrp_test =
"tb",
109 .xprv_version = 0x0488ADE4,
110 .xpub_version = 0x0488B21E,
112 .features = {
true,
true,
true,
true,
false,
true},
119 .p2pkh_version = 0x30,
120 .p2pkh_version_test = 0x6F,
121 .p2sh_version = 0x32,
123 .wif_prefix_test = 0xEF,
125 .bech32_hrp_test =
"tltc",
129 .xprv_version = 0x0488ADE4,
130 .xpub_version = 0x0488B21E,
132 .features = {
true,
false,
true,
true,
false,
false},
139 .p2pkh_version = 0x1E,
140 .p2pkh_version_test = 0x71,
141 .p2sh_version = 0x16,
143 .wif_prefix_test = 0xF1,
144 .bech32_hrp =
nullptr,
145 .bech32_hrp_test =
nullptr,
149 .xprv_version = 0x02FAC398,
150 .xpub_version = 0x02FACAFD,
152 .features = {
false,
false,
true,
false,
false,
false},
159 .p2pkh_version = 0x4C,
160 .p2pkh_version_test = 0x8C,
161 .p2sh_version = 0x10,
163 .wif_prefix_test = 0xEF,
164 .bech32_hrp =
nullptr,
165 .bech32_hrp_test =
nullptr,
169 .xprv_version = 0x0488ADE4,
170 .xpub_version = 0x0488B21E,
172 .features = {
false,
false,
true,
true,
false,
false},
179 .p2pkh_version = 0x00,
180 .p2pkh_version_test = 0x00,
181 .p2sh_version = 0x00,
183 .wif_prefix_test = 0x00,
184 .bech32_hrp =
nullptr,
185 .bech32_hrp_test =
nullptr,
189 .xprv_version = 0x0488ADE4,
190 .xpub_version = 0x0488B21E,
192 .features = {
false,
false,
false,
true,
true,
false},
197 .
name =
"Bitcoin Cash",
199 .p2pkh_version = 0x00,
200 .p2pkh_version_test = 0x6F,
201 .p2sh_version = 0x05,
203 .wif_prefix_test = 0xEF,
204 .bech32_hrp =
nullptr,
205 .bech32_hrp_test =
nullptr,
209 .xprv_version = 0x0488ADE4,
210 .xpub_version = 0x0488B21E,
212 .features = {
false,
false,
true,
true,
false,
true},
217 .
name =
"Bitcoin SV",
219 .p2pkh_version = 0x00,
220 .p2pkh_version_test = 0x6F,
221 .p2sh_version = 0x05,
223 .wif_prefix_test = 0xEF,
224 .bech32_hrp =
nullptr,
225 .bech32_hrp_test =
nullptr,
229 .xprv_version = 0x0488ADE4,
230 .xpub_version = 0x0488B21E,
232 .features = {
false,
false,
true,
false,
false,
false},
239 .p2pkh_version = 0x1C,
240 .p2pkh_version_test = 0x1D,
241 .p2sh_version = 0x1C,
243 .wif_prefix_test = 0xEF,
244 .bech32_hrp =
nullptr,
245 .bech32_hrp_test =
nullptr,
249 .xprv_version = 0x0488ADE4,
250 .xpub_version = 0x0488B21E,
252 .features = {
false,
false,
true,
true,
false,
false},
259 .p2pkh_version = 0x1E,
260 .p2pkh_version_test = 0x7E,
261 .p2sh_version = 0x3F,
263 .wif_prefix_test = 0xFE,
265 .bech32_hrp_test =
"dgbt",
269 .xprv_version = 0x0488ADE4,
270 .xpub_version = 0x0488B21E,
272 .features = {
true,
false,
true,
true,
false,
false},
279 .p2pkh_version = 0x34,
280 .p2pkh_version_test = 0x6F,
281 .p2sh_version = 0x0D,
283 .wif_prefix_test = 0xEF,
284 .bech32_hrp =
nullptr,
285 .bech32_hrp_test =
nullptr,
289 .xprv_version = 0x0488ADE4,
290 .xpub_version = 0x0488B21E,
292 .features = {
false,
false,
true,
true,
false,
false},
299 .p2pkh_version = 0x37,
300 .p2pkh_version_test = 0x6F,
301 .p2sh_version = 0x75,
303 .wif_prefix_test = 0xEF,
304 .bech32_hrp =
nullptr,
305 .bech32_hrp_test =
nullptr,
309 .xprv_version = 0x0488ADE4,
310 .xpub_version = 0x0488B21E,
312 .features = {
false,
false,
true,
false,
false,
false},
319 .p2pkh_version = 0x47,
320 .p2pkh_version_test = 0x4A,
321 .p2sh_version = 0x05,
323 .wif_prefix_test = 0xEF,
325 .bech32_hrp_test =
"tvtc",
329 .xprv_version = 0x0488ADE4,
330 .xpub_version = 0x0488B21E,
332 .features = {
true,
false,
true,
true,
false,
false},
339 .p2pkh_version = 0x47,
340 .p2pkh_version_test = 0x7F,
341 .p2sh_version = 0x21,
343 .wif_prefix_test = 0xFF,
345 .bech32_hrp_test =
"tvia",
349 .xprv_version = 0x0488ADE4,
350 .xpub_version = 0x0488B21E,
352 .features = {
true,
false,
true,
true,
false,
false},
357 .
name =
"Groestlcoin",
359 .p2pkh_version = 0x24,
360 .p2pkh_version_test = 0x6F,
361 .p2sh_version = 0x05,
363 .wif_prefix_test = 0xEF,
365 .bech32_hrp_test =
"tgrs",
369 .xprv_version = 0x0488ADE4,
370 .xpub_version = 0x0488B21E,
372 .features = {
true,
true,
true,
true,
false,
false},
379 .p2pkh_version = 0x3F,
380 .p2pkh_version_test = 0x41,
381 .p2sh_version = 0x05,
383 .wif_prefix_test = 0xEF,
385 .bech32_hrp_test =
"tsys",
389 .xprv_version = 0x0488ADE4,
390 .xpub_version = 0x0488B21E,
392 .features = {
true,
false,
true,
true,
false,
false},
397 .
name =
"BNB Smart Chain",
399 .p2pkh_version = 0x00,
400 .p2pkh_version_test = 0x00,
401 .p2sh_version = 0x00,
403 .wif_prefix_test = 0x00,
404 .bech32_hrp =
nullptr,
405 .bech32_hrp_test =
nullptr,
409 .xprv_version = 0x0488ADE4,
410 .xpub_version = 0x0488B21E,
412 .features = {
false,
false,
false,
true,
true,
false},
419 .p2pkh_version = 0x00,
420 .p2pkh_version_test = 0x00,
421 .p2sh_version = 0x00,
423 .wif_prefix_test = 0x00,
424 .bech32_hrp =
nullptr,
425 .bech32_hrp_test =
nullptr,
429 .xprv_version = 0x0488ADE4,
430 .xpub_version = 0x0488B21E,
432 .features = {
false,
false,
false,
true,
true,
false},
439 .p2pkh_version = 0x00,
440 .p2pkh_version_test = 0x00,
441 .p2sh_version = 0x00,
443 .wif_prefix_test = 0x00,
444 .bech32_hrp =
nullptr,
445 .bech32_hrp_test =
nullptr,
449 .xprv_version = 0x0488ADE4,
450 .xpub_version = 0x0488B21E,
452 .features = {
false,
false,
false,
true,
true,
false},
459 .p2pkh_version = 0x00,
460 .p2pkh_version_test = 0x00,
461 .p2sh_version = 0x00,
463 .wif_prefix_test = 0x00,
464 .bech32_hrp =
nullptr,
465 .bech32_hrp_test =
nullptr,
469 .xprv_version = 0x0488ADE4,
470 .xpub_version = 0x0488B21E,
472 .features = {
false,
false,
false,
true,
true,
false},
479 .p2pkh_version = 0x00,
480 .p2pkh_version_test = 0x00,
481 .p2sh_version = 0x00,
483 .wif_prefix_test = 0x00,
484 .bech32_hrp =
nullptr,
485 .bech32_hrp_test =
nullptr,
489 .xprv_version = 0x0488ADE4,
490 .xpub_version = 0x0488B21E,
492 .features = {
false,
false,
false,
true,
true,
false},
499 .p2pkh_version = 0x00,
500 .p2pkh_version_test = 0x00,
501 .p2sh_version = 0x00,
503 .wif_prefix_test = 0x00,
504 .bech32_hrp =
nullptr,
505 .bech32_hrp_test =
nullptr,
509 .xprv_version = 0x0488ADE4,
510 .xpub_version = 0x0488B21E,
512 .features = {
false,
false,
false,
true,
true,
false},
519 .p2pkh_version = 0x3C,
520 .p2pkh_version_test = 0x6F,
521 .p2sh_version = 0x7A,
523 .wif_prefix_test = 0xEF,
524 .bech32_hrp =
nullptr,
525 .bech32_hrp_test =
nullptr,
529 .xprv_version = 0x0488ADE4,
530 .xpub_version = 0x0488B21E,
532 .features = {
false,
false,
true,
true,
false,
false},
539 .p2pkh_version = 0x1C,
540 .p2pkh_version_test = 0x1D,
541 .p2sh_version = 0x1C,
543 .wif_prefix_test = 0xEF,
544 .bech32_hrp =
nullptr,
545 .bech32_hrp_test =
nullptr,
549 .xprv_version = 0x0488ADE4,
550 .xpub_version = 0x0488B21E,
552 .features = {
false,
false,
true,
true,
false,
false},
559 .p2pkh_version = 0x3A,
560 .p2pkh_version_test = 0x78,
561 .p2sh_version = 0x32,
563 .wif_prefix_test = 0xEF,
565 .bech32_hrp_test =
"tq",
569 .xprv_version = 0x0488ADE4,
570 .xpub_version = 0x0488B21E,
572 .features = {
true,
false,
true,
true,
false,
false},
579 .p2pkh_version = 0x20,
580 .p2pkh_version_test = 0x20,
581 .p2sh_version = 0x20,
583 .wif_prefix_test = 0xEF,
584 .bech32_hrp =
nullptr,
585 .bech32_hrp_test =
nullptr,
589 .xprv_version = 0x0488ADE4,
590 .xpub_version = 0x0488B21E,
592 .features = {
false,
false,
true,
true,
false,
false},
597 .
name =
"Bitcoin Gold",
599 .p2pkh_version = 0x26,
600 .p2pkh_version_test = 0x6F,
601 .p2sh_version = 0x17,
603 .wif_prefix_test = 0xEF,
605 .bech32_hrp_test =
"tbtg",
609 .xprv_version = 0x0488ADE4,
610 .xpub_version = 0x0488B21E,
612 .features = {
true,
false,
true,
true,
false,
false},
619 .p2pkh_version = 0x3C,
620 .p2pkh_version_test = 0x00,
621 .p2sh_version = 0x55,
623 .wif_prefix_test = 0x00,
624 .bech32_hrp =
nullptr,
625 .bech32_hrp_test =
nullptr,
629 .xprv_version = 0x0488ADE4,
630 .xpub_version = 0x0488B21E,
632 .features = {
false,
false,
true,
true,
false,
false},
639 .p2pkh_version = 0x41,
640 .p2pkh_version_test = 0xA0,
641 .p2sh_version = 0x00,
643 .wif_prefix_test = 0x00,
644 .bech32_hrp =
nullptr,
645 .bech32_hrp_test =
nullptr,
649 .xprv_version = 0x0488ADE4,
650 .xpub_version = 0x0488B21E,
652 .features = {
false,
false,
false,
true,
false,
false},
674 if (coin->coin_type == coin_type)
return coin;
682 const char* a = coin->
ticker;
683 const char* b = ticker;
686 if (*a != *b) { match =
false;
break; }
689 if (match && *a == *b)
return coin;
constexpr CoinParams Syscoin
constexpr CoinParams Horizen
const CoinParams * find_by_coin_type(std::uint32_t coin_type)
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 const CoinParams * ALL_COINS[]
constexpr CoinParams Litecoin
constexpr CoinParams Ravencoin
constexpr CoinParams Tron
constexpr CoinParams BitcoinSV
constexpr CoinParams Bitcoin
constexpr CoinParams Peercoin
constexpr CoinParams Groestlcoin
constexpr CoinParams Zcash
const CoinParams * find_by_ticker(const char *ticker)
constexpr std::size_t ALL_COINS_COUNT
constexpr CoinParams Dash
constexpr CoinParams Polygon
constexpr CoinParams DigiByte
std::uint8_t p2pkh_version
std::uint8_t wif_prefix_test
AddressEncoding default_encoding
std::uint32_t xpub_version
const char * bech32_hrp_test
std::uint8_t p2pkh_version_test
std::uint32_t xprv_version
std::uint8_t p2sh_version