Fixed Issue #1674
https://github.com/DefiLlama/chainlist/issues/1674
transaction hash should be different for each chain right ? i see tx not found error
Yeah looks like each chain will need its own transaction hash, which I am still deciding how to go about it. Hardcoding every hash doesn't seem feasible
Okay... turns out that transaction not found means that debug_traceTransaction is detected in the RPC, and is looking for the transaction based on the params. All we need is to indicate the debug_traceTransaction method exists, so the params is a dummy address. If we get in the error msg something like "method does not exist" or "API has no access", then we know for sure debug_traceTransaction does not exist and therefore no trace support for that RPC.
The burn address is used to test for archive support, since it exists in every EVM chain.
debug_transaction expects two arguments
thats okay because if debug_traceTransaction is recognized, that means trace support exist. I left the second argument blank because even if I did add a dummy variable, an error will still occur because the transaction never existed. But we aren't trying to look for a specific transaction, we are just trying to find if debug_traceTransaction method exists (which means trace support exists)
there are archive nodes that do not support traces
yes those are requested separately
ACK on idea, if @Caranell's review is positive lets merge it
Made some fixes:
- using same queryKey for both trace & archive queries caused the latter not to trigger at all & only the trace data being used for both metrics
- added more checks to trace debugging to filter out false positives/negatives (a bit debatable, feel free to comment)