Describe the pain point and how it affects builders?
After using remix to deploy and invoke ERC20 or ERC721 on Filecoin Calibration and mainnet, it will throw an error when invoking the read function with string as the return type. For example, name, symbol, tokenURI, etc.
This also affects showing tokens and NFT on MetaMask since MetaMask cannot read contract information by calling the read functions string as the return type.
NOTE: ~This was not an issue for my ERC20 deployed last year. So it might be introduced by later updates and releases of Lotus or ref-fvm.~ This issue was introduced with Solidity Compile 8.26 and works fine with compiler 8.20
Any proposed solutions?
~It is unclear what is causing the incompatibility with Remix & MetaMask. We need to do some more research and identify what should be fixed.~
This is most likely related to MCOPY which is WIP. But it would be helpful to document the support solidity compiler version in Filecoin docs so builders can avoid using incompatible solidity compilers.
Documents support solidity compiler for FEVM in Filecoin docs
Describe the pain point and how it affects builders?
string
as the return type. For example,name
,symbol
,tokenURI
, etc.string
as the return type.Any proposed solutions? ~It is unclear what is causing the incompatibility with Remix & MetaMask. We need to do some more research and identify what should be fixed.~ This is most likely related to MCOPY which is WIP. But it would be helpful to document the support solidity compiler version in Filecoin docs so builders can avoid using incompatible solidity compilers.
*Reference: https://filecoinproject.slack.com/archives/C0745JU645A/p1724057935888989