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
Deploy a local zk chain that uses a custom base asset
Bridge actual ETH from L1 to that chain
Get the L2 token address for ETH using await wallet.l2TokenAddress(ETH_ADDRESS_IN_CONTRACTS)
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
Package version: latest & master branch
Node version: v18.20.3
NPM/Yarn version: 10.7.0
Operating System & Version: Mac Sonoma 14.5
📋 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.
🐛 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
await wallet.l2TokenAddress(ETH_ADDRESS_IN_CONTRACTS)
wallet balance
command🤔 Expected Behavior
The command should output the balance.
😯 Current Behavior
🖥️ Environment
📋 Additional Context
I'm able to get this working and see the correct balance output by removing
utils.IERC20.decodeFunctionResult
in thegetTokenInfo
function insrc/utils/token.ts
and hardcoding thename
andsymbol
in the return object.