mirror of
https://github.com/trezor/trezor-firmware.git
synced 2025-06-01 13:48:46 +00:00
improve wallet lists
- move bitcoin wallet links from coins_details.override.json to a separate wallets.json file - drop NanoWallet links from nem nem_mosaics.json, auto-add them in coins_details.py instead - move misc wallet links to misc.json - clean out override file - change wallet format in coins_details.json: - they're now list instead of dict, so that we can specify ordering - add Trezor Beta wallet link to ETH/ETC and their tokens - somewhat stricter checking of trezor.io wallet data
This commit is contained in:
parent
beb8bb6dec
commit
56fbd816c9
11575
defs/coins_details.json
11575
defs/coins_details.json
File diff suppressed because it is too large
Load Diff
@ -2,9 +2,6 @@
|
|||||||
"nem:DIMTOK": {
|
"nem:DIMTOK": {
|
||||||
"coinmarketcap_alias": "dimcoin"
|
"coinmarketcap_alias": "dimcoin"
|
||||||
},
|
},
|
||||||
"erc20:eth:GNT": {
|
|
||||||
"coinmarketcap_alias": "golem-network-tokens"
|
|
||||||
},
|
|
||||||
"erc20:eth:VEN": {
|
"erc20:eth:VEN": {
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://www.vechain.com"
|
"Homepage": "https://www.vechain.com"
|
||||||
@ -13,91 +10,5 @@
|
|||||||
"erc20:eth:YUPIE": {
|
"erc20:eth:YUPIE": {
|
||||||
"hidden": 1,
|
"hidden": 1,
|
||||||
"notes": "Replaced by YUP"
|
"notes": "Replaced by YUP"
|
||||||
},
|
|
||||||
"bitcoin:BCH": {
|
|
||||||
"wallet": {
|
|
||||||
"Electron Cash": "https://electroncash.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:BTC": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum": "https://electrum.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:BTCP": {
|
|
||||||
"wallet": {
|
|
||||||
"BTCP Electrum": "https://github.com/BTCPrivate/electrum-btcp"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:BTG": {
|
|
||||||
"wallet": {
|
|
||||||
"ElectrumG": "https://github.com/BTCGPU/electrum"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:DASH": {
|
|
||||||
"wallet": {
|
|
||||||
"Dash Electrum": "https://electrum.dash.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:FJC": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-FJC": "http://www.fujicoin.org/downloads.php"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:GAME": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-GAME": "https://electrum-game.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:GRS": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-GRS": "https://www.groestlcoin.org/groestlcoin-electrum-wallet"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:KOTO": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-KOTO": "https://electrum.kotocoin.info"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:LTC": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-LTC": "https://electrum-ltc.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:MONA": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-MONA": "https://electrum-mona.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:NMC": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-NMC": "https://github.com/namecoin/electrum-nmc"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:VIA": {
|
|
||||||
"wallet": {
|
|
||||||
"Vialectrum": "https://vialectrum.org"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bitcoin:XZC": {
|
|
||||||
"wallet": {
|
|
||||||
"Electrum-XZC": "https://github.com/zcoinofficial/electrum-xzc",
|
|
||||||
"Znode Tool": "https://github.com/yura-pakhuchiy/znode-tool"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"misc:ADA": {
|
|
||||||
"wallet": {
|
|
||||||
"AdaLite": "https://adalite.io/app"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"misc:XLM": {
|
|
||||||
"wallet": {
|
|
||||||
"Account Viewer": "https://trezor.io/stellar/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"misc:XTZ": {
|
|
||||||
"wallet": {
|
|
||||||
"SimpleStaking": "https://simplestaking.com"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://www.stellar.org",
|
"Homepage": "https://www.stellar.org",
|
||||||
"Github": "https://github.com/stellar/stellar-core"
|
"Github": "https://github.com/stellar/stellar-core"
|
||||||
|
},
|
||||||
|
"wallet": {
|
||||||
|
"Account Viewer": "https://trezor.io/stellar/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -47,6 +50,9 @@
|
|||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://www.cardano.org",
|
"Homepage": "https://www.cardano.org",
|
||||||
"Github": "https://github.com/input-output-hk/cardano-sl"
|
"Github": "https://github.com/input-output-hk/cardano-sl"
|
||||||
|
},
|
||||||
|
"wallet": {
|
||||||
|
"AdaLite": "https://adalite.io/app"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -57,6 +63,9 @@
|
|||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://tezos.com",
|
"Homepage": "https://tezos.com",
|
||||||
"Github": "https://github.com/tezos/tezos"
|
"Github": "https://github.com/tezos/tezos"
|
||||||
|
},
|
||||||
|
"wallet": {
|
||||||
|
"SimpleStaking": "https://simplestaking.com"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -7,9 +7,6 @@
|
|||||||
"divisibility": 6,
|
"divisibility": 6,
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://nem.io"
|
"Homepage": "https://nem.io"
|
||||||
},
|
|
||||||
"wallet": {
|
|
||||||
"Nano Wallet": "https://nem.io/downloads/"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -27,9 +24,6 @@
|
|||||||
],
|
],
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://www.dimcoin.io"
|
"Homepage": "https://www.dimcoin.io"
|
||||||
},
|
|
||||||
"wallet": {
|
|
||||||
"Nano Wallet": "https://nem.io/downloads/"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -43,9 +37,6 @@
|
|||||||
],
|
],
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://www.dimcoin.io"
|
"Homepage": "https://www.dimcoin.io"
|
||||||
},
|
|
||||||
"wallet": {
|
|
||||||
"Nano Wallet": "https://nem.io/downloads/"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -59,9 +50,6 @@
|
|||||||
],
|
],
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://breeze.chat"
|
"Homepage": "https://breeze.chat"
|
||||||
},
|
|
||||||
"wallet": {
|
|
||||||
"Nano Wallet": "https://nem.io/downloads/"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -75,9 +63,6 @@
|
|||||||
],
|
],
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://pacnem.com"
|
"Homepage": "https://pacnem.com"
|
||||||
},
|
|
||||||
"wallet": {
|
|
||||||
"Nano Wallet": "https://nem.io/downloads/"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -95,9 +80,6 @@
|
|||||||
],
|
],
|
||||||
"links": {
|
"links": {
|
||||||
"Homepage": "https://pacnem.com"
|
"Homepage": "https://pacnem.com"
|
||||||
},
|
|
||||||
"wallet": {
|
|
||||||
"Nano Wallet": "https://nem.io/downloads/"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
45
defs/wallets.json
Normal file
45
defs/wallets.json
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
"bitcoin:BCH": {
|
||||||
|
"Electron Cash": "https://electroncash.org"
|
||||||
|
},
|
||||||
|
"bitcoin:BTC": {
|
||||||
|
"Electrum": "https://electrum.org"
|
||||||
|
},
|
||||||
|
"bitcoin:BTCP": {
|
||||||
|
"BTCP Electrum": "https://github.com/BTCPrivate/electrum-btcp"
|
||||||
|
},
|
||||||
|
"bitcoin:BTG": {
|
||||||
|
"ElectrumG": "https://github.com/BTCGPU/electrum"
|
||||||
|
},
|
||||||
|
"bitcoin:DASH": {
|
||||||
|
"Dash Electrum": "https://electrum.dash.org"
|
||||||
|
},
|
||||||
|
"bitcoin:FJC": {
|
||||||
|
"Electrum-FJC": "http://www.fujicoin.org/downloads.php"
|
||||||
|
},
|
||||||
|
"bitcoin:GAME": {
|
||||||
|
"Electrum-GAME": "https://electrum-game.org"
|
||||||
|
},
|
||||||
|
"bitcoin:GRS": {
|
||||||
|
"Electrum-GRS": "https://www.groestlcoin.org/groestlcoin-electrum-wallet"
|
||||||
|
},
|
||||||
|
"bitcoin:KOTO": {
|
||||||
|
"Electrum-KOTO": "https://electrum.kotocoin.info"
|
||||||
|
},
|
||||||
|
"bitcoin:LTC": {
|
||||||
|
"Electrum-LTC": "https://electrum-ltc.org"
|
||||||
|
},
|
||||||
|
"bitcoin:MONA": {
|
||||||
|
"Electrum-MONA": "https://electrum-mona.org"
|
||||||
|
},
|
||||||
|
"bitcoin:NMC": {
|
||||||
|
"Electrum-NMC": "https://github.com/namecoin/electrum-nmc"
|
||||||
|
},
|
||||||
|
"bitcoin:VIA": {
|
||||||
|
"Vialectrum": "https://vialectrum.org"
|
||||||
|
},
|
||||||
|
"bitcoin:XZC": {
|
||||||
|
"Electrum-XZC": "https://github.com/zcoinofficial/electrum-xzc",
|
||||||
|
"Znode Tool": "https://github.com/yura-pakhuchiy/znode-tool"
|
||||||
|
}
|
||||||
|
}
|
@ -15,6 +15,7 @@ LOG = logging.getLogger(__name__)
|
|||||||
OPTIONAL_KEYS = ("links", "notes", "wallet")
|
OPTIONAL_KEYS = ("links", "notes", "wallet")
|
||||||
ALLOWED_SUPPORT_STATUS = ("yes", "no", "planned", "soon")
|
ALLOWED_SUPPORT_STATUS = ("yes", "no", "planned", "soon")
|
||||||
|
|
||||||
|
WALLETS = coin_info.load_json("wallets.json")
|
||||||
OVERRIDES = coin_info.load_json("coins_details.override.json")
|
OVERRIDES = coin_info.load_json("coins_details.override.json")
|
||||||
VERSIONS = coin_info.latest_releases()
|
VERSIONS = coin_info.latest_releases()
|
||||||
|
|
||||||
@ -23,6 +24,28 @@ COINMARKETCAP_API_BASE = "https://pro-api.coinmarketcap.com/v1/"
|
|||||||
|
|
||||||
MARKET_CAPS = {}
|
MARKET_CAPS = {}
|
||||||
|
|
||||||
|
# automatic wallet entries
|
||||||
|
WALLET_TREZOR = {"Trezor": "https://wallet.trezor.io"}
|
||||||
|
WALLET_TREZOR_NEXT = {"Trezor Beta": "https://beta-wallet.trezor.io/next/"}
|
||||||
|
WALLET_NEM = {"Nano Wallet": "https://nem.io/downloads/"}
|
||||||
|
|
||||||
|
WALLETS_ETH_3RDPARTY = {
|
||||||
|
"MyEtherWallet": "https://www.myetherwallet.com",
|
||||||
|
"MyCrypto": "https://mycrypto.com",
|
||||||
|
}
|
||||||
|
WALLETS_ETH_NATIVE = WALLETS_ETH_3RDPARTY.copy()
|
||||||
|
WALLETS_ETH_NATIVE.update(WALLET_TREZOR_NEXT)
|
||||||
|
|
||||||
|
|
||||||
|
TREZORIO_KNOWN_URLS = (
|
||||||
|
"https://wallet.trezor.io",
|
||||||
|
"https://beta-wallet.trezor.io/next/",
|
||||||
|
"https://trezor.io/stellar/",
|
||||||
|
)
|
||||||
|
|
||||||
|
# TODO: we should read this from support.json
|
||||||
|
TREZOR_NEXT_ETH_NETWORKS = ("eth", "etc")
|
||||||
|
|
||||||
|
|
||||||
def coinmarketcap_call(endpoint, api_key, params=None):
|
def coinmarketcap_call(endpoint, api_key, params=None):
|
||||||
url = COINMARKETCAP_API_BASE + endpoint
|
url = COINMARKETCAP_API_BASE + endpoint
|
||||||
@ -151,6 +174,15 @@ def _webwallet_support(coin, support):
|
|||||||
return any(".trezor.io" in url for url in coin["blockbook"] + coin["bitcore"])
|
return any(".trezor.io" in url for url in coin["blockbook"] + coin["bitcore"])
|
||||||
|
|
||||||
|
|
||||||
|
def dict_merge(orig, new):
|
||||||
|
if isinstance(new, dict) and isinstance(orig, dict):
|
||||||
|
for k, v in new.items():
|
||||||
|
orig[k] = dict_merge(orig.get(k), v)
|
||||||
|
return orig
|
||||||
|
else:
|
||||||
|
return new
|
||||||
|
|
||||||
|
|
||||||
def update_simple(coins, support_info, type):
|
def update_simple(coins, support_info, type):
|
||||||
res = {}
|
res = {}
|
||||||
for coin in coins:
|
for coin in coins:
|
||||||
@ -163,11 +195,14 @@ def update_simple(coins, support_info, type):
|
|||||||
type=type,
|
type=type,
|
||||||
t1_enabled=_is_supported(support, "trezor1"),
|
t1_enabled=_is_supported(support, "trezor1"),
|
||||||
t2_enabled=_is_supported(support, "trezor2"),
|
t2_enabled=_is_supported(support, "trezor2"),
|
||||||
|
wallet={},
|
||||||
)
|
)
|
||||||
for k in OPTIONAL_KEYS:
|
for k in OPTIONAL_KEYS:
|
||||||
if k in coin:
|
if k in coin:
|
||||||
details[k] = coin[k]
|
details[k] = coin[k]
|
||||||
|
|
||||||
|
details["wallet"].update(WALLETS.get(key, {}))
|
||||||
|
|
||||||
res[key] = details
|
res[key] = details
|
||||||
|
|
||||||
return res
|
return res
|
||||||
@ -181,12 +216,9 @@ def update_bitcoin(coins, support_info):
|
|||||||
details = dict(
|
details = dict(
|
||||||
name=coin["coin_label"],
|
name=coin["coin_label"],
|
||||||
links=dict(Homepage=coin["website"], Github=coin["github"]),
|
links=dict(Homepage=coin["website"], Github=coin["github"]),
|
||||||
wallet={},
|
wallet=WALLET_TREZOR if _webwallet_support(coin, support) else {},
|
||||||
)
|
)
|
||||||
if _webwallet_support(coin, support):
|
dict_merge(res[key], details)
|
||||||
details["wallet"]["Trezor"] = "https://wallet.trezor.io"
|
|
||||||
|
|
||||||
res[key].update(details)
|
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@ -196,22 +228,25 @@ def update_erc20(coins, support_info):
|
|||||||
res = update_simple(coins, support_info, "erc20")
|
res = update_simple(coins, support_info, "erc20")
|
||||||
for coin in coins:
|
for coin in coins:
|
||||||
key = coin["key"]
|
key = coin["key"]
|
||||||
|
chain = coin["chain"]
|
||||||
|
if chain in TREZOR_NEXT_ETH_NETWORKS:
|
||||||
|
wallets = WALLETS_ETH_NATIVE
|
||||||
|
else:
|
||||||
|
wallets = WALLETS_ETH_3RDPARTY
|
||||||
|
|
||||||
details = dict(
|
details = dict(
|
||||||
network=coin["chain"],
|
network=chain,
|
||||||
address=coin["address"],
|
address=coin["address"],
|
||||||
shortcut=coin["shortcut"],
|
shortcut=coin["shortcut"],
|
||||||
links={},
|
links={},
|
||||||
wallet=dict(
|
wallet=wallets,
|
||||||
MyCrypto="https://mycrypto.com",
|
|
||||||
MyEtherWallet="https://www.myetherwallet.com",
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
if coin.get("website"):
|
if coin.get("website"):
|
||||||
details["links"]["Homepage"] = coin["website"]
|
details["links"]["Homepage"] = coin["website"]
|
||||||
if coin.get("social", {}).get("github"):
|
if coin.get("social", {}).get("github"):
|
||||||
details["links"]["Github"] = coin["social"]["github"]
|
details["links"]["Github"] = coin["social"]["github"]
|
||||||
|
|
||||||
res[key].update(details)
|
dict_merge(res[key], details)
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@ -220,14 +255,22 @@ def update_ethereum_networks(coins, support_info):
|
|||||||
res = update_simple(coins, support_info, "coin")
|
res = update_simple(coins, support_info, "coin")
|
||||||
for coin in coins:
|
for coin in coins:
|
||||||
key = coin["key"]
|
key = coin["key"]
|
||||||
details = dict(
|
if coin["chain"] in TREZOR_NEXT_ETH_NETWORKS:
|
||||||
wallet=dict(
|
wallets = WALLETS_ETH_NATIVE
|
||||||
MyCrypto="https://mycrypto.com",
|
else:
|
||||||
MyEtherWallet="https://www.myetherwallet.com",
|
wallets = WALLETS_ETH_3RDPARTY
|
||||||
),
|
details = dict(links=dict(Homepage=coin.get("url")), wallet=wallets)
|
||||||
links=dict(Homepage=coin.get("url")),
|
dict_merge(res[key], details)
|
||||||
)
|
|
||||||
res[key].update(details)
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def update_nem_mosaics(coins, support_info):
|
||||||
|
res = update_simple(coins, support_info, "mosaic")
|
||||||
|
for coin in coins:
|
||||||
|
key = coin["key"]
|
||||||
|
details = dict(wallet=WALLET_NEM)
|
||||||
|
dict_merge(res[key], details)
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
@ -248,18 +291,26 @@ def check_missing_data(coins):
|
|||||||
if coin["t2_enabled"] not in ALLOWED_SUPPORT_STATUS:
|
if coin["t2_enabled"] not in ALLOWED_SUPPORT_STATUS:
|
||||||
LOG.warning(f"{k}: Unknown t2_enabled")
|
LOG.warning(f"{k}: Unknown t2_enabled")
|
||||||
hide = True
|
hide = True
|
||||||
if (
|
|
||||||
"Trezor" in coin.get("wallet", {})
|
# check wallets
|
||||||
and coin["wallet"]["Trezor"] != "https://wallet.trezor.io"
|
for wallet in coin["wallet"]:
|
||||||
):
|
name = wallet.get("name")
|
||||||
|
url = wallet.get("url")
|
||||||
|
if not name or not url:
|
||||||
|
LOG.warning(f"{k}: Bad wallet entry")
|
||||||
|
hide = True
|
||||||
|
continue
|
||||||
|
if "trezor" in name.lower() and url not in TREZORIO_KNOWN_URLS:
|
||||||
LOG.warning(f"{k}: Strange URL for Trezor Wallet")
|
LOG.warning(f"{k}: Strange URL for Trezor Wallet")
|
||||||
hide = True
|
hide = True
|
||||||
|
if "trezor.io" in url.lower() and url not in TREZORIO_KNOWN_URLS:
|
||||||
|
LOG.warning(f"{k}: Unexpected trezor.io URL: {url}")
|
||||||
|
|
||||||
if coin["t1_enabled"] == "no" and coin["t2_enabled"] == "no":
|
if coin["t1_enabled"] == "no" and coin["t2_enabled"] == "no":
|
||||||
LOG.info(f"{k}: Coin not enabled on either device")
|
LOG.info(f"{k}: Coin not enabled on either device")
|
||||||
hide = True
|
hide = True
|
||||||
|
|
||||||
if len(coin.get("wallet", {})) == 0:
|
if len(coin.get("wallet", [])) == 0:
|
||||||
LOG.debug(f"{k}: Missing wallet")
|
LOG.debug(f"{k}: Missing wallet")
|
||||||
|
|
||||||
if "Testnet" in coin["name"]:
|
if "Testnet" in coin["name"]:
|
||||||
@ -285,16 +336,22 @@ def apply_overrides(coins):
|
|||||||
LOG.warning(f"override without coin: {key}")
|
LOG.warning(f"override without coin: {key}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
def recursive_update(orig, new):
|
dict_merge(coins[key], override)
|
||||||
if isinstance(new, dict) and isinstance(orig, dict):
|
|
||||||
for k, v in new.items():
|
|
||||||
orig[k] = recursive_update(orig.get(k), v)
|
|
||||||
return orig
|
|
||||||
else:
|
|
||||||
return new
|
|
||||||
|
|
||||||
coin = coins[key]
|
|
||||||
recursive_update(coin, override)
|
def finalize_wallets(coins):
|
||||||
|
def sort_key(w):
|
||||||
|
if "trezor.io" in w["url"]:
|
||||||
|
return 0, w["name"]
|
||||||
|
else:
|
||||||
|
return 1, w["name"]
|
||||||
|
|
||||||
|
for coin in coins.values():
|
||||||
|
wallets_list = [
|
||||||
|
dict(name=name, url=url) for name, url in coin["wallet"].items()
|
||||||
|
]
|
||||||
|
wallets_list.sort(key=sort_key)
|
||||||
|
coin["wallet"] = wallets_list
|
||||||
|
|
||||||
|
|
||||||
@click.command()
|
@click.command()
|
||||||
@ -322,11 +379,13 @@ def main(refresh, api_key, verbose):
|
|||||||
coins.update(update_bitcoin(defs.bitcoin, support_info))
|
coins.update(update_bitcoin(defs.bitcoin, support_info))
|
||||||
coins.update(update_erc20(defs.erc20, support_info))
|
coins.update(update_erc20(defs.erc20, support_info))
|
||||||
coins.update(update_ethereum_networks(defs.eth, support_info))
|
coins.update(update_ethereum_networks(defs.eth, support_info))
|
||||||
coins.update(update_simple(defs.nem, support_info, "mosaic"))
|
coins.update(update_nem_mosaics(defs.nem, support_info))
|
||||||
coins.update(update_simple(defs.misc, support_info, "coin"))
|
coins.update(update_simple(defs.misc, support_info, "coin"))
|
||||||
|
|
||||||
apply_overrides(coins)
|
apply_overrides(coins)
|
||||||
|
finalize_wallets(coins)
|
||||||
update_marketcaps(coins)
|
update_marketcaps(coins)
|
||||||
|
|
||||||
check_missing_data(coins)
|
check_missing_data(coins)
|
||||||
|
|
||||||
info = summary(coins, api_key)
|
info = summary(coins, api_key)
|
||||||
|
Loading…
Reference in New Issue
Block a user