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, complete the deployment steps at rainbowbridge.app/deploy. The app will inform the bridged token's deployment addresses and on-chain metadata. For example, NEP-141 tokens bridged from Ethereum ERC-20 have the format:
<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-casesymbol
of your ERC-20 token (e.g.usdt.svg
). -
Create a JSON file in
tokens/
with a name that matches the lower-casesymbol
of your ERC-20 token (e.g.usdt.json
) and fill it with the following metadata (check thetokens/example_token.json
file 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 thename
of your ERC-20 token.symbol
: the abbreviation, like USDT or BTC. Must match thesymbol
of 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 thedecimals
of 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.svg
icon 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. Always check the deployment status here (contract addresses, on-chain metadata, and storage registration when bridging to Aurora )
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
.