|
|
|
@ -3,6 +3,8 @@
|
|
|
|
|
from trezor.crypto.base58 import blake256d_32, groestl512d_32, keccak_32, sha256d_32
|
|
|
|
|
from trezor.crypto.scripts import blake256_ripemd160_digest, sha256_ripemd160_digest
|
|
|
|
|
|
|
|
|
|
# flake8: noqa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CoinInfo:
|
|
|
|
|
def __init__(
|
|
|
|
@ -63,9 +65,12 @@ class CoinInfo:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# fmt: off
|
|
|
|
|
COINS = [
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bitcoin",
|
|
|
|
|
def by_name(name: str) -> CoinInfo:
|
|
|
|
|
if False:
|
|
|
|
|
pass
|
|
|
|
|
elif name == "Bitcoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BTC",
|
|
|
|
|
address_type=0,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -83,9 +88,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="TEST",
|
|
|
|
|
address_type=111,
|
|
|
|
|
address_type_p2sh=196,
|
|
|
|
@ -103,9 +109,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Actinium",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Actinium":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="ACM",
|
|
|
|
|
address_type=53,
|
|
|
|
|
address_type_p2sh=55,
|
|
|
|
@ -123,9 +130,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Axe",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Axe":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="AXE",
|
|
|
|
|
address_type=55,
|
|
|
|
|
address_type_p2sh=16,
|
|
|
|
@ -143,9 +151,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bellcoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bellcoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BELL",
|
|
|
|
|
address_type=25,
|
|
|
|
|
address_type_p2sh=85,
|
|
|
|
@ -163,9 +172,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="BitCash",
|
|
|
|
|
)
|
|
|
|
|
elif name == "BitCash":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BITC",
|
|
|
|
|
address_type=230,
|
|
|
|
|
address_type_p2sh=235,
|
|
|
|
@ -183,9 +193,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="BitZeny",
|
|
|
|
|
)
|
|
|
|
|
elif name == "BitZeny":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="ZNY",
|
|
|
|
|
address_type=81,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -203,9 +214,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bitcloud",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bitcloud":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BTDX",
|
|
|
|
|
address_type=25,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -223,9 +235,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bcash",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bcash":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BCH",
|
|
|
|
|
address_type=0,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -243,9 +256,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bcash Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bcash Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="TBCH",
|
|
|
|
|
address_type=111,
|
|
|
|
|
address_type_p2sh=196,
|
|
|
|
@ -263,9 +277,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bgold",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bgold":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BTG",
|
|
|
|
|
address_type=38,
|
|
|
|
|
address_type_p2sh=23,
|
|
|
|
@ -283,9 +298,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bgold Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bgold Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="TBTG",
|
|
|
|
|
address_type=111,
|
|
|
|
|
address_type_p2sh=196,
|
|
|
|
@ -303,9 +319,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bprivate",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bprivate":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BTCP",
|
|
|
|
|
address_type=4901,
|
|
|
|
|
address_type_p2sh=5039,
|
|
|
|
@ -323,9 +340,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Brhodium",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Brhodium":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="XRC",
|
|
|
|
|
address_type=61,
|
|
|
|
|
address_type_p2sh=123,
|
|
|
|
@ -343,9 +361,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bitcore",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bitcore":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BTX",
|
|
|
|
|
address_type=3,
|
|
|
|
|
address_type_p2sh=125,
|
|
|
|
@ -363,9 +382,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Bitsend",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Bitsend":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BSD",
|
|
|
|
|
address_type=102,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -383,9 +403,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="BlockStamp",
|
|
|
|
|
)
|
|
|
|
|
elif name == "BlockStamp":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="BST",
|
|
|
|
|
address_type=26,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -403,9 +424,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Capricoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Capricoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="CPC",
|
|
|
|
|
address_type=28,
|
|
|
|
|
address_type_p2sh=35,
|
|
|
|
@ -423,9 +445,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Dash",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Dash":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="DASH",
|
|
|
|
|
address_type=76,
|
|
|
|
|
address_type_p2sh=16,
|
|
|
|
@ -443,9 +466,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Dash Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Dash Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tDASH",
|
|
|
|
|
address_type=140,
|
|
|
|
|
address_type_p2sh=19,
|
|
|
|
@ -463,9 +487,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Decred",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Decred":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="DCR",
|
|
|
|
|
address_type=1855,
|
|
|
|
|
address_type_p2sh=1818,
|
|
|
|
@ -483,9 +508,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=True,
|
|
|
|
|
curve_name='secp256k1-decred',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Decred Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Decred Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="TDCR",
|
|
|
|
|
address_type=3873,
|
|
|
|
|
address_type_p2sh=3836,
|
|
|
|
@ -503,9 +529,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=True,
|
|
|
|
|
curve_name='secp256k1-decred',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Denarius",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Denarius":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="DNR",
|
|
|
|
|
address_type=30,
|
|
|
|
|
address_type_p2sh=90,
|
|
|
|
@ -523,9 +550,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="DigiByte",
|
|
|
|
|
)
|
|
|
|
|
elif name == "DigiByte":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="DGB",
|
|
|
|
|
address_type=30,
|
|
|
|
|
address_type_p2sh=63,
|
|
|
|
@ -543,9 +571,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Dogecoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Dogecoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="DOGE",
|
|
|
|
|
address_type=30,
|
|
|
|
|
address_type_p2sh=22,
|
|
|
|
@ -563,9 +592,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="FairCoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "FairCoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="FAIR",
|
|
|
|
|
address_type=95,
|
|
|
|
|
address_type_p2sh=36,
|
|
|
|
@ -583,9 +613,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Feathercoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Feathercoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="FTC",
|
|
|
|
|
address_type=14,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -603,9 +634,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Flashcoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Flashcoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="FLASH",
|
|
|
|
|
address_type=68,
|
|
|
|
|
address_type_p2sh=130,
|
|
|
|
@ -623,9 +655,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Florincoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Florincoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="FLO",
|
|
|
|
|
address_type=35,
|
|
|
|
|
address_type_p2sh=94,
|
|
|
|
@ -643,9 +676,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Fujicoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Fujicoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="FJC",
|
|
|
|
|
address_type=36,
|
|
|
|
|
address_type_p2sh=16,
|
|
|
|
@ -663,9 +697,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Gincoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Gincoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="GIN",
|
|
|
|
|
address_type=38,
|
|
|
|
|
address_type_p2sh=10,
|
|
|
|
@ -683,9 +718,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="GameCredits",
|
|
|
|
|
)
|
|
|
|
|
elif name == "GameCredits":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="GAME",
|
|
|
|
|
address_type=38,
|
|
|
|
|
address_type_p2sh=62,
|
|
|
|
@ -703,9 +739,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Groestlcoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Groestlcoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="GRS",
|
|
|
|
|
address_type=36,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -723,9 +760,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1-groestl',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Groestlcoin Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Groestlcoin Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tGRS",
|
|
|
|
|
address_type=111,
|
|
|
|
|
address_type_p2sh=196,
|
|
|
|
@ -743,9 +781,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1-groestl',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Horizen",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Horizen":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="ZEN",
|
|
|
|
|
address_type=8329,
|
|
|
|
|
address_type_p2sh=8342,
|
|
|
|
@ -763,9 +802,10 @@ COINS = [
|
|
|
|
|
bip115=True,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Komodo",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Komodo":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="KMD",
|
|
|
|
|
address_type=60,
|
|
|
|
|
address_type_p2sh=85,
|
|
|
|
@ -783,9 +823,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Koto",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Koto":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="KOTO",
|
|
|
|
|
address_type=6198,
|
|
|
|
|
address_type_p2sh=6203,
|
|
|
|
@ -803,9 +844,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Litecoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Litecoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="LTC",
|
|
|
|
|
address_type=48,
|
|
|
|
|
address_type_p2sh=50,
|
|
|
|
@ -823,9 +865,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Litecoin Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Litecoin Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tLTC",
|
|
|
|
|
address_type=111,
|
|
|
|
|
address_type_p2sh=58,
|
|
|
|
@ -843,9 +886,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Megacoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Megacoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="MEC",
|
|
|
|
|
address_type=50,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -863,9 +907,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Monacoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Monacoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="MONA",
|
|
|
|
|
address_type=50,
|
|
|
|
|
address_type_p2sh=55,
|
|
|
|
@ -883,9 +928,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="MonetaryUnit",
|
|
|
|
|
)
|
|
|
|
|
elif name == "MonetaryUnit":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="MUE",
|
|
|
|
|
address_type=16,
|
|
|
|
|
address_type_p2sh=76,
|
|
|
|
@ -903,9 +949,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Myriad",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Myriad":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="XMY",
|
|
|
|
|
address_type=50,
|
|
|
|
|
address_type_p2sh=9,
|
|
|
|
@ -923,9 +970,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="NIX",
|
|
|
|
|
)
|
|
|
|
|
elif name == "NIX":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="NIX",
|
|
|
|
|
address_type=38,
|
|
|
|
|
address_type_p2sh=53,
|
|
|
|
@ -943,9 +991,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Namecoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Namecoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="NMC",
|
|
|
|
|
address_type=52,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -963,9 +1012,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="PIVX",
|
|
|
|
|
)
|
|
|
|
|
elif name == "PIVX":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="PIVX",
|
|
|
|
|
address_type=30,
|
|
|
|
|
address_type_p2sh=13,
|
|
|
|
@ -983,9 +1033,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="PIVX Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "PIVX Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tPIVX",
|
|
|
|
|
address_type=139,
|
|
|
|
|
address_type_p2sh=19,
|
|
|
|
@ -1003,9 +1054,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Pesetacoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Pesetacoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="PTC",
|
|
|
|
|
address_type=47,
|
|
|
|
|
address_type_p2sh=22,
|
|
|
|
@ -1023,9 +1075,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Polis",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Polis":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="POLIS",
|
|
|
|
|
address_type=55,
|
|
|
|
|
address_type_p2sh=56,
|
|
|
|
@ -1043,9 +1096,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Primecoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Primecoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="XPM",
|
|
|
|
|
address_type=23,
|
|
|
|
|
address_type_p2sh=83,
|
|
|
|
@ -1063,9 +1117,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Qtum",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Qtum":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="QTUM",
|
|
|
|
|
address_type=58,
|
|
|
|
|
address_type_p2sh=50,
|
|
|
|
@ -1083,9 +1138,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Qtum Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Qtum Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tQTUM",
|
|
|
|
|
address_type=120,
|
|
|
|
|
address_type_p2sh=110,
|
|
|
|
@ -1103,9 +1159,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Ravencoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Ravencoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="RVN",
|
|
|
|
|
address_type=60,
|
|
|
|
|
address_type_p2sh=122,
|
|
|
|
@ -1123,9 +1180,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Regtest",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Regtest":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="REGTEST",
|
|
|
|
|
address_type=111,
|
|
|
|
|
address_type_p2sh=196,
|
|
|
|
@ -1143,9 +1201,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="SmartCash",
|
|
|
|
|
)
|
|
|
|
|
elif name == "SmartCash":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="SMART",
|
|
|
|
|
address_type=63,
|
|
|
|
|
address_type_p2sh=18,
|
|
|
|
@ -1163,9 +1222,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1-smart',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="SmartCash Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "SmartCash Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tSMART",
|
|
|
|
|
address_type=65,
|
|
|
|
|
address_type_p2sh=21,
|
|
|
|
@ -1183,9 +1243,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1-smart',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Stakenet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Stakenet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="XSN",
|
|
|
|
|
address_type=76,
|
|
|
|
|
address_type_p2sh=16,
|
|
|
|
@ -1203,9 +1264,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="VIPSTARCOIN",
|
|
|
|
|
)
|
|
|
|
|
elif name == "VIPSTARCOIN":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="VIPS",
|
|
|
|
|
address_type=70,
|
|
|
|
|
address_type_p2sh=50,
|
|
|
|
@ -1223,9 +1285,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Vertcoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Vertcoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="VTC",
|
|
|
|
|
address_type=71,
|
|
|
|
|
address_type_p2sh=5,
|
|
|
|
@ -1243,9 +1306,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Viacoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Viacoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="VIA",
|
|
|
|
|
address_type=71,
|
|
|
|
|
address_type_p2sh=33,
|
|
|
|
@ -1263,9 +1327,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="ZClassic",
|
|
|
|
|
)
|
|
|
|
|
elif name == "ZClassic":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="ZCL",
|
|
|
|
|
address_type=7352,
|
|
|
|
|
address_type_p2sh=7357,
|
|
|
|
@ -1283,9 +1348,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Zcash",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Zcash":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="ZEC",
|
|
|
|
|
address_type=7352,
|
|
|
|
|
address_type_p2sh=7357,
|
|
|
|
@ -1303,9 +1369,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Zcash Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Zcash Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="TAZ",
|
|
|
|
|
address_type=7461,
|
|
|
|
|
address_type_p2sh=7354,
|
|
|
|
@ -1323,9 +1390,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Zcoin",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Zcoin":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="XZC",
|
|
|
|
|
address_type=82,
|
|
|
|
|
address_type_p2sh=7,
|
|
|
|
@ -1343,9 +1411,10 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
CoinInfo(
|
|
|
|
|
coin_name="Zcoin Testnet",
|
|
|
|
|
)
|
|
|
|
|
elif name == "Zcoin Testnet":
|
|
|
|
|
return CoinInfo(
|
|
|
|
|
coin_name=name,
|
|
|
|
|
coin_shortcut="tXZC",
|
|
|
|
|
address_type=65,
|
|
|
|
|
address_type_p2sh=178,
|
|
|
|
@ -1363,5 +1432,5 @@ COINS = [
|
|
|
|
|
bip115=False,
|
|
|
|
|
decred=False,
|
|
|
|
|
curve_name='secp256k1',
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
raise ValueError('Unknown coin name "%s"' % name)
|
|
|
|
|