node icon indicating copy to clipboard operation
node copied to clipboard

Rename ZRC-20 tokens

Open fadeev opened this issue 1 year ago • 7 comments

We need to come up with a ZRC-20 token symbol/name convention and synchronize both testnet and mainnet beta.

Mainnet Beta

{
  "foreignCoins": [
    {
      "asset": "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
      "coin_type": "ERC20",
      "decimals": 18,
      "foreign_chain_id": "56",
      "gas_limit": "100000",
      "liquidity_cap": "300000000000000000000000",
      "name": "ZetaChain ZRC20 USDC on BSC",
      "paused": false,
      "symbol": "USDC.BSC",
      "zrc20_contract_address": "0x05BA149A7bd6dC1F937fA9046A9e05C05f3b18b0"
    },
    {
      "asset": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "coin_type": "ERC20",
      "decimals": 6,
      "foreign_chain_id": "1",
      "gas_limit": "100000",
      "liquidity_cap": "300000000000",
      "name": "ZetaChain ZRC20 USDC on ETH",
      "paused": false,
      "symbol": "USDC.ETH",
      "zrc20_contract_address": "0x0cbe0dF132a6c6B4a2974Fa1b7Fb953CF0Cc798a"
    }
  ]
}

Source: https://zetachain.blockpi.network/lcd/v1/public/zeta-chain/fungible/foreign_coins

Testnet

{
  "foreignCoins": [
    {
      "asset": "0x64544969ed7EBf5f083679233325356EbE738930",
      "coin_type": "ERC20",
      "decimals": 6,
      "foreign_chain_id": "97",
      "gas_limit": "100000",
      "liquidity_cap": "0",
      "name": "USDC-bsc_testnet",
      "paused": false,
      "symbol": "USDC",
      "zrc20_contract_address": "0x7c8dDa80bbBE1254a7aACf3219EBe1481c6E01d7"
    },
    {
      "asset": "",
      "coin_type": "Gas",
      "decimals": 18,
      "foreign_chain_id": "5",
      "gas_limit": "21000",
      "liquidity_cap": "0",
      "name": "ETH-goerli_testnet",
      "paused": false,
      "symbol": "gETH",
      "zrc20_contract_address": "0x13A0c5930C028511Dc02665E7285134B6d11A5f4"
    }
  ]
}

Source: https://zetachain-athens.blockpi.network/lcd/v1/public/zeta-chain/fungible/foreign_coins

fadeev avatar Feb 08 '24 07:02 fadeev

As symbols and names often used as is in end-user apps, we can take a look at how this problem has been solved in Cosmos apps.

Screenshot 2024-02-08 at 11 10 11 Screenshot 2024-02-08 at 11 10 29 Screenshot 2024-02-08 at 11 10 43 Screenshot 2024-02-08 at 11 11 01

fadeev avatar Feb 08 '24 07:02 fadeev

Token symbols don't have to be 4 characters max. I think it's some sort of anachronism that comes from age of mainframes when you could only have 4 bytes per symbol.

fadeev avatar Feb 08 '24 07:02 fadeev

I propose the following:

ETH ETH on ZetaChain

USDC.BSC BSC USDC on ZetaChain

USDC.ETHEREUM Ethereum USDC on ZetaChain

Token information already includes ZRC-20, so if an app chooses to display a ZRC-20 label, they can do that.

ETH (ZRC-20) ETH on ZetaChain

I think if it's a gas token the symbol and name doesn't need to have the chain name to make it look cleaner.

Specifying that the token is "on ZetaChain" helps understand where the token physically is. I know we like to say that ZetaChain helps "manage assets on other chains", but if the token is technically on ZetaChain, we should say so.

~USDC.ETH~ — this is not good as ETH here stands for Ethereum (and not ETH), but it's confusing.

fadeev avatar Feb 08 '24 07:02 fadeev

The testnet ones should not be considered, and should be renamed. We had a discussion for the mainnet ones but we discuss further with the team for a renaming.

lumtis avatar Feb 08 '24 17:02 lumtis

Moving to next milestone as it's operational task to do after upgrade

lumtis avatar Feb 19 '25 18:02 lumtis

Related PR for fixing tokens in testnet https://github.com/zeta-chain/gov-ops/pull/710

CharlieMc0 avatar Mar 13 '25 19:03 CharlieMc0

Moved to v31 for the mainnet upgrade

A bug didn't update the name in the chain, only at the erc20 contract level, this has been fixed but will only be effective on mainnet after v31 upgrade

lumtis avatar May 06 '25 12:05 lumtis

Proposal created

lumtis avatar Jun 16 '25 14:06 lumtis