Now I am getting trouble on checking the USDC balance in my wallet address using web3.
USDC is also said that it is ERC20 token, but when I checked the token contract
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
This doesn't contain the erc20 standard.
So I guess I can't use the traditional token balance checking way in this coin.
Also I tried in traditional way, but it never work.
How can I check the USDC balance / and create transfer transaction from one address to another using Web3?
Best Answer
This is proxy contract, which means that it delegates actual work to another contract, probably to this one: 0x0882477e7895bdc5cea7cb1552ed914ab157fe56, which in turn is ERC-20 compliant. Proxy contract allows its administrator to change address of the contract actual work is delegated to, effectively changing smart contract logic. Proxy contracts like this one are implemented via
DELEGATECALL
opcode that executes code of another contract on behalf of this contract, i.e. called code has access to the storage and balance of calling contract.