wormhole-token-list/rpc_scripts/change_token_data.py

52 lines
1.8 KiB
Python

from web3 import Web3
from src.config.token_data import TOKENS
import json
f = open('decimals_output.json')
output_decimals = json.load(f)
f.close()
def get_decimals(chain, addr):
output_key = chain + '_' + addr
if output_key == 'sol_Bzq68gAVedKqQkQbsM28yQ4LYpc2VComDUD9wJBywdTi':
return 8
if output_key == 'sol_4CsZsUCoKFiaGyU7DEVDayqeVtG8iqgGDR6RjzQmzQao':
return 6
# try normal addr. If that doesn't work try checksum
if output_key in output_decimals:
return output_decimals[output_key]
checksummed_output_key = chain + '_' + Web3.toChecksumAddress(addr)
if checksummed_output_key == 'ftm_0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83':
return 18
return output_decimals[checksummed_output_key]
# read the tokens thing
# for each key in the tokens (key is native asset)
# iterate over the keys in this dict (these keys are the tokens)
# for each of these keys, we want to change destAddresses to just be "destinations". "destinations" is a dict keyed by chain, where values are { address, decimals }
# we also want to add the decimals for the token itself (this is top level)
for chain, chain_tokens in TOKENS.items():
for symbol, data in chain_tokens.items():
# decimals for the token itself
data['sourceDecimals'] = get_decimals(chain, data['sourceAddress'])
del data['decimals']
# decimals for each destination
# destinations = {}
# for dest_chain, dest_addr in data['destAddresses'].items():
# dest_decimals = get_decimals(dest_chain, dest_addr)
# destinations[dest_chain] = {
# "address": dest_addr,
# "decimals": dest_decimals
# }
# del data['destAddresses']
# data['destinations'] = destinations
f = open('new_tokens.json', 'w')
json.dump(TOKENS, f)
f.close()