scaffold-eth / scaffold-eth-2

Open source forkable Ethereum dev stack
https://scaffoldeth.io
MIT License
1.41k stars 887 forks source link

bug: block explorer `decodeTransactionData` is brute forcing decode, and producing unecessary error-msgs #984

Closed FilipHarald closed 2 days ago

FilipHarald commented 1 week ago

Is there an existing issue for this?

Which method was used to setup Scaffold-ETH 2 ?

npx create-eth@latest

Current Behavior

Current implementation tries all registered interfaces for each transaction. This is fine, however, it should not produce the error-logs like below.

Parsing failed: AbiFunctionSignatureNotFoundError: Encoded function signature "0x60c06040" not found on ABI.
Make sure you are using the correct ABI and that the function exists on it.
You can look up the signature here: https://openchain.xyz/signatures?query=0x60c06040.

Docs: https://viem.sh/docs/contract/decodeFunctionData
Version: viem@2.21.32

Expected Behavior

Since for each transaction there is at least n-1 errors (n=nbr of ABIs/interfaces). It is better to just not log it and instead use Unknown as function name or something.

Steps To Reproduce

:warning: I realize this is a niche because it only occurs when you have the block-explorer for a local chain that interacts with contracts that are not deployed through the normal hardhat/foundry scripts. I.e. it only occurs if something happens on the local chain has an event for a contract that is not in packages/nextjs/contracts/deployedContracts.ts.

Anything else?

No response