matter-labs / zksync-cli

CLI tool that simplifies ZKsync development
MIT License
166 stars 96 forks source link

Balance error for ETH token on zk chain with custom base asset #158

Open sarahschwartz opened 3 months ago

sarahschwartz commented 3 months ago

🐛 Bug Report for zksync-cli

📝 Description

The token info for ETH bridged to a zk chain that uses a custom base asset isn't able to be decoded correctly, resulting in an error if you try to get the balance of the L2 token for ETH.

🔄 Reproduction Steps

  1. Deploy a local zk chain that uses a custom base asset
  2. Bridge actual ETH from L1 to that chain
  3. Get the L2 token address for ETH using await wallet.l2TokenAddress(ETH_ADDRESS_IN_CONTRACTS)
  4. try to get the balance for the L2 token for ETH using the wallet balance command

🤔 Expected Behavior

The command should output the balance.

😯 Current Behavior

ⓘ There was an error while fetching balance for the specified address:
ⓘ call revert exception [ See: https://links.ethers.org/v5-errors-CALL_EXCEPTION ] (method="symbol()", data="0x", errorArgs=null, errorName=null, errorSignature=null, reason=null, code=CALL_EXCEPTION, version=abi/5.7.0)

🖥️ Environment

📋 Additional Context

I'm able to get this working and see the correct balance output by removing utils.IERC20.decodeFunctionResult in the getTokenInfo function in src/utils/token.ts and hardcoding the name and symbol in the return object.