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

feat: dry-run balances only once per contract and block #778

Merged
merged 1 commit into from
Jul 11, 2022

Conversation

jyeshe
Copy link
Member

@jyeshe jyeshe commented Jul 7, 2022

What

Get balances for same contract and same block only once (avoid multiple costly dry-run) during in-memory sync.

Why

Refs #211 (not in parallel yet but one step further)
Refs #749

Notes

On next PRs:

  • Use this Aex9BalanceCache on endpoints read operations (possibly with another implementation of Db.Store protocol).
  • Run aex9 tasks asynchronously (restore behaviour reviewing producer-consumer)
  • Use only Aex9BalanceCache for in-memory sync and as data source to persist aex9 records (don't use State/MemStore to save parallel and asynchronous aex9 results)
  • Handle forks and intercept tasks belonging to invalid blocks

@jyeshe jyeshe changed the title feat: dry-run only once per contract and block feat: dry-run balances only once per contract and block Jul 7, 2022
@jyeshe jyeshe self-assigned this Jul 7, 2022
@jyeshe jyeshe requested review from sborrazas and thepiwo July 7, 2022 21:35
@jyeshe jyeshe merged commit 5690902 into master Jul 11, 2022
@jyeshe jyeshe deleted the single-in-memory-sync-dryruns branch July 11, 2022 11:31
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

Successfully merging this pull request may close these issues.

3 participants