1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-13 19:18:56 +00:00

src/apps/common: refactor coins.py into coins.py and coininfo.py

This commit is contained in:
Pavol Rusnak 2018-05-28 12:18:54 +02:00
parent bb57000449
commit d1800e0256
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
3 changed files with 261 additions and 260 deletions

259
src/apps/common/coininfo.py Normal file
View 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,
),
]

View File

@ -1,262 +1,4 @@
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,
),
]
from apps.common.coininfo import COINS
def by_shortcut(shortcut):

View File

@ -27,4 +27,4 @@ for c in coins:
else:
print(' %s=%s,' % (n, repr(c[n])))
print(' ),')
print(']\n')
print(']')