Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

contracts: add direct contract backend #13554

Merged
merged 5 commits into from
Jan 27, 2025
Merged

Conversation

taratorio
Copy link
Member

@taratorio taratorio commented Jan 24, 2025

relates to #13383
takes a chunk of changes out of bigger shutter PR #13553 in which we collect data from various shutter smart contracts

context on this PR:

  • smart contracts objects generated by abigen rely on bind.ContractBackend in order to be used
  • we currently do not have an implementation of that interface in Erigon (apart from SimulatedBackend which is used in testing - inherited from Geth)
  • in this PR im adding an implementation of ContractBackend which uses the EthApi jsonrpc object and directly calls it instead of going via http rpc and/or websocket (for log update subscriptions) - this is analogous to how we have direct and remote grpc clients for our grpc-based components
  • ive also wired the new contract backend to the shutter pool - this will be used in a subsequent PR (check the aforementioned PR shutter: collect data from smart contracts #13553 for usages)

note that this is needed also for @shohamc1 's work for native AA which is why it will be good to merge it in main

@taratorio taratorio changed the title contracts: add contract backend contracts: add direct contract backend Jan 24, 2025
@taratorio taratorio merged commit 2b92946 into main Jan 27, 2025
13 checks passed
@taratorio taratorio deleted the shutter-contract-backend branch January 27, 2025 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants