1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-26 01:18:28 +00:00

apps.common.coins: update to return CoinType, not dict (also modify generator)

This commit is contained in:
Pavol Rusnak 2016-11-09 14:46:59 +01:00
parent 25ab4dd2ea
commit 3015045df6
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
2 changed files with 90 additions and 113 deletions

View File

@ -1,128 +1,107 @@
from trezor.messages.CoinType import CoinType
# the following list is generated using tools/coins-gen.py
# do not edit manually!
_coins = [
{
'coin_name': 'Bitcoin',
'coin_shortcut': 'BTC',
'maxfee_kb': 100000,
'address_type': 0,
'address_type_p2sh': 5,
'address_type_p2wpkh': 6,
'address_type_p2wsh': 10,
'signed_message_header': 'Bitcoin Signed Message:\n',
'bip44': 0,
'xpub_magic': 76067358,
'xprv_magic': 76066276,
},
{
'coin_name': 'Testnet',
'coin_shortcut': 'TEST',
'maxfee_kb': 10000000,
'address_type': 111,
'address_type_p2sh': 196,
'address_type_p2wpkh': 3,
'address_type_p2wsh': 40,
'signed_message_header': 'Bitcoin Signed Message:\n',
'bip44': 1,
'xpub_magic': 70617039,
'xprv_magic': 70615956,
},
{
'coin_name': 'Namecoin',
'coin_shortcut': 'NMC',
'maxfee_kb': 10000000,
'address_type': 52,
'address_type_p2sh': 5,
'address_type_p2wpkh': None,
'address_type_p2wsh': None,
'signed_message_header': 'Namecoin Signed Message:\n',
'bip44': 7,
'xpub_magic': 27108450,
'xprv_magic': 27106558,
},
{
'coin_name': 'Litecoin',
'coin_shortcut': 'LTC',
'maxfee_kb': 1000000,
'address_type': 48,
'address_type_p2sh': 5,
'address_type_p2wpkh': None,
'address_type_p2wsh': None,
'signed_message_header': 'Litecoin Signed Message:\n',
'bip44': 2,
'xpub_magic': 27108450,
'xprv_magic': 27106558,
},
{
'coin_name': 'Dogecoin',
'coin_shortcut': 'DOGE',
'maxfee_kb': 1000000000,
'address_type': 30,
'address_type_p2sh': 22,
'address_type_p2wpkh': None,
'address_type_p2wsh': None,
'signed_message_header': 'Dogecoin Signed Message:\n',
'bip44': 3,
'xpub_magic': 49990397,
'xprv_magic': 49988504,
},
{
'coin_name': 'Dash',
'coin_shortcut': 'DASH',
'maxfee_kb': 100000,
'address_type': 76,
'address_type_p2sh': 16,
'address_type_p2wpkh': None,
'address_type_p2wsh': None,
'signed_message_header': 'DarkCoin Signed Message:\n',
'bip44': 5,
'xpub_magic': 50221772,
'xprv_magic': 50221816,
},
{
'coin_name': 'Zcash',
'coin_shortcut': 'ZEC',
'maxfee_kb': 1000000,
'address_type': 7352,
'address_type_p2sh': 7357,
'address_type_p2wpkh': None,
'address_type_p2wsh': None,
'signed_message_header': 'Zcash Signed Message:\n',
'bip44': 133,
'xpub_magic': 76067358,
'xprv_magic': 76066276,
},
{
'coin_name': 'Zcash Testnet',
'coin_shortcut': 'TAZ',
'maxfee_kb': 10000000,
'address_type': 7461,
'address_type_p2sh': 7354,
'address_type_p2wpkh': None,
'address_type_p2wsh': None,
'signed_message_header': 'Zcash Signed Message:\n',
'bip44': 1,
'xpub_magic': 70617039,
'xprv_magic': 70615956,
},
CoinType(
coin_name='Bitcoin',
coin_shortcut='BTC',
address_type=0,
maxfee_kb=100000,
address_type_p2sh=5,
address_type_p2wpkh=6,
address_type_p2wsh=10,
signed_message_header='Bitcoin Signed Message:\n',
),
CoinType(
coin_name='Testnet',
coin_shortcut='TEST',
address_type=111,
maxfee_kb=10000000,
address_type_p2sh=196,
address_type_p2wpkh=3,
address_type_p2wsh=40,
signed_message_header='Bitcoin Signed Message:\n',
),
CoinType(
coin_name='Namecoin',
coin_shortcut='NMC',
address_type=52,
maxfee_kb=10000000,
address_type_p2sh=5,
address_type_p2wpkh=None,
address_type_p2wsh=None,
signed_message_header='Namecoin Signed Message:\n',
),
CoinType(
coin_name='Litecoin',
coin_shortcut='LTC',
address_type=48,
maxfee_kb=1000000,
address_type_p2sh=5,
address_type_p2wpkh=None,
address_type_p2wsh=None,
signed_message_header='Litecoin Signed Message:\n',
),
CoinType(
coin_name='Dogecoin',
coin_shortcut='DOGE',
address_type=30,
maxfee_kb=1000000000,
address_type_p2sh=22,
address_type_p2wpkh=None,
address_type_p2wsh=None,
signed_message_header='Dogecoin Signed Message:\n',
),
CoinType(
coin_name='Dash',
coin_shortcut='DASH',
address_type=76,
maxfee_kb=100000,
address_type_p2sh=16,
address_type_p2wpkh=None,
address_type_p2wsh=None,
signed_message_header='DarkCoin Signed Message:\n',
),
CoinType(
coin_name='Zcash',
coin_shortcut='ZEC',
address_type=7352,
maxfee_kb=1000000,
address_type_p2sh=7357,
address_type_p2wpkh=None,
address_type_p2wsh=None,
signed_message_header='Zcash Signed Message:\n',
),
CoinType(
coin_name='Zcash Testnet',
coin_shortcut='TAZ',
address_type=7461,
maxfee_kb=10000000,
address_type_p2sh=7354,
address_type_p2wpkh=None,
address_type_p2wsh=None,
signed_message_header='Zcash Signed Message:\n',
),
]
def by_shortcut(shortcut):
for c in _coins:
if c['coin_shortcut'] == shortcut:
if c.coin_shortcut == shortcut:
return c
raise Exception('Unknown coin shortcut "%s"' % shortcut)
def by_name(name):
for c in _coins:
if c['coin_name'] == name:
if c.coin_name == name:
return c
raise Exception('Unknown coin name "%s"' % name)
def by_address_type(version):
for c in _coins:
if c['address_type'] == version:
if c.address_type == version:
return c
raise Exception('Unknown coin address type %d' % version)

View File

@ -7,12 +7,10 @@ coins = json.load(open('../../trezor-common/coins.json', 'r'))
print('_coins = [')
for c in coins:
d = OrderedDict()
for n in ['coin_name', 'coin_shortcut', 'maxfee_kb', 'address_type', 'address_type_p2sh', 'address_type_p2wpkh', 'address_type_p2wsh', 'signed_message_header', 'bip44']:
for n in ['coin_name', 'coin_shortcut', 'address_type', 'maxfee_kb', 'address_type_p2sh', 'address_type_p2wpkh', 'address_type_p2wsh', 'signed_message_header']:
d[n] = c[n]
d['xpub_magic'] = int(c['xpub_magic'], 16)
d['xprv_magic'] = int(c['xprv_magic'], 16)
print(' {')
print(' CoinType(')
for k in d:
print(' %s: %s,' % (repr(k), repr(d[k])))
print(' },')
print(' %s=%s,' % (k, repr(d[k])))
print(' ),')
print(']\n')