fixes: fetching implementation ABI for proxy contracts | rate limits … #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Two fixes added related to adding a contract:
Proxy contract ABI fix
handle_add_contract_command in rindexer/cli/src/commands/add.rs was not fetching the implementation ABI correctly -> it would repeatedly fetch the contract's ABI and not the implementation's once it knew it was a proxy.
As an example here's the error that you get when adding the Aave V3 Pool contract on Ethereum (0x87870Bca3F3fD6335C3F4ce8392D69350B4fA4E2)
printing metadata generated in rindexer/cli/src/commands/add.rs:85 see the below gist:
https://gist.github.com/kakagri/419806f17d2f4634eebaec3d7ca95291
Verifier rate limits fix
Second is adding some timeouts when querying the ABI, this is necessary because trying to verify a proxy contract even with the above fix will yield some errors related to rate limits on the verifier's end.

As an example basescan and arbiscan have different rate limits and can lead to rate limit exceed error, see below when adding Aave V3 Pool on base and arbitrum.