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: integrate gateway changes for some components #3274

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

perekopskiy
Copy link
Contributor

@perekopskiy perekopskiy commented Nov 14, 2024

What ❔

Generally moves some code from gateway integration branch into main. High-level list of changes:

  • eth_watch: refactors watcher's client so it can use L2-specific features if gateway is queried. New event processor is added for chains that settle on gateway, it calculates part of merkle proof for L2->L1 logs.
  • api: new method is added to unstable namespace that is utilized by the new event processor. This method encapsulates a few storage reads + builds merkle tree. This is a temporary measure and method will likely be removed (that's why it's in unstable namespace) pretty soon after a contract getter that does exactly the same is merged into contracts, replacing unstable_getChainLogProof invocation with a simple eth_call
  • consistency_checker, tree_data_fetcher: adds support for reading batch commitment from either L1 or GW depending on what the SL is for a batch.
  • adds support for new format of commitBatches, proveBatches, executeBatches data encoding
  • bug fixes: L2_NATIVE_TOKEN_VAULT_ADDRESS was used instead of L2_ASSET_ROUTER_ADDRESS in core/bin/external_node/src/node_builder.rs, mixed up if/else branches in core/node/commitment_generator/src/lib.rs
  • some clean up, renaming, refactoring: resolve_l1_batch_to_l2_block + get_block_details are replaced with just get_batch_details in batch_status_updater, some code for old protocol versions (pre-boojum or pre-shared-bridge) removed, l1_ prefix is added to some addresses to avoid confusion

Why ❔

Finalize and merge some gateway features

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

@perekopskiy perekopskiy marked this pull request as ready for review November 14, 2024 14:47
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.

1 participant