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

Make direct indexing mode configurable over RPC #127

Closed
i-norden opened this issue Oct 7, 2021 · 5 comments
Closed

Make direct indexing mode configurable over RPC #127

i-norden opened this issue Oct 7, 2021 · 5 comments
Assignees

Comments

@i-norden
Copy link
Collaborator

i-norden commented Oct 7, 2021

Make it possible to change which contracts/accounts we restrict statediffing to over RPC when doing direct indexing

@ashwinphatak
Copy link
Collaborator

Notes from discussion:

  • API to Add/Append, Remove/Delete, Set, Clear watched addresses
  • New table in ipld-eth-db to store watched addresses and status
  • Handling uniswap like scenarios where Pool has events in the same block where it got created:
    • Watcher calls ipld-eth-server with contract address + creation block hash, which proxies the call to vulcanize/geth
    • vulcanize/geth starts watching the contract at current block hash
    • ipld-eth-server kicks off / tracks till completion the statediffing (eth_writeStateDiff) for missed blocks from (creation till addition), calling upstream process (vulcanize/geth for now, but eth-statediff-service cluster in the future)

@prathamesh0
Copy link
Collaborator

prathamesh0 commented Jan 20, 2022

Tasks:

vulcanize-geth:

  • An API to change watched addresses
  • Use a map for watched addresses and pre-compute their hashes
  • Tests

ipld-eth-db:

ipld-eth-server:

  • An API that proxies the call to change watched addresses to geth
  • A service to fill indexing gap for watched addresses
  • Tests:
    • API tests
    • Service tests

@ashwinphatak
Copy link
Collaborator

ashwinphatak commented Feb 2, 2022

Changes:

  • Remove slot based watching/params etc for current impl. Only watching of addresses will be supported. Implicitly, we watch all storage slots for an address.
  • Goal: Make getStorageAt work for watched contracts

@prathamesh0
Copy link
Collaborator

The service to fill indexing gap for watched addresses has been extracted to a separate repository.

@i-norden
Copy link
Collaborator Author

Tracking remaining tasks separately: cerc-io/ipld-eth-db#81 cerc-io/ipld-eth-db#42

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants