feat: integrate gateway changes for some components #3274
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.
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 tounstable
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 simpleeth_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.L2_NATIVE_TOKEN_VAULT_ADDRESS
was used instead ofL2_ASSET_ROUTER_ADDRESS
incore/bin/external_node/src/node_builder.rs
, mixed up if/else branches incore/node/commitment_generator/src/lib.rs
resolve_l1_batch_to_l2_block
+get_block_details
are replaced with justget_batch_details
inbatch_status_updater
, some code for old protocol versions (pre-boojum or pre-shared-bridge) removed,l1_
prefix is added to some addresses to avoid confusionWhy ❔
Finalize and merge some gateway features
Checklist
zkstack dev fmt
andzkstack dev lint
.