This repository contains the metadata of Rainbow Bridge assets.
As icon field is required for NEP-141 tokens but is not presented in the official ERC-20 implementation,
this repository needs to contain all the information regarding the asset: name, symbol, decimals, icon.
Aurora team will ensure that all listed tokens contain the correct metadata.
To add a new asset, please follow these steps:
-
First, you need to bridge your token using Rainbow Bridge. After this step you will have a NEAR NEP-141 token matching your ERC-20 token having the following address:
<YOUR_ERC_20_TOKEN_ADDRESS>.factory.bridge.near(e.g. the USDT token will have the following address:dac17f958d2ee523a2206206994597c13d831ec7.factory.bridge.near. -
Put an SVG icon to
tokens/for your token with a name that matches the lower-casesymbolof your ERC-20 token (e.g.usdt.svg). -
Create a JSON file in
tokens/with a name that matches the lower-casesymbolof your ERC-20 token (e.g.usdt.json) and fill it with the following metadata (check thetokens/example_token.jsonfile template):ethereum_address: address of your ERC-20 token (with '0x' prefix) in Ethereum.- [OPTIONAL]
aurora_address: address of your ERC-20 token (with '0x' prefix) in Aurora. name: the human-readable name of the token. Must match thenameof your ERC-20 token.symbol: the abbreviation, like USDT or BTC. Must match thesymbolof your ERC-20 token.decimals: used in frontends to show the proper significant digits of a token. This concept is explained well in this OpenZeppelin post. Must match thedecimalsof your ERC-20 token.- [OPTIONAL]
icon: a small image associated with this token. Must be a data URL, to help consumers display it quickly while protecting user data. Recommendation: use optimized SVG, which can result in high-resolution images having small bytes size. Recommendation: create icons that will work well with both light-mode and dark-mode websites by either using middle-tone color schemes, or by embedding media queries in the SVG. If you don't fill this field, we will use your.svgicon to fill this field by ourselves. - [OPTIONAL]
reference: a link to a valid JSON file containing various keys offering supplementary details on the token. Example: "/ipfs/QmdmQXB2mzChmMeKY47C43LxUdg1NDJ5MWcKMKxDu7RgQm", "https://example.com/token.json", etc. If the information given in this document conflicts with the on-chain attributes, the values in reference shall be considered the source of truth. If you don't fill this field, please leave it empty and this field will be empty for your NEP-141 token. - [OPTIONAL]
reference_hash: the base64-encoded sha256 hash of the JSON file contained in the reference field. This is to guard against off-chain tampering. If you don't fill this field, please leave it empty and this field will be empty for your NEP-141 token.
-
Fire a pull request having the following name: "Add <SYMBOL_OF_YOUR_ERC20_TOKEN> metadata" (e.g. "Add USDT metadata") having the previously mentioned files (JSON and SVG) in PR and having the content following the template:
# Add USDT metadata ERC-20: https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7 NEP-141: https://explorer.mainnet.near.org/accounts/dac17f958d2ee523a2206206994597c13d831ec7.factory.bridge.near -
Aurora team will review your PR and update the metadata of your token.
In case you want to add your Testnet token as well, please use the same procedure describe above, but use your symbol of ERC-20 and _testnet suffix within the file name. E.g.: usdt_testnet.json, usdt_testnet.svg.