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.
This PR adds support for Base (includes docker image backend logic from
add-arbitrum
).I also made some slight changes regarding
addrContracts
storage structure and caching. Happy to discuss this further, but it stemmed from my initial attempts at improving performance for Gnosis chain due to the large amount of spam on chain. The main bottleneck was the storing and fetching ofaddrContracts
. To help I made two changes:addressContracts
cache to be supported for both bulk connect and the regular synchronous sync modes. This allows synchronous sync to utilize the cache instead of constantly reading from db to help improve performance. There is a config flag for setting the max size of the contracts map as well for tweaking based on desired memory usage. The cache will auto prune when full prioritizing keeping the larger address contract sets considering those would take the most time to read from the db.I know this isn't really a direct requirement for Base and didn't even fully solve the Gnosis sync issues, but they still seemed like useful improvements to me, but feel free to let me know if you aren't keen about the changes and I will rip them out.