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(vm): Add batch input abstraction #817

Merged
merged 39 commits into from
Jan 9, 2024

Conversation

StanislavBreadless
Copy link
Contributor

@StanislavBreadless StanislavBreadless commented Jan 4, 2024

What ❔

The new fee model will allow us to have separate L1 gas price and pubdata price (and it is needed for EIP4844). That's why the BatchFeeInput struct is needed as it provides the needed fields for both the VM version.

The version that is provided in this PR will require not additional changes on the server side (i.e. whatever config params that we have right now is enough, the full integration of the config params for the new fee model will be added to the main PR: #791.

While the defined enum allows for both l1-gas-price pegged and independent pubdata pricing, in this PR only L1Pegged is ever instantiated

❗ A new JSON-RPC method has been added: zks_getMainNodeFeeParams. It will be used by the EN and it will serve the same purpose as the zks_getL1GasPrice, i.e. retrieving the fee info from the main node, but now it will be extended to provide the fair l2 gas price as well as other config params that for now will be defined on the main node. The zks_getL1GasPrice will continue working as usual to not interrupt the existing external nodes, but may be removed in the long run.

Why ❔

Splitting the integration of the 1.4.1 & the new fee model (#791) into separate smaller PRs

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 zk fmt and zk lint.
  • Spellcheck has been run via cargo spellcheck --cfg=./spellcheck/era.cfg --code 1.

@StanislavBreadless StanislavBreadless marked this pull request as draft January 4, 2024 11:41
@StanislavBreadless StanislavBreadless changed the title Add batch input abstraction feat(vm): Add batch input abstraction Jan 4, 2024
@StanislavBreadless StanislavBreadless marked this pull request as ready for review January 4, 2024 12:34
mm-zk
mm-zk previously approved these changes Jan 5, 2024
Copy link
Collaborator

@mm-zk mm-zk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - after these small rename comments above.

perekopskiy
perekopskiy previously approved these changes Jan 5, 2024
Deniallugo
Deniallugo previously approved these changes Jan 8, 2024
@StanislavBreadless StanislavBreadless added this pull request to the merge queue Jan 9, 2024
Merged via the queue into main with commit 997db87 Jan 9, 2024
25 checks passed
@StanislavBreadless StanislavBreadless deleted the sb-add-batch-input-abstraction branch January 9, 2024 11:48
github-merge-queue bot pushed a commit that referenced this pull request Jan 11, 2024
🤖 I have created a release *beep* *boop*
---


##
[19.1.0](core-v19.0.0...core-v19.1.0)
(2024-01-10)


### Features

* address remaining spelling issues in dev comments and turns on
dev_comments in cfg
([#827](#827))
([1fd0afd](1fd0afd))
* **core:** removes multiple tokio runtimes and worker number setting.
([#826](#826))
([b8b190f](b8b190f))
* fix spelling in dev comments in `core/lib/*` - continued
([#683](#683))
([0421fe6](0421fe6))
* fix spelling in dev comments in `core/lib/*` - continued
([#684](#684))
([b46c2e9](b46c2e9))
* fix spelling in dev comments in `core/lib/multivm` - continued
([#682](#682))
([3839d39](3839d39))
* fix spelling in dev comments in `core/lib/zksync_core` - continued
([#685](#685))
([70c3feb](70c3feb))
* **state-keeper:** circuits seal criterion
([#729](#729))
([c4a86bb](c4a86bb))
* **state-keeper:** Reject transactions that fail to publish bytecodes
([#832](#832))
([0a010f0](0a010f0))
* **vm:** Add batch input abstraction
([#817](#817))
([997db87](997db87))


### Bug Fixes

* oldest unpicked batch
([#692](#692))
([a6c869d](a6c869d))
* **state-keeper:** Updates manager keeps track of fictive block metrics
([#843](#843))
([88fd724](88fd724))
* **vm:** fix circuit tracer
([#837](#837))
([83fc7be](83fc7be))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

5 participants