Hi there, I saw that this fork addresses some issues in the master abi-decoder repo. I'm trying to decode any on-chain bytecode(tx input data, log, or contract msg) for an EVM chain. My current thinking around this problem is:
Get the address of the called contract associated with the raw bytecode.
Look for verified sources/ABIs for that address from explorers, etc.
IF verified ABI
decode bytecode using verified ABI
ELSE
decode the bytecode using common ABIs as a fallback (ERC20, ERC721, etc.)
// How to deal with this kind of stuff?:
// source code
// event Transfer(address indexed _from, address indexed _to, uint256 _value) // ERC20
// event Transfer(address from, address to, uint256 tokenId) // ERC721
// canonic
// Transfer(address, address, uint256) // ERC20
// Transfer(address, address, uint256) // ERC721