mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-18 04:18:10 +00:00
defs: update backend urls, add backend check to build_coins.py
This commit is contained in:
parent
f2864f892f
commit
d522f211fd
@ -38,10 +38,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://bch1.trezor.io",
|
||||
"https://bch2.trezor.io",
|
||||
"https://bch3.trezor.io",
|
||||
"https://bch4.trezor.io",
|
||||
"https://bch5.trezor.io"
|
||||
"https://bch1.trezor.io/api",
|
||||
"https://bch2.trezor.io/api",
|
||||
"https://bch3.trezor.io/api",
|
||||
"https://bch4.trezor.io/api",
|
||||
"https://bch5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -38,10 +38,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://btg1.trezor.io",
|
||||
"https://btg2.trezor.io",
|
||||
"https://btg3.trezor.io",
|
||||
"https://btg4.trezor.io",
|
||||
"https://btg5.trezor.io"
|
||||
"https://btg1.trezor.io/api",
|
||||
"https://btg2.trezor.io/api",
|
||||
"https://btg3.trezor.io/api",
|
||||
"https://btg4.trezor.io/api",
|
||||
"https://btg5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -38,10 +38,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://btc1.trezor.io",
|
||||
"https://btc2.trezor.io",
|
||||
"https://btc3.trezor.io",
|
||||
"https://btc4.trezor.io",
|
||||
"https://btc5.trezor.io"
|
||||
"https://btc1.trezor.io/api",
|
||||
"https://btc2.trezor.io/api",
|
||||
"https://btc3.trezor.io/api",
|
||||
"https://btc4.trezor.io/api",
|
||||
"https://btc5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://insight.bitcore.cc"
|
||||
"https://insight.bitcore.cc/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 35,
|
||||
"max_address_length": 95,
|
||||
"bitcore": [
|
||||
"https://explorer.btcprivate.org"
|
||||
"https://explorer.btcprivate.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,8 +34,8 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://crw-bitcore.crown.tech",
|
||||
"https://crw2-bitcore.crown.tech"
|
||||
"https://crw-bitcore.crown.tech/api",
|
||||
"https://crw2-bitcore.crown.tech/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -35,10 +35,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://dash1.trezor.io",
|
||||
"https://dash2.trezor.io",
|
||||
"https://dash3.trezor.io",
|
||||
"https://dash4.trezor.io",
|
||||
"https://dash5.trezor.io"
|
||||
"https://dash1.trezor.io/api",
|
||||
"https://dash2.trezor.io/api",
|
||||
"https://dash3.trezor.io/api",
|
||||
"https://dash4.trezor.io/api",
|
||||
"https://dash5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 35,
|
||||
"max_address_length": 35,
|
||||
"bitcore": [
|
||||
"https://mainnet.decred.org"
|
||||
"https://mainnet.decred.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 35,
|
||||
"max_address_length": 35,
|
||||
"bitcore": [
|
||||
"https://testnet.decred.org"
|
||||
"https://testnet.decred.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://explorer.digibyteprojects.com"
|
||||
"https://explorer.digibyteprojects.com/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -35,10 +35,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://doge1.trezor.io",
|
||||
"https://doge2.trezor.io",
|
||||
"https://doge3.trezor.io",
|
||||
"https://doge4.trezor.io",
|
||||
"https://doge5.trezor.io"
|
||||
"https://doge1.trezor.io/api",
|
||||
"https://doge2.trezor.io/api",
|
||||
"https://doge3.trezor.io/api",
|
||||
"https://doge4.trezor.io/api",
|
||||
"https://doge5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://explorer.flashcoin.io"
|
||||
"https://explorer.flashcoin.io/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"http://explorer.fujicoin.org"
|
||||
"http://explorer.fujicoin.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://groestlsight.groestlcoin.org"
|
||||
"https://groestlsight.groestlcoin.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://groestlsight-test.groestlcoin.org"
|
||||
"https://groestlsight-test.groestlcoin.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 35,
|
||||
"max_address_length": 95,
|
||||
"bitcore": [
|
||||
"https://insight.kotocoin.info"
|
||||
"https://insight.kotocoin.info/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -35,10 +35,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://ltc1.trezor.io",
|
||||
"https://ltc2.trezor.io",
|
||||
"https://ltc3.trezor.io",
|
||||
"https://ltc4.trezor.io",
|
||||
"https://ltc5.trezor.io"
|
||||
"https://ltc1.trezor.io/api",
|
||||
"https://ltc2.trezor.io/api",
|
||||
"https://ltc3.trezor.io/api",
|
||||
"https://ltc4.trezor.io/api",
|
||||
"https://ltc5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://testnet.litecore.io"
|
||||
"https://testnet.litecore.io/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -26,7 +26,7 @@
|
||||
"bip115": false,
|
||||
"version_group_id": null,
|
||||
"default_fee_b": {
|
||||
"Normal": 100000
|
||||
"Normal": 1000
|
||||
},
|
||||
"dust_limit": 54600,
|
||||
"blocktime_seconds": 90,
|
||||
@ -34,7 +34,9 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://mona.chainsight.info"
|
||||
"https://mona.chainsight.info/api",
|
||||
"https://mona.insight.monaco-ex.org/insight-api-monacoin",
|
||||
"https://insight.electrum-mona.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"http://live.pesetacoin.info"
|
||||
"http://live.pesetacoin.info/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://insight.terracoin.io"
|
||||
"https://insight.terracoin.io/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -35,10 +35,10 @@
|
||||
"max_address_length": 34,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://vtc1.trezor.io",
|
||||
"https://vtc2.trezor.io",
|
||||
"https://vtc3.trezor.io",
|
||||
"https://vtc4.trezor.io",
|
||||
"https://vtc5.trezor.io"
|
||||
"https://vtc1.trezor.io/api",
|
||||
"https://vtc2.trezor.io/api",
|
||||
"https://vtc3.trezor.io/api",
|
||||
"https://vtc4.trezor.io/api",
|
||||
"https://vtc5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://explorer.viacoin.org"
|
||||
"https://explorer.viacoin.org/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -35,10 +35,10 @@
|
||||
"max_address_length": 95,
|
||||
"bitcore": [],
|
||||
"blockbook": [
|
||||
"https://zec1.trezor.io",
|
||||
"https://zec2.trezor.io",
|
||||
"https://zec3.trezor.io",
|
||||
"https://zec4.trezor.io",
|
||||
"https://zec5.trezor.io"
|
||||
"https://zec1.trezor.io/api",
|
||||
"https://zec2.trezor.io/api",
|
||||
"https://zec3.trezor.io/api",
|
||||
"https://zec4.trezor.io/api",
|
||||
"https://zec5.trezor.io/api"
|
||||
]
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 35,
|
||||
"max_address_length": 95,
|
||||
"bitcore": [
|
||||
"https://explorer.testnet.z.cash"
|
||||
"https://explorer.testnet.z.cash/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -37,7 +37,7 @@
|
||||
"min_address_length": 27,
|
||||
"max_address_length": 34,
|
||||
"bitcore": [
|
||||
"https://insight.zcoin.io"
|
||||
"https://insight.zcoin.io/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
"min_address_length": 35,
|
||||
"max_address_length": 95,
|
||||
"bitcore": [
|
||||
"https://explorer.zen-solutions.io"
|
||||
"https://explorer.zen-solutions.io/api"
|
||||
],
|
||||
"blockbook": []
|
||||
}
|
||||
|
@ -16,7 +16,9 @@ import re
|
||||
import os
|
||||
import sys
|
||||
|
||||
if '--defs' in sys.argv:
|
||||
|
||||
BUILD_DEFS = '--defs' in sys.argv
|
||||
if BUILD_DEFS:
|
||||
from binascii import unhexlify
|
||||
from hashlib import sha256
|
||||
import ed25519
|
||||
@ -24,8 +26,10 @@ if '--defs' in sys.argv:
|
||||
from trezorlib.protobuf import dump_message
|
||||
from coindef import CoinDef
|
||||
BUILD_DEFS = True
|
||||
else:
|
||||
BUILD_DEFS = False
|
||||
|
||||
TEST_BACKEND = '--test-backend' in sys.argv
|
||||
if TEST_BACKEND:
|
||||
import requests
|
||||
|
||||
|
||||
def check_type(val, types, nullable=False, empty=False, regex=None, choice=None): # noqa:E501
|
||||
@ -56,6 +60,12 @@ def check_type(val, types, nullable=False, empty=False, regex=None, choice=None)
|
||||
return isinstance(val, types)
|
||||
|
||||
|
||||
def get_hash_genesis_block(api):
|
||||
r = requests.get(api + '/block-index/0')
|
||||
j = r.json()
|
||||
return j['blockHash']
|
||||
|
||||
|
||||
def validate_coin(coin):
|
||||
assert check_type(coin['coin_name'], str, regex=r'^[A-Z]')
|
||||
assert check_type(coin['coin_shortcut'], str, regex=r'^[A-Zt][A-Z][A-Z]+$')
|
||||
@ -101,9 +111,13 @@ def validate_coin(coin):
|
||||
assert check_type(coin['bitcore'], list, empty=True)
|
||||
for bc in coin['bitcore']:
|
||||
assert not bc.endswith('/')
|
||||
if TEST_BACKEND:
|
||||
assert get_hash_genesis_block(bc) == coin['hash_genesis_block']
|
||||
assert check_type(coin['blockbook'], list, empty=True)
|
||||
for bb in coin['blockbook']:
|
||||
assert not bb.endswith('/')
|
||||
if TEST_BACKEND:
|
||||
assert get_hash_genesis_block(bb) == coin['hash_genesis_block']
|
||||
|
||||
|
||||
def validate_icon(icon):
|
||||
|
Loading…
Reference in New Issue
Block a user