mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-01-03 12:00:59 +00:00
src/apps/common: refactor coins.py into coins.py and coininfo.py
This commit is contained in:
parent
bb57000449
commit
d1800e0256
259
src/apps/common/coininfo.py
Normal file
259
src/apps/common/coininfo.py
Normal file
@ -0,0 +1,259 @@
|
|||||||
|
class CoinInfo:
|
||||||
|
|
||||||
|
def __init__(
|
||||||
|
self,
|
||||||
|
coin_name: str,
|
||||||
|
coin_shortcut: str,
|
||||||
|
address_type: int,
|
||||||
|
address_type_p2sh: int,
|
||||||
|
maxfee_kb: int,
|
||||||
|
signed_message_header: str,
|
||||||
|
xpub_magic: int,
|
||||||
|
bech32_prefix: str,
|
||||||
|
cashaddr_prefix: str,
|
||||||
|
segwit: bool,
|
||||||
|
forkid: int,
|
||||||
|
force_bip143: bool
|
||||||
|
):
|
||||||
|
self.coin_name = coin_name
|
||||||
|
self.coin_shortcut = coin_shortcut
|
||||||
|
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.bech32_prefix = bech32_prefix
|
||||||
|
self.cashaddr_prefix = cashaddr_prefix
|
||||||
|
self.segwit = segwit
|
||||||
|
self.forkid = forkid
|
||||||
|
self.force_bip143 = force_bip143
|
||||||
|
|
||||||
|
|
||||||
|
# the following list is generated using tools/codegen/gen_coins.py
|
||||||
|
# do not edit manually!
|
||||||
|
COINS = [
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Bitcoin',
|
||||||
|
coin_shortcut='BTC',
|
||||||
|
address_type=0,
|
||||||
|
address_type_p2sh=5,
|
||||||
|
maxfee_kb=2000000,
|
||||||
|
signed_message_header='Bitcoin Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix='bc',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Testnet',
|
||||||
|
coin_shortcut='TEST',
|
||||||
|
address_type=111,
|
||||||
|
address_type_p2sh=196,
|
||||||
|
maxfee_kb=10000000,
|
||||||
|
signed_message_header='Bitcoin Signed Message:\n',
|
||||||
|
xpub_magic=0x043587cf,
|
||||||
|
bech32_prefix='tb',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Bcash',
|
||||||
|
coin_shortcut='BCH',
|
||||||
|
address_type=0,
|
||||||
|
address_type_p2sh=5,
|
||||||
|
maxfee_kb=500000,
|
||||||
|
signed_message_header='Bitcoin Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix='bitcoincash',
|
||||||
|
segwit=False,
|
||||||
|
forkid=0,
|
||||||
|
force_bip143=True,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Bcash Testnet',
|
||||||
|
coin_shortcut='TBCH',
|
||||||
|
address_type=111,
|
||||||
|
address_type_p2sh=196,
|
||||||
|
maxfee_kb=10000000,
|
||||||
|
signed_message_header='Bitcoin Signed Message:\n',
|
||||||
|
xpub_magic=0x043587cf,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix='bchtest',
|
||||||
|
segwit=False,
|
||||||
|
forkid=0,
|
||||||
|
force_bip143=True,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Namecoin',
|
||||||
|
coin_shortcut='NMC',
|
||||||
|
address_type=52,
|
||||||
|
address_type_p2sh=5,
|
||||||
|
maxfee_kb=10000000,
|
||||||
|
signed_message_header='Namecoin Signed Message:\n',
|
||||||
|
xpub_magic=0x019da462,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=False,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Litecoin',
|
||||||
|
coin_shortcut='LTC',
|
||||||
|
address_type=48,
|
||||||
|
address_type_p2sh=50,
|
||||||
|
maxfee_kb=40000000,
|
||||||
|
signed_message_header='Litecoin Signed Message:\n',
|
||||||
|
xpub_magic=0x019da462,
|
||||||
|
bech32_prefix='ltc',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Dogecoin',
|
||||||
|
coin_shortcut='DOGE',
|
||||||
|
address_type=30,
|
||||||
|
address_type_p2sh=22,
|
||||||
|
maxfee_kb=1000000000,
|
||||||
|
signed_message_header='Dogecoin Signed Message:\n',
|
||||||
|
xpub_magic=0x02facafd,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=False,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Dash',
|
||||||
|
coin_shortcut='DASH',
|
||||||
|
address_type=76,
|
||||||
|
address_type_p2sh=16,
|
||||||
|
maxfee_kb=100000,
|
||||||
|
signed_message_header='DarkCoin Signed Message:\n',
|
||||||
|
xpub_magic=0x02fe52cc,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=False,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Zcash',
|
||||||
|
coin_shortcut='ZEC',
|
||||||
|
address_type=7352,
|
||||||
|
address_type_p2sh=7357,
|
||||||
|
maxfee_kb=1000000,
|
||||||
|
signed_message_header='Zcash Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=False,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Zcash Testnet',
|
||||||
|
coin_shortcut='TAZ',
|
||||||
|
address_type=7461,
|
||||||
|
address_type_p2sh=7354,
|
||||||
|
maxfee_kb=10000000,
|
||||||
|
signed_message_header='Zcash Signed Message:\n',
|
||||||
|
xpub_magic=0x043587cf,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=False,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Bitcoin Gold',
|
||||||
|
coin_shortcut='BTG',
|
||||||
|
address_type=38,
|
||||||
|
address_type_p2sh=23,
|
||||||
|
maxfee_kb=500000,
|
||||||
|
signed_message_header='Bitcoin Gold Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix='btg',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=79,
|
||||||
|
force_bip143=True,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='DigiByte',
|
||||||
|
coin_shortcut='DGB',
|
||||||
|
address_type=30,
|
||||||
|
address_type_p2sh=63,
|
||||||
|
maxfee_kb=500000,
|
||||||
|
signed_message_header='DigiByte Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix='dgb',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Monacoin',
|
||||||
|
coin_shortcut='MONA',
|
||||||
|
address_type=50,
|
||||||
|
address_type_p2sh=55,
|
||||||
|
maxfee_kb=5000000,
|
||||||
|
signed_message_header='Monacoin Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix='mona',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Fujicoin',
|
||||||
|
coin_shortcut='FJC',
|
||||||
|
address_type=36,
|
||||||
|
address_type_p2sh=16,
|
||||||
|
maxfee_kb=1000000,
|
||||||
|
signed_message_header='FujiCoin Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix='fc',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Vertcoin',
|
||||||
|
coin_shortcut='VTC',
|
||||||
|
address_type=71,
|
||||||
|
address_type_p2sh=5,
|
||||||
|
maxfee_kb=40000000,
|
||||||
|
signed_message_header='Vertcoin Signed Message:\n',
|
||||||
|
xpub_magic=0x0488b21e,
|
||||||
|
bech32_prefix='vtc',
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=True,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
CoinInfo(
|
||||||
|
coin_name='Decred Testnet',
|
||||||
|
coin_shortcut='TDCR',
|
||||||
|
address_type=3873,
|
||||||
|
address_type_p2sh=3836,
|
||||||
|
maxfee_kb=10000000,
|
||||||
|
signed_message_header='Decred Signed Message:\n',
|
||||||
|
xpub_magic=0x043587d1,
|
||||||
|
bech32_prefix=None,
|
||||||
|
cashaddr_prefix=None,
|
||||||
|
segwit=False,
|
||||||
|
forkid=None,
|
||||||
|
force_bip143=False,
|
||||||
|
),
|
||||||
|
]
|
@ -1,262 +1,4 @@
|
|||||||
class CoinInfo:
|
from apps.common.coininfo import COINS
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
coin_name: str,
|
|
||||||
coin_shortcut: str,
|
|
||||||
address_type: int,
|
|
||||||
address_type_p2sh: int,
|
|
||||||
maxfee_kb: int,
|
|
||||||
signed_message_header: str,
|
|
||||||
xpub_magic: int,
|
|
||||||
bech32_prefix: str,
|
|
||||||
cashaddr_prefix: str,
|
|
||||||
segwit: bool,
|
|
||||||
forkid: int,
|
|
||||||
force_bip143: bool
|
|
||||||
):
|
|
||||||
self.coin_name = coin_name
|
|
||||||
self.coin_shortcut = coin_shortcut
|
|
||||||
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.bech32_prefix = bech32_prefix
|
|
||||||
self.cashaddr_prefix = cashaddr_prefix
|
|
||||||
self.segwit = segwit
|
|
||||||
self.forkid = forkid
|
|
||||||
self.force_bip143 = force_bip143
|
|
||||||
|
|
||||||
|
|
||||||
# the following list is generated using tools/codegen/gen_coins.py
|
|
||||||
# do not edit manually!
|
|
||||||
COINS = [
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Bitcoin',
|
|
||||||
coin_shortcut='BTC',
|
|
||||||
address_type=0,
|
|
||||||
address_type_p2sh=5,
|
|
||||||
maxfee_kb=2000000,
|
|
||||||
signed_message_header='Bitcoin Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix='bc',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Testnet',
|
|
||||||
coin_shortcut='TEST',
|
|
||||||
address_type=111,
|
|
||||||
address_type_p2sh=196,
|
|
||||||
maxfee_kb=10000000,
|
|
||||||
signed_message_header='Bitcoin Signed Message:\n',
|
|
||||||
xpub_magic=0x043587cf,
|
|
||||||
bech32_prefix='tb',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Bcash',
|
|
||||||
coin_shortcut='BCH',
|
|
||||||
address_type=0,
|
|
||||||
address_type_p2sh=5,
|
|
||||||
maxfee_kb=500000,
|
|
||||||
signed_message_header='Bitcoin Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix='bitcoincash',
|
|
||||||
segwit=False,
|
|
||||||
forkid=0,
|
|
||||||
force_bip143=True,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Bcash Testnet',
|
|
||||||
coin_shortcut='TBCH',
|
|
||||||
address_type=111,
|
|
||||||
address_type_p2sh=196,
|
|
||||||
maxfee_kb=10000000,
|
|
||||||
signed_message_header='Bitcoin Signed Message:\n',
|
|
||||||
xpub_magic=0x043587cf,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix='bchtest',
|
|
||||||
segwit=False,
|
|
||||||
forkid=0,
|
|
||||||
force_bip143=True,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Namecoin',
|
|
||||||
coin_shortcut='NMC',
|
|
||||||
address_type=52,
|
|
||||||
address_type_p2sh=5,
|
|
||||||
maxfee_kb=10000000,
|
|
||||||
signed_message_header='Namecoin Signed Message:\n',
|
|
||||||
xpub_magic=0x019da462,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=False,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Litecoin',
|
|
||||||
coin_shortcut='LTC',
|
|
||||||
address_type=48,
|
|
||||||
address_type_p2sh=50,
|
|
||||||
maxfee_kb=40000000,
|
|
||||||
signed_message_header='Litecoin Signed Message:\n',
|
|
||||||
xpub_magic=0x019da462,
|
|
||||||
bech32_prefix='ltc',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Dogecoin',
|
|
||||||
coin_shortcut='DOGE',
|
|
||||||
address_type=30,
|
|
||||||
address_type_p2sh=22,
|
|
||||||
maxfee_kb=1000000000,
|
|
||||||
signed_message_header='Dogecoin Signed Message:\n',
|
|
||||||
xpub_magic=0x02facafd,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=False,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Dash',
|
|
||||||
coin_shortcut='DASH',
|
|
||||||
address_type=76,
|
|
||||||
address_type_p2sh=16,
|
|
||||||
maxfee_kb=100000,
|
|
||||||
signed_message_header='DarkCoin Signed Message:\n',
|
|
||||||
xpub_magic=0x02fe52cc,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=False,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Zcash',
|
|
||||||
coin_shortcut='ZEC',
|
|
||||||
address_type=7352,
|
|
||||||
address_type_p2sh=7357,
|
|
||||||
maxfee_kb=1000000,
|
|
||||||
signed_message_header='Zcash Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=False,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Zcash Testnet',
|
|
||||||
coin_shortcut='TAZ',
|
|
||||||
address_type=7461,
|
|
||||||
address_type_p2sh=7354,
|
|
||||||
maxfee_kb=10000000,
|
|
||||||
signed_message_header='Zcash Signed Message:\n',
|
|
||||||
xpub_magic=0x043587cf,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=False,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Bitcoin Gold',
|
|
||||||
coin_shortcut='BTG',
|
|
||||||
address_type=38,
|
|
||||||
address_type_p2sh=23,
|
|
||||||
maxfee_kb=500000,
|
|
||||||
signed_message_header='Bitcoin Gold Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix='btg',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=79,
|
|
||||||
force_bip143=True,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='DigiByte',
|
|
||||||
coin_shortcut='DGB',
|
|
||||||
address_type=30,
|
|
||||||
address_type_p2sh=63,
|
|
||||||
maxfee_kb=500000,
|
|
||||||
signed_message_header='DigiByte Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix='dgb',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Monacoin',
|
|
||||||
coin_shortcut='MONA',
|
|
||||||
address_type=50,
|
|
||||||
address_type_p2sh=55,
|
|
||||||
maxfee_kb=5000000,
|
|
||||||
signed_message_header='Monacoin Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix='mona',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Fujicoin',
|
|
||||||
coin_shortcut='FJC',
|
|
||||||
address_type=36,
|
|
||||||
address_type_p2sh=16,
|
|
||||||
maxfee_kb=1000000,
|
|
||||||
signed_message_header='FujiCoin Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix='fc',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Vertcoin',
|
|
||||||
coin_shortcut='VTC',
|
|
||||||
address_type=71,
|
|
||||||
address_type_p2sh=5,
|
|
||||||
maxfee_kb=40000000,
|
|
||||||
signed_message_header='Vertcoin Signed Message:\n',
|
|
||||||
xpub_magic=0x0488b21e,
|
|
||||||
bech32_prefix='vtc',
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=True,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
CoinInfo(
|
|
||||||
coin_name='Decred Testnet',
|
|
||||||
coin_shortcut='TDCR',
|
|
||||||
address_type=3873,
|
|
||||||
address_type_p2sh=3836,
|
|
||||||
maxfee_kb=10000000,
|
|
||||||
signed_message_header='Decred Signed Message:\n',
|
|
||||||
xpub_magic=0x043587d1,
|
|
||||||
bech32_prefix=None,
|
|
||||||
cashaddr_prefix=None,
|
|
||||||
segwit=False,
|
|
||||||
forkid=None,
|
|
||||||
force_bip143=False,
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
def by_shortcut(shortcut):
|
def by_shortcut(shortcut):
|
||||||
|
@ -27,4 +27,4 @@ for c in coins:
|
|||||||
else:
|
else:
|
||||||
print(' %s=%s,' % (n, repr(c[n])))
|
print(' %s=%s,' % (n, repr(c[n])))
|
||||||
print(' ),')
|
print(' ),')
|
||||||
print(']\n')
|
print(']')
|
||||||
|
Loading…
Reference in New Issue
Block a user