mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-04 13:38:28 +00:00
14a0bc13ce
[no changelog]
1691 lines
61 KiB
Python
1691 lines
61 KiB
Python
# generated from coininfo.py.mako
|
|
# (by running `make templates` in `core`)
|
|
# do not edit manually!
|
|
from typing import Any
|
|
|
|
from trezor import utils
|
|
from trezor.crypto.base58 import blake256d_32, groestl512d_32, keccak_32, sha256d_32
|
|
from trezor.crypto.scripts import blake256_ripemd160, sha256_ripemd160
|
|
|
|
# flake8: noqa
|
|
|
|
|
|
class CoinInfo:
|
|
def __init__(
|
|
self,
|
|
coin_name: str,
|
|
coin_shortcut: str,
|
|
decimals: int,
|
|
address_type: int,
|
|
address_type_p2sh: int,
|
|
maxfee_kb: int,
|
|
signed_message_header: str,
|
|
xpub_magic: int,
|
|
xpub_magic_segwit_p2sh: int | None,
|
|
xpub_magic_segwit_native: int | None,
|
|
xpub_magic_multisig_segwit_p2sh: int | None,
|
|
xpub_magic_multisig_segwit_native: int | None,
|
|
bech32_prefix: str | None,
|
|
cashaddr_prefix: str | None,
|
|
slip44: int,
|
|
segwit: bool,
|
|
taproot: bool,
|
|
fork_id: int | None,
|
|
force_bip143: bool,
|
|
decred: bool,
|
|
negative_fee: bool,
|
|
curve_name: str,
|
|
extra_data: bool,
|
|
timestamp: bool,
|
|
overwintered: bool,
|
|
confidential_assets: dict[str, Any] | None,
|
|
) -> None:
|
|
self.coin_name = coin_name
|
|
self.coin_shortcut = coin_shortcut
|
|
self.decimals = decimals
|
|
self.address_type = address_type
|
|
self.address_type_p2sh = address_type_p2sh
|
|
self.maxfee_kb = maxfee_kb
|
|
self.signed_message_header = signed_message_header
|
|
self.xpub_magic = xpub_magic
|
|
self.xpub_magic_segwit_p2sh = xpub_magic_segwit_p2sh
|
|
self.xpub_magic_segwit_native = xpub_magic_segwit_native
|
|
self.xpub_magic_multisig_segwit_p2sh = xpub_magic_multisig_segwit_p2sh
|
|
self.xpub_magic_multisig_segwit_native = xpub_magic_multisig_segwit_native
|
|
self.bech32_prefix = bech32_prefix
|
|
self.cashaddr_prefix = cashaddr_prefix
|
|
self.slip44 = slip44
|
|
self.segwit = segwit
|
|
self.taproot = taproot
|
|
self.fork_id = fork_id
|
|
self.force_bip143 = force_bip143
|
|
self.decred = decred
|
|
self.negative_fee = negative_fee
|
|
self.curve_name = curve_name
|
|
self.extra_data = extra_data
|
|
self.timestamp = timestamp
|
|
self.overwintered = overwintered
|
|
self.confidential_assets = confidential_assets
|
|
if curve_name == "secp256k1-groestl":
|
|
self.b58_hash = groestl512d_32
|
|
self.sign_hash_double = False
|
|
self.script_hash: type[utils.HashContextInitable] = sha256_ripemd160
|
|
elif curve_name == "secp256k1-decred":
|
|
self.b58_hash = blake256d_32
|
|
self.sign_hash_double = False
|
|
self.script_hash = blake256_ripemd160
|
|
elif curve_name == "secp256k1-smart":
|
|
self.b58_hash = keccak_32
|
|
self.sign_hash_double = False
|
|
self.script_hash = sha256_ripemd160
|
|
else:
|
|
self.b58_hash = sha256d_32
|
|
self.sign_hash_double = True
|
|
self.script_hash = sha256_ripemd160
|
|
|
|
def __eq__(self, other: Any) -> bool:
|
|
if not isinstance(other, CoinInfo):
|
|
return NotImplemented
|
|
return self.coin_name == other.coin_name
|
|
|
|
|
|
# fmt: off
|
|
def by_name(name: str) -> CoinInfo:
|
|
if name == "Bitcoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="BTC",
|
|
decimals=8,
|
|
address_type=0,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=2000000,
|
|
signed_message_header="Bitcoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0295b43f,
|
|
xpub_magic_multisig_segwit_native=0x02aa7ed3,
|
|
bech32_prefix="bc",
|
|
cashaddr_prefix=None,
|
|
slip44=0,
|
|
segwit=True,
|
|
taproot=True,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Regtest":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="REGTEST",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=10000000,
|
|
signed_message_header="Bitcoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x024289ef,
|
|
xpub_magic_multisig_segwit_native=0x02575483,
|
|
bech32_prefix="bcrt",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=True,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="TEST",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=10000000,
|
|
signed_message_header="Bitcoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x024289ef,
|
|
xpub_magic_multisig_segwit_native=0x02575483,
|
|
bech32_prefix="tb",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=True,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if not utils.BITCOIN_ONLY:
|
|
if name == "Actinium":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="ACM",
|
|
decimals=8,
|
|
address_type=53,
|
|
address_type_p2sh=55,
|
|
maxfee_kb=320000000000,
|
|
signed_message_header="Actinium Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="acm",
|
|
cashaddr_prefix=None,
|
|
slip44=228,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Axe":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="AXE",
|
|
decimals=8,
|
|
address_type=55,
|
|
address_type_p2sh=16,
|
|
maxfee_kb=21000000000,
|
|
signed_message_header="DarkCoin Signed Message:\n",
|
|
xpub_magic=0x02fe52cc,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=4242,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Bcash":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="BCH",
|
|
decimals=8,
|
|
address_type=0,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=14000000,
|
|
signed_message_header="Bitcoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix="bitcoincash",
|
|
slip44=145,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=0,
|
|
force_bip143=True,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Bcash Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="TBCH",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=10000000,
|
|
signed_message_header="Bitcoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix="bchtest",
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=0,
|
|
force_bip143=True,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Bgold":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="BTG",
|
|
decimals=8,
|
|
address_type=38,
|
|
address_type_p2sh=23,
|
|
maxfee_kb=380000000,
|
|
signed_message_header="Bitcoin Gold Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="btg",
|
|
cashaddr_prefix=None,
|
|
slip44=156,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=79,
|
|
force_bip143=True,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Bgold Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="TBTG",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=500000,
|
|
signed_message_header="Bitcoin Gold Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x043587cf,
|
|
xpub_magic_multisig_segwit_native=0x043587cf,
|
|
bech32_prefix="tbtg",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=79,
|
|
force_bip143=True,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Bprivate":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="BTCP",
|
|
decimals=8,
|
|
address_type=4901,
|
|
address_type_p2sh=5039,
|
|
maxfee_kb=32000000000,
|
|
signed_message_header="BitcoinPrivate Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=183,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=42,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Bitcore":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="BTX",
|
|
decimals=8,
|
|
address_type=3,
|
|
address_type_p2sh=125,
|
|
maxfee_kb=14000000000,
|
|
signed_message_header="BitCore Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="btx",
|
|
cashaddr_prefix=None,
|
|
slip44=160,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "CPUchain":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="CPU",
|
|
decimals=8,
|
|
address_type=28,
|
|
address_type_p2sh=30,
|
|
maxfee_kb=8700000000000,
|
|
signed_message_header="CPUchain Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="cpu",
|
|
cashaddr_prefix=None,
|
|
slip44=363,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Crown":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="CRW",
|
|
decimals=8,
|
|
address_type=95495,
|
|
address_type_p2sh=95473,
|
|
maxfee_kb=52000000000,
|
|
signed_message_header="Crown Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=72,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Dash":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="DASH",
|
|
decimals=8,
|
|
address_type=76,
|
|
address_type_p2sh=16,
|
|
maxfee_kb=45000000,
|
|
signed_message_header="DarkCoin Signed Message:\n",
|
|
xpub_magic=0x02fe52cc,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=5,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Dash Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tDASH",
|
|
decimals=8,
|
|
address_type=140,
|
|
address_type_p2sh=19,
|
|
maxfee_kb=100000,
|
|
signed_message_header="DarkCoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Decred":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="DCR",
|
|
decimals=8,
|
|
address_type=1855,
|
|
address_type_p2sh=1818,
|
|
maxfee_kb=220000000,
|
|
signed_message_header="Decred Signed Message:\n",
|
|
xpub_magic=0x02fda926,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=42,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=True,
|
|
negative_fee=False,
|
|
curve_name='secp256k1-decred',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Decred Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="TDCR",
|
|
decimals=8,
|
|
address_type=3873,
|
|
address_type_p2sh=3836,
|
|
maxfee_kb=10000000,
|
|
signed_message_header="Decred Signed Message:\n",
|
|
xpub_magic=0x043587d1,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=True,
|
|
negative_fee=False,
|
|
curve_name='secp256k1-decred',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "DigiByte":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="DGB",
|
|
decimals=8,
|
|
address_type=30,
|
|
address_type_p2sh=63,
|
|
maxfee_kb=130000000000,
|
|
signed_message_header="DigiByte Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="dgb",
|
|
cashaddr_prefix=None,
|
|
slip44=20,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Dogecoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="DOGE",
|
|
decimals=8,
|
|
address_type=30,
|
|
address_type_p2sh=22,
|
|
maxfee_kb=1200000000000,
|
|
signed_message_header="Dogecoin Signed Message:\n",
|
|
xpub_magic=0x02facafd,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=3,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Elements":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="ELEMENTS",
|
|
decimals=8,
|
|
address_type=235,
|
|
address_type_p2sh=75,
|
|
maxfee_kb=10000000,
|
|
signed_message_header="Bitcoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x043587cf,
|
|
xpub_magic_multisig_segwit_native=0x043587cf,
|
|
bech32_prefix="ert",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets={'address_prefix': 4, 'blech32_prefix': 'el'},
|
|
)
|
|
if name == "Feathercoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="FTC",
|
|
decimals=8,
|
|
address_type=14,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=390000000000,
|
|
signed_message_header="Feathercoin Signed Message:\n",
|
|
xpub_magic=0x0488bc26,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488bc26,
|
|
xpub_magic_multisig_segwit_native=0x0488bc26,
|
|
bech32_prefix="fc",
|
|
cashaddr_prefix=None,
|
|
slip44=8,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Firo":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="FIRO",
|
|
decimals=8,
|
|
address_type=82,
|
|
address_type_p2sh=7,
|
|
maxfee_kb=640000000,
|
|
signed_message_header="Zcoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=136,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Firo Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tFIRO",
|
|
decimals=8,
|
|
address_type=65,
|
|
address_type_p2sh=178,
|
|
maxfee_kb=1000000,
|
|
signed_message_header="Zcoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Florincoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="FLO",
|
|
decimals=8,
|
|
address_type=35,
|
|
address_type_p2sh=94,
|
|
maxfee_kb=78000000000,
|
|
signed_message_header="Florincoin Signed Message:\n",
|
|
xpub_magic=0x00174921,
|
|
xpub_magic_segwit_p2sh=0x01b26ef6,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x00174921,
|
|
xpub_magic_multisig_segwit_native=0x00174921,
|
|
bech32_prefix="flo",
|
|
cashaddr_prefix=None,
|
|
slip44=216,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Fujicoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="FJC",
|
|
decimals=8,
|
|
address_type=36,
|
|
address_type_p2sh=16,
|
|
maxfee_kb=35000000000000,
|
|
signed_message_header="FujiCoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0295b43f,
|
|
xpub_magic_multisig_segwit_native=0x02aa7ed3,
|
|
bech32_prefix="fc",
|
|
cashaddr_prefix=None,
|
|
slip44=75,
|
|
segwit=True,
|
|
taproot=True,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Groestlcoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="GRS",
|
|
decimals=8,
|
|
address_type=36,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=16000000000,
|
|
signed_message_header="GroestlCoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="grs",
|
|
cashaddr_prefix=None,
|
|
slip44=17,
|
|
segwit=True,
|
|
taproot=True,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1-groestl',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Groestlcoin Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tGRS",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=100000,
|
|
signed_message_header="GroestlCoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x043587cf,
|
|
xpub_magic_multisig_segwit_native=0x043587cf,
|
|
bech32_prefix="tgrs",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=True,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1-groestl',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Komodo":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="KMD",
|
|
decimals=8,
|
|
address_type=60,
|
|
address_type_p2sh=85,
|
|
maxfee_kb=4800000000,
|
|
signed_message_header="Komodo Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=141,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=True,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=True,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Koto":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="KOTO",
|
|
decimals=8,
|
|
address_type=6198,
|
|
address_type_p2sh=6203,
|
|
maxfee_kb=1000000,
|
|
signed_message_header="Koto Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=510,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=True,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Litecoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="LTC",
|
|
decimals=8,
|
|
address_type=48,
|
|
address_type_p2sh=50,
|
|
maxfee_kb=67000000,
|
|
signed_message_header="Litecoin Signed Message:\n",
|
|
xpub_magic=0x019da462,
|
|
xpub_magic_segwit_p2sh=0x01b26ef6,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x019da462,
|
|
xpub_magic_multisig_segwit_native=0x019da462,
|
|
bech32_prefix="ltc",
|
|
cashaddr_prefix=None,
|
|
slip44=2,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Litecoin Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tLTC",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=58,
|
|
maxfee_kb=40000000,
|
|
signed_message_header="Litecoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x043587cf,
|
|
xpub_magic_multisig_segwit_native=0x043587cf,
|
|
bech32_prefix="tltc",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Monacoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="MONA",
|
|
decimals=8,
|
|
address_type=50,
|
|
address_type_p2sh=55,
|
|
maxfee_kb=2100000000,
|
|
signed_message_header="Monacoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="mona",
|
|
cashaddr_prefix=None,
|
|
slip44=22,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "MonetaryUnit":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="MUE",
|
|
decimals=8,
|
|
address_type=16,
|
|
address_type_p2sh=76,
|
|
maxfee_kb=600000000000,
|
|
signed_message_header="MonetaryUnit Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=31,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Namecoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="NMC",
|
|
decimals=8,
|
|
address_type=52,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=8700000000,
|
|
signed_message_header="Namecoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=7,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Peercoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="PPC",
|
|
decimals=6,
|
|
address_type=55,
|
|
address_type_p2sh=117,
|
|
maxfee_kb=13000000000,
|
|
signed_message_header="Peercoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="pc",
|
|
cashaddr_prefix=None,
|
|
slip44=6,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=True,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Peercoin Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tPPC",
|
|
decimals=6,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=2000000,
|
|
signed_message_header="Peercoin Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x043587cf,
|
|
xpub_magic_multisig_segwit_native=0x043587cf,
|
|
bech32_prefix="tpc",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=True,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Primecoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="XPM",
|
|
decimals=8,
|
|
address_type=23,
|
|
address_type_p2sh=83,
|
|
maxfee_kb=89000000000,
|
|
signed_message_header="Primecoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=24,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Qtum":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="QTUM",
|
|
decimals=8,
|
|
address_type=58,
|
|
address_type_p2sh=50,
|
|
maxfee_kb=1000000000,
|
|
signed_message_header="Qtum Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="qc",
|
|
cashaddr_prefix=None,
|
|
slip44=2301,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Qtum Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tQTUM",
|
|
decimals=8,
|
|
address_type=120,
|
|
address_type_p2sh=110,
|
|
maxfee_kb=40000000,
|
|
signed_message_header="Qtum Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=0x044a5262,
|
|
xpub_magic_segwit_native=0x045f1cf6,
|
|
xpub_magic_multisig_segwit_p2sh=0x043587cf,
|
|
xpub_magic_multisig_segwit_native=0x043587cf,
|
|
bech32_prefix="tq",
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Ravencoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="RVN",
|
|
decimals=8,
|
|
address_type=60,
|
|
address_type_p2sh=122,
|
|
maxfee_kb=170000000000,
|
|
signed_message_header="Raven Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=175,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Ravencoin Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tRVN",
|
|
decimals=8,
|
|
address_type=111,
|
|
address_type_p2sh=196,
|
|
maxfee_kb=170000000000,
|
|
signed_message_header="Raven Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Ritocoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="RITO",
|
|
decimals=8,
|
|
address_type=25,
|
|
address_type_p2sh=105,
|
|
maxfee_kb=39000000000000,
|
|
signed_message_header="Rito Signed Message:\n",
|
|
xpub_magic=0x0534e7ca,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=19169,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "SmartCash":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="SMART",
|
|
decimals=8,
|
|
address_type=63,
|
|
address_type_p2sh=18,
|
|
maxfee_kb=780000000000,
|
|
signed_message_header="SmartCash Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=224,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1-smart',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "SmartCash Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="tSMART",
|
|
decimals=8,
|
|
address_type=65,
|
|
address_type_p2sh=21,
|
|
maxfee_kb=1000000,
|
|
signed_message_header="SmartCash Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1-smart',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Stakenet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="XSN",
|
|
decimals=8,
|
|
address_type=76,
|
|
address_type_p2sh=16,
|
|
maxfee_kb=11000000000,
|
|
signed_message_header="DarkCoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="xc",
|
|
cashaddr_prefix=None,
|
|
slip44=199,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Syscoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="SYS",
|
|
decimals=8,
|
|
address_type=63,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=42000000000,
|
|
signed_message_header="Syscoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="sys",
|
|
cashaddr_prefix=None,
|
|
slip44=57,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Unobtanium":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="UNO",
|
|
decimals=8,
|
|
address_type=130,
|
|
address_type_p2sh=30,
|
|
maxfee_kb=53000000,
|
|
signed_message_header="Unobtanium Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=92,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "VIPSTARCOIN":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="VIPS",
|
|
decimals=8,
|
|
address_type=70,
|
|
address_type_p2sh=50,
|
|
maxfee_kb=140000000000000,
|
|
signed_message_header="VIPSTARCOIN Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="vips",
|
|
cashaddr_prefix=None,
|
|
slip44=1919,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Verge":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="XVG",
|
|
decimals=6,
|
|
address_type=30,
|
|
address_type_p2sh=33,
|
|
maxfee_kb=550000000000,
|
|
signed_message_header="Name: Dogecoin Dark\n",
|
|
xpub_magic=0x022d2533,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=77,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=True,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Vertcoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="VTC",
|
|
decimals=8,
|
|
address_type=71,
|
|
address_type_p2sh=5,
|
|
maxfee_kb=13000000000,
|
|
signed_message_header="Vertcoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="vtc",
|
|
cashaddr_prefix=None,
|
|
slip44=28,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Viacoin":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="VIA",
|
|
decimals=8,
|
|
address_type=71,
|
|
address_type_p2sh=33,
|
|
maxfee_kb=14000000000,
|
|
signed_message_header="Viacoin Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=0x049d7cb2,
|
|
xpub_magic_segwit_native=0x04b24746,
|
|
xpub_magic_multisig_segwit_p2sh=0x0488b21e,
|
|
xpub_magic_multisig_segwit_native=0x0488b21e,
|
|
bech32_prefix="via",
|
|
cashaddr_prefix=None,
|
|
slip44=14,
|
|
segwit=True,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "ZCore":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="ZCR",
|
|
decimals=8,
|
|
address_type=142,
|
|
address_type_p2sh=145,
|
|
maxfee_kb=170000000000,
|
|
signed_message_header="DarkNet Signed Message:\n",
|
|
xpub_magic=0x04b24746,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=428,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Zcash":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="ZEC",
|
|
decimals=8,
|
|
address_type=7352,
|
|
address_type_p2sh=7357,
|
|
maxfee_kb=51000000,
|
|
signed_message_header="Zcash Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=133,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=True,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Zcash Testnet":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="TAZ",
|
|
decimals=8,
|
|
address_type=7461,
|
|
address_type_p2sh=7354,
|
|
maxfee_kb=10000000,
|
|
signed_message_header="Zcash Signed Message:\n",
|
|
xpub_magic=0x043587cf,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=1,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=True,
|
|
timestamp=False,
|
|
overwintered=True,
|
|
confidential_assets=None,
|
|
)
|
|
if name == "Brhodium":
|
|
return CoinInfo(
|
|
coin_name=name,
|
|
coin_shortcut="XRC",
|
|
decimals=8,
|
|
address_type=61,
|
|
address_type_p2sh=123,
|
|
maxfee_kb=1000000000,
|
|
signed_message_header="BitCoin Rhodium Signed Message:\n",
|
|
xpub_magic=0x0488b21e,
|
|
xpub_magic_segwit_p2sh=None,
|
|
xpub_magic_segwit_native=None,
|
|
xpub_magic_multisig_segwit_p2sh=None,
|
|
xpub_magic_multisig_segwit_native=None,
|
|
bech32_prefix=None,
|
|
cashaddr_prefix=None,
|
|
slip44=10291,
|
|
segwit=False,
|
|
taproot=False,
|
|
fork_id=None,
|
|
force_bip143=False,
|
|
decred=False,
|
|
negative_fee=False,
|
|
curve_name='secp256k1',
|
|
extra_data=False,
|
|
timestamp=False,
|
|
overwintered=False,
|
|
confidential_assets=None,
|
|
)
|
|
raise ValueError # Unknown coin name
|