/assets

Primary LanguageTypeScriptMIT LicenseMIT

Trust Wallet Assets Info

- On November 8th 2019 we made big changes to the repository, please read summary and recomnadations

What changed:

  • Assets in fodler assets and validators assets in validators/assets were changed from lowercased format to checksum format e,g: Binance BEP2: busd-bd1 => BUSD-BD1, Ethreum ERC20 token: 0xfff3ada5a2555a2b59bff4f44dfad90146cce8cb => 0xffF3ada5A2555a2B59BfF4F44DFad90146CcE8CB
  • Added scripts that generates white and black list of contract assets list

What to do next:

  • If you first time contributor nothing required, just simple follow repository contribution guidelines
  • If you contributed before nad planning on continue please upgrade your fork from latest master or simple delete your fork and fork again to save your time dealing with merge conflicts

Overview

Hello and welcome to Trust Wallet assets info contribution guide. We appreciate your effort to open-source. Token repository https://github.com/trustwallet/assets (repo) is a source of images used by Trust Wallet including:

  1. ERC20, ERC223 tokens on Ethereum compatible networks supported by Trust Wallet such as:
  1. BEP2 Binance DEX token (native marketplace on Binance Chain)

  2. TRC10, TRC20 tokens on TRON blockchain

  3. coins integrated in Wallet Core

  4. dApp images available in Browser section in Trust Wallet and at https://dapps.trustwallet.com and bookmarks icons. read requirments. Also you can submit dApp to our list read more

  5. Staking validators info available on Trust Wallet Staking Platform

  6. Coming soon: token info, token price

Contribution steps

  1. Prepare image requirements
  2. Get familiar with folder strcture, will give you understanding where asset image should be placed
  3. Add asset guide

Image Requirements

  • file extension: png. Uppercase PNG considered invalid.
  • name:file name requirements for: logo.png name, but folder naming where they placed is most important part of contribution
  • size: 256px by 256px or 512px by 512px
  • background: preferably transparent
  • use simple drag and drop online service tinypng to optimize image size

dApp image naming requirments

dApp subbmition and listing requirements

Repository structure

blockchains folder contains many subfolders and represents chains e.g. ethereum, binance ...

assets folder contains token folders named by smart contract address in checksum address for Ethreum like networks and inside of it logo.png - image representation. Note: Lowercased or uppercased contract addresses considered invalid. You can find checksum address by searching on etherscan.io, for example stablecoin DAI checksum address located at the top left corner of the page and has both uppercase and lowercase characters. Or convert Ethereum address to Checksum address. For other networks address must be specified as it was originated on a chain, e.g TRON TRC10: 1002000, TRON TRC20: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t etc ...

info folder contains for now only logo.png that represents coin image

validators folder contains folders: assets same structure as above and list.json information about validators.

blacklist.json and whitelist.json files you may find in folders like tron, ethereum but not limited to, contain list of address approved based on many criterias (TODO add criterias) and disapproved based on factors such as scam, outdated, abandoned contracts etc ... .

.
├── blockchains
│   └──ethereum
│   │   └──assets
│   │   │  └──0x0a2D9370cF74Da3FD3dF5d764e394Ca8205C50B6 // address folder
│   │   │     └──logo.png // address logo
│   │   └──info
│   │      └──logo.png // coin logo
|   |
|   └──binance
│   │   └──assets
│   │   │  └──ONE-5F9
│   │   │     └──logo.png
│   │   └──info
│   │      └──logo.png
|   └──tron
│   |  └──assets
│   |  │  └──1002000
│   |  │  |   └──logo.png
|   |  |  └──TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
|   |  |      └──logo.png
|   |  | 
│   |  └──info
│   |     └──logo.png
|   |
|   └──cosmos
│   │   └──info
|   |   |  └──logo.png
|   |   |
│   │   └──validators
│   │   |  └──assets
|   |   |     └──cosmosvaloper1clpqr4nrk4khgkxj78fcwwh6dl3uw4epsluffn
|   |   |        └──logo.png
|   |   |
|   |   └──list.json
├── ...

Common uploads

Uploading:

  1. Ethereum ERC20 token folder
  2. Binance DEX BEP2 token token folder
  3. TRON TRC10, TRC20 token token folder
  4. Add Cosmos validator image
  5. Add Tezos validator info
  6. Add Ethereum contract address to blacklist
  7. Add TRON TRC10 ID or TRC20 owner contract address to whitelist

How To Add Asset

Process adding new tokens may look complicated at first glance, but once you completed it will be way easier do it next time:

Easy way

  1. Follow image requirements
  2. Proceed to https://github.com/trustwallet/assets
  3. Press on Fork in the top right corner, wait for process to complete
  4. Navigate to desire chain folder you want to add asset
  5. Prepare folder with image on your computer
  6. Simply drag and drop folder from step 5 to active window
  7. In Commit changes box:
  • Add files via upload add meaningfull comment what you adding to the repo
  • optional: In Add an optional extended description write a comment about upload
  • optional: adjust fork branch nam
  1. Click on Propose changes
  2. Press on Create pull request
  3. Once tests have completed and verified that your image follows all requirements, a maintainer will merge it. In 5-10 minutes your token will have the updated image instead of plain logo in Trust Wallet

Easy way for Git user

  1. Fork the repo to your own github account
  2. Clone fork and create new branch:
git clone git@github.com:YOUR_HANDLE/assets.git
cd tokens
git branch <branch_name>
git checkout <branch_name>
  1. Add asset to appropriate directory, here folder strcture to help you
  2. Commit and push to your fork
git add -A
git commit -m “Add <token_name>”
git push origin <branch_name>
  1. From your repo clone page make PR

FAQ

Why do I still see old logo in Trust Wallet after uploaded new one

Both clients, Android and iOS keep old image cache for up to 7 days. In order to see changes immediately, reinstall Trust Wallet. But as always, make sure you have a backup of all your wallets.

How to use it? (For Developers)

Base URL for token image:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/<contract_address_checksum>/logo.png

Base URL for coin image:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/<coin_name_lowercase>/info/logo.png

Examples:

Coin logo, e.g Bitcoin:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/bitcoin/info/logo.png

ERC20:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45/logo.png

BEP-2:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/binance/assets/ANKR-E97/logo.png

TRC-10:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/assets/1002000/logo.png

TRC-20:

https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/tron/assets/TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t/logo.png

Used in Applications

  • Trust Wallet - iOS and Android
  • 0x Tracker - The 0x Protocol Trade Explorer and news aggregator
  • Uniswap - Uniswap is a protocol for automated token exchange on Ethereum.
  • LinkDrop - A customer acquisition platform for DApps. The easiest crypto onboarding.