Various human- and machine-readable outputs are generated from the configuration in src/config/token_data.py and src/config/market_urls.py.
The main file to be updated is src/config/token_data.py.
Entries in there are organized first by source chain (sol, eth, terra, bsc, matic, avax), then are dictionaries with the following entries:
symbol
: e.g.ATLAS
name
: e.g.Star Atlas (Portal)
sourceAddress
: the address on the source chaindestAddresses
: a dictionary mapping dest chains to addresses (use the Token Origin Verifier to look this up)markets
: a dictionary mapping dest chains to a list of market names where the wrapped asset is tradablecoingeckoId
: the API id on the 'Info' section of coingecko, generally the last part of the url- e.g.
star-atlas
if the coingecko url ishttps://www.coingecko.com/en/coins/star-atlas
- e.g.
logo
: link to thumbnail of the logo (can copy image url from etherscan or coinmarketcap). OR you can save a png in src/logogen/base.
Example:
TOKENS = {
'sol': {
"ATLAS": {
"symbol": "ATLAS",
"name": "Star Atlas (Portal)",
"sourceAddress": "ATLASXmbPQxBUYbxPsV97usA3fPQYEqzQBUHgiFCUsXx",
"destAddresses": {
"eth": "0xb9F747162AB1E95d07361f9048BcDF6eDdA9eEA7",
"terra": "terra1rg8f993m9834afwazersesgx7jjxv4p87q9wvc",
"bsc": "0x83850D97018f665EB746FBb8f18351e977d1b0D6",
},
"markets": {
"bsc": ["pancakeswap"],
},
"coingeckoId": "star-atlas",
"logo": "https://assets.coingecko.com/coins/images/17659/small/Icon_Reverse.png",
},
...
},
...
}
The market names must be defined in src/config/market_urls.py, so you'll occasionally need to add to this if defining a new market.
After updating the above files, run the below to update the .md
and .json
outputs:
npm run gen
See the logo generation instructions for instructions on generating logos with wormhole logos.