apps: add apps.common.coins (+generator)

This commit is contained in:
Pavol Rusnak 2016-10-20 16:40:46 +02:00
parent 815f0057dd
commit 1420ad591b
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D
2 changed files with 46 additions and 0 deletions

18
src/apps/common/coins-gen.py Executable file
View File

@ -0,0 +1,18 @@
#!/usr/bin/env python3
import json
from collections import OrderedDict
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']:
d[n] = c[n]
d['xpub_magic'] = int(c['xpub_magic'], 16)
d['xprv_magic'] = int(c['xprv_magic'], 16)
print(' {', end='')
for k in d:
print('%s: %s, ' % (repr(k), repr(d[k])), end='')
print('},')
print(']\n')

28
src/apps/common/coins.py Normal file
View File

@ -0,0 +1,28 @@
_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, },
]
def by_shortcut(shortcut):
for c in _couns:
if c['coin_shortcut'] == shortcut:
return c
return None
def by_name(name):
for c in _couns:
if c['coin_name'] == name:
return c
return None
def by_address_type(version):
for c in _couns:
if c['address_type'] == version:
return c
return None