# generated from coininfo.py.mako # do not edit manually! from trezor import utils from trezor.crypto.base58 import blake256d_32, groestl512d_32, keccak_32, sha256d_32 from trezor.crypto.scripts import blake256_ripemd160_digest, sha256_ripemd160_digest if False: from typing import Any # 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, 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.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 = sha256_ripemd160_digest elif curve_name == "secp256k1-decred": self.b58_hash = blake256d_32 self.sign_hash_double = False self.script_hash = blake256_ripemd160_digest elif curve_name == "secp256k1-smart": self.b58_hash = keccak_32 self.sign_hash_double = False self.script_hash = sha256_ripemd160_digest else: self.b58_hash = sha256d_32 self.sign_hash_double = True self.script_hash = sha256_ripemd160_digest 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 False: pass elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, 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 False: pass elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif name == "Bellcoin": return CoinInfo( coin_name=name, coin_shortcut="BELL", decimals=8, address_type=25, address_type_p2sh=85, maxfee_kb=1000000, signed_message_header="Bellcoin 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="bm", cashaddr_prefix=None, slip44=25252, segwit=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, ) elif name == "BitZeny": return CoinInfo( coin_name=name, coin_shortcut="ZNY", decimals=8, address_type=81, address_type_p2sh=5, maxfee_kb=1600000000000, signed_message_header="BitZeny 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="bz", cashaddr_prefix=None, slip44=123, segwit=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, ) elif 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, fork_id=0, force_bip143=True, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=0, force_bip143=True, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=79, force_bip143=True, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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=156, segwit=True, fork_id=79, force_bip143=True, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=42, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, 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, ) elif 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, 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, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, 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'}, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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=0x0488ade4, xpub_magic_multisig_segwit_native=0x0488ade4, bech32_prefix="fc", cashaddr_prefix=None, slip44=75, segwit=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, ) elif name == "GameCredits": return CoinInfo( coin_name=name, coin_shortcut="GAME", decimals=8, address_type=38, address_type_p2sh=62, maxfee_kb=53000000000, signed_message_header="GameCredits Signed Message:\n", xpub_magic=0x019d9cfe, xpub_magic_segwit_p2sh=0x01b26ef6, xpub_magic_segwit_native=0x04b24746, xpub_magic_multisig_segwit_p2sh=0x019da462, xpub_magic_multisig_segwit_native=0x019da462, bech32_prefix="game", cashaddr_prefix=None, slip44=101, segwit=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, ) elif 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, 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, ) elif 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, 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, ) elif name == "Hatch": return CoinInfo( coin_name=name, coin_shortcut="HATCH", decimals=8, address_type=76, address_type_p2sh=16, maxfee_kb=100000, signed_message_header="Hatch 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=88888888, segwit=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, ) elif name == "Hatch Testnet": return CoinInfo( coin_name=name, coin_shortcut="tHATCH", decimals=8, address_type=140, address_type_p2sh=19, maxfee_kb=100000, signed_message_header="Hatch 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=True, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=True, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=True, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif name == "NIX": return CoinInfo( coin_name=name, coin_shortcut="NIX", decimals=8, address_type=38, address_type_p2sh=53, maxfee_kb=30000000000, signed_message_header="NIX 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="nix", cashaddr_prefix=None, slip44=400, segwit=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, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif name == "Particl": return CoinInfo( coin_name=name, coin_shortcut="PART", decimals=8, address_type=56, address_type_p2sh=60, maxfee_kb=5300000000, signed_message_header="Bitcoin Signed Message:\n", xpub_magic=0x8f1daeb8, xpub_magic_segwit_p2sh=0x01b26ef6, xpub_magic_segwit_native=0x04b24746, xpub_magic_multisig_segwit_p2sh=0x8f1daeb8, xpub_magic_multisig_segwit_native=0x8f1daeb8, bech32_prefix="bc", cashaddr_prefix=None, slip44=44, segwit=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, ) elif name == "Particl Testnet": return CoinInfo( coin_name=name, coin_shortcut="tPART", decimals=8, address_type=118, address_type_p2sh=122, maxfee_kb=10000000, signed_message_header="Bitcoin Signed Message:\n", xpub_magic=0x04889478, xpub_magic_segwit_p2sh=0x044a5262, xpub_magic_segwit_native=0x045f1cf6, xpub_magic_multisig_segwit_p2sh=0x04889478, xpub_magic_multisig_segwit_native=0x04889478, bech32_prefix="tb", cashaddr_prefix=None, slip44=1, segwit=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, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=True, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=True, overwintered=False, confidential_assets=None, ) elif name == "Polis": return CoinInfo( coin_name=name, coin_shortcut="POLIS", decimals=8, address_type=55, address_type_p2sh=56, maxfee_kb=4900000000, signed_message_header="Polis Signed Message:\n", xpub_magic=0x03e25d7e, 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=1997, segwit=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, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, 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, ) elif 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=224, segwit=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, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=True, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=False, timestamp=False, overwintered=False, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=True, confidential_assets=None, ) elif 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, fork_id=None, force_bip143=False, decred=False, negative_fee=False, curve_name='secp256k1', extra_data=True, timestamp=False, overwintered=True, confidential_assets=None, ) raise ValueError('Unknown coin name "%s"' % name)