Skip to content

Conversation

@Deniallugo
Copy link
Contributor

@Deniallugo Deniallugo commented Sep 3, 2025

What ❔

Add an ability for zkstack to work with zksync os contracts.

IMPORTANT!
It's still doesn't support different contracts for one ecosystem out of the box.

Is this a breaking change?

  • Yes
  • No

Operational changes

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.

@Deniallugo Deniallugo force-pushed the deniallugo-support-zksync-os-flag branch from 76cd8ba to 4d82a88 Compare September 3, 2025 12:49
@Deniallugo Deniallugo force-pushed the deniallugo-support-zksync-os-flag branch from 4d82a88 to ae65b18 Compare September 3, 2025 12:51
@Deniallugo Deniallugo force-pushed the deniallugo-support-zksync-os-flag branch from 08d11bb to 2c39198 Compare September 3, 2025 14:20
@Deniallugo Deniallugo force-pushed the deniallugo-support-zksync-os-flag branch from 2c39198 to 172b15c Compare September 3, 2025 14:42
Signed-off-by: Danil <[email protected]>
@Deniallugo Deniallugo marked this pull request as ready for review September 3, 2025 15:18
Signed-off-by: Danil <[email protected]>
@Deniallugo Deniallugo force-pushed the deniallugo-support-zksync-os-flag branch from 4ac3285 to 6d2c7f4 Compare September 3, 2025 15:58
@Deniallugo Deniallugo enabled auto-merge September 3, 2025 16:25
@Deniallugo Deniallugo added this pull request to the merge queue Sep 9, 2025
legacy_bridge,
args.evm_emulator,
args.tight_ports,
// TODO support creating zksync OS chains
Copy link
Collaborator

Choose a reason for hiding this comment

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

could we make it 'crash' if zkos is set to true?
(otherwise someone might run this command, and then create a non-zkos chain which will be painful to debug later)

config.l1_network,
support_l2_legacy_shared_bridge_test,
// ZKSync OS flag is not used in core contracts deployment
false,
Copy link
Collaborator

Choose a reason for hiding this comment

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

this might bite us in the future (someone will see that field exists in DeployL1Config and try to use it).

Maybe it should be 'Option' then?

Merged via the queue into main with commit 49e0529 Sep 9, 2025
65 of 67 checks passed
@Deniallugo Deniallugo deleted the deniallugo-support-zksync-os-flag branch September 9, 2025 09:19
github-merge-queue bot pushed a commit that referenced this pull request Oct 9, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.2.0](zkstack_cli-v0.1.2...zkstack_cli-v0.2.0)
(2025-10-09)


### ⚠ BREAKING CHANGES

* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
* Remove old prover stack
([#3729](#3729))
* V27 update
([#3580](#3580))

### Features

* add dedicated TEE proof data handler module
([#3872](#3872))
([ac64ee6](ac64ee6))
* add flag to save calldata
([#4471](#4471))
([1ee5eac](1ee5eac))
* add integration test for DA migration
([#3944](#3944))
([52aff1d](52aff1d))
* add prividium docker image support for block explorer
([#4127](#4127))
([df9a433](df9a433))
* add prividium mode to zkstack explorer
([#4079](#4079))
([c571914](c571914))
* Add proof manager contracts submodule
([#4189](#4189))
([0c75985](0c75985))
* Add S3 implementation for object_store
([#3664](#3664))
([a848927](a848927))
* Add Support for Protocol Version v28
([#3821](#3821))
([5419420](5419420))
* Adding 'rich_accounts' command to zkstack
([#3895](#3895))
([50b72dc](50b72dc))
* **api:** Support Unix domain sockets for healthcheck server
([#4226](#4226))
([b06bacb](b06bacb))
* **avail-client:** async blob dispatch
([#4010](#4010))
([7a18647](7a18647))
* bump rustc to `nightly-2025-03-19`
([#3985](#3985))
([d27390e](d27390e))
* **ci:** fast integration tests framework
([#4255](#4255))
([a72cbd8](a72cbd8))
* **config:** Report config params in more ways
([#4126](#4126))
([a78531c](a78531c))
* Configuration system PoC
([#3851](#3851))
([7b449c2](7b449c2))
* **consensus:** Add consensus protocol versioning
([#3720](#3720))
([d1b4308](d1b4308))
* **consensus:** Validator committee rotation
([#4014](#4014))
([333efea](333efea))
* **contract_verifier:** add etherscan verification request support to
the verifier api
([#3956](#3956))
([87938b3](87938b3))
* **contract_verifier:** read compiler versions from cbor metadata if
available
([#4002](#4002))
([9bc20a4](9bc20a4))
* **contract-verifier:** add Etherscan contract verification
([#3609](#3609))
([a4ea0f2](a4ea0f2))
* Draft v29
([#3960](#3960))
([91843a2](91843a2))
* **en:** Cache remote config for en
([#4367](#4367))
([20bc4a8](20bc4a8))
* **en:** remove dependency on pubdata commitment mode
([#3826](#3826))
([a0c78c0](a0c78c0))
* **en:** remove JSON RPC syncing
([#4258](#4258))
([d194604](d194604))
* **en:** return back JSON RPC syncing
([#4344](#4344))
([24b2990](24b2990))
* **en:** Use config system for env-based EN configuration
([#4104](#4104))
([b706025](b706025))
* Eth proof manager sender
([#4266](#4266))
([93b2086](93b2086))
* **eth_sender:** Add fast finalization into eth_tx_manager
([#4070](#4070))
([c6b815d](c6b815d))
* **eth-sender:** set `from_addr` for non-blob txs
([#3898](#3898))
([c699f8a](c699f8a))
* **gateway:** add checks that the server version is correct
([#3681](#3681))
([659edaa](659edaa))
* **gateway:** Migration to Gateway
([#3654](#3654))
([2858ba0](2858ba0))
* **gateway:** Requirement to stop L1-&gt;L2 transactions before v26
upgrade ([#3707](#3707))
([0a095b7](0a095b7))
* **private-rpc:** improved compatibility with ethers library + tests
([#4046](#4046))
([0e2e0d8](0e2e0d8))
* **private-rpc:** option to run private proxy in ZKStack CLI + moving
Private Proxy files inside zksync-era repo
([#3919](#3919))
([3b9307c](3b9307c))
* Proof data handler client
([#3874](#3874))
([daf6f7b](daf6f7b))
* Proof manager watcher
([#4241](#4241))
([6423b0d](6423b0d))
* Prover Cluster follow-up
[#2](#2)
([#4001](#4001))
([d8ed7f7](d8ed7f7))
* **prover:** --threads feature to WVGs
([#4291](#4291))
([846f6e4](846f6e4))
* remove 2nd validator from command that prepares GW migration calldata
([#4331](#4331))
([f81ad19](f81ad19))
* Remove feature flags for upgrades & v28.1
([#4384](#4384))
([fa7e679](fa7e679))
* Remove old prover stack
([#3729](#3729))
([fbbdc76](fbbdc76))
* rework prover job identifiers
([#3888](#3888))
([073326f](073326f))
* split zkstack cli command
([#4418](#4418))
([36cd668](36cd668))
* update zkstack-cli for updated scripts
([#4481](#4481))
([cc0a95b](cc0a95b))
* updating upgrade and migration config files for testnet and mainnet
([#4148](#4148))
([6d11c2d](6d11c2d))
* Use JSON-RPC for core &lt;&gt; prover interaction
([#3626](#3626))
([4e74730](4e74730))
* V27 update
([#3580](#3580))
([9e18550](9e18550))
* **v27:** Use latest branch of release-v27
([#3713](#3713))
([6e1681e](6e1681e))
* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
([9e4755e](9e4755e))
* **zkstack_cli:** Add function to track chain admin priority txs
([#3897](#3897))
([fed2ca9](fed2ca9))
* **zkstack_cli:** finish enabling migrating chain from Gateway + remove
the gateway feature flag
([#3924](#3924))
([d091c90](d091c90))
* **zkstack_cli:** update gateway chain scripts
([#3852](#3852))
([542c7a9](542c7a9))
* **zkstack-cli:** add prove & execute wallets
([#4477](#4477))
([468cec9](468cec9))
* **zkstack:** Add zksync_os flag for ecosystem init
([#4456](#4456))
([49e0529](49e0529))
* **zkstack:** Allow skipping build for contracts and server during
ecosystem init
([#3697](#3697))
([81abd84](81abd84))
* **zkstack:** Allow to run separate integration test suites
([d287725](d287725))
* **zkstack:** bump alloy
([#4502](#4502))
([1a6ad60](1a6ad60))
* **zkstack:** Clarify prompt for funds check
([#3723](#3723))
([a8ea520](a8ea520))
* **zkstack:** Deploy 2 ctms and deploy chain for each of them
([#4458](#4458))
([5d2a7cd](5d2a7cd))
* **zkstack:** fast fmt
([#4222](#4222))
([d05c3dd](d05c3dd))
* **zkstack:** Generating keys for compressor
([#4301](#4301))
([b879b6f](b879b6f))
* **zkstack:** No genesis arg
([#4453](#4453))
([9034246](9034246))
* **zkstack:** zkstack cli for v27 upgrade
([#3718](#3718))
([91e04fb](91e04fb))


### Bug Fixes

* Changes to zkstack after testing migration from GW
([#3969](#3969))
([b63e607](b63e607))
* **consensus:** Correctly handle error on SetValidatorSchedule
([#4147](#4147))
([e169bd3](e169bd3))
* **consensus:** Debug page server port reuse
([#4273](#4273))
([77d043f](77d043f))
* **consensus:** Update consensus dependencies
([#4186](#4186))
([110a527](110a527))
* Fix security issues (bump dependencies)
([#3813](#3813))
([c6def9c](c6def9c))
* fix zkstack cli upgrade features + remove redundant CI workflow
([#3975](#3975))
([0f04134](0f04134))
* **gateway-migrator:** Properly handle unknown settlement layer
([#3961](#3961))
([b43e315](b43e315))
* make proof data handler backwards compatible
([#3767](#3767))
([bdbbaaa](bdbbaaa))
* remove zksync_contracts dep from zkstack_cli
([#4400](#4400))
([7bcf275](7bcf275))
* target_rpc address in private-rpc docker-compose
([#4062](#4062))
([b69819b](b69819b))
* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
([0a3d13f](0a3d13f))
* **zkstack:** add `--locked` to `cargo sqlx prepare`
([#3300](#3300))
([a98b1c8](a98b1c8))
* **zkstack:** Add param for setting da validation pair
([#4150](#4150))
([47e2517](47e2517))
* **zkstack:** Allow to use chain config if ecosystem is redundant
([#4236](#4236))
([066b3b1](066b3b1))
* **zkstack:** Fix prover run and shell
([#4422](#4422))
([eae38e2](eae38e2))
* **zkstack:** fixes for private rpc in zkstack cli
([#4012](#4012))
([be68210](be68210))
* **zkstack:** Generating compressor keys flow fix
([#4343](#4343))
([4cf2f67](4cf2f67))
* **zkstack:** make GW migration script compatible with pre-v29
([#4346](#4346))
([7ba2cf3](7ba2cf3))
* **zkstack:** make proving network contracts config optional
([#4263](#4263))
([3ebad3b](3ebad3b))
* **zkstack:** Migration params
([#4369](#4369))
([8597c32](8597c32))
* **zkstack:** Use `latest` for prover component by default
([#4120](#4120))
([91af29d](91af29d))


### Performance Improvements

* **db:** use copy in `insert_initial_writes`
([#3899](#3899))
([c6f1598](c6f1598))
* Instrumentation for Jemalloc (pt. 2)
([#4204](#4204))
([5e0bd65](5e0bd65))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Deniallugo added a commit that referenced this pull request Oct 22, 2025
## What ❔

Add an ability for zkstack to work with zksync os contracts.

IMPORTANT!
It's still doesn't support different contracts for one ecosystem out of
the box.


## Is this a breaking change?
- [ ] Yes
- [ ] No

## Operational changes
<!-- Any config changes? Any new flags? Any changes to any scripts? -->
<!-- Please add anything that non-Matter Labs entities running their own
ZK Chain may need to know -->

## Checklist

<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->

- [ ] 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`.

---------

Signed-off-by: Danil <[email protected]>
Deniallugo pushed a commit that referenced this pull request Oct 22, 2025
🤖 I have created a release *beep* *boop*
---


##
[0.2.0](zkstack_cli-v0.1.2...zkstack_cli-v0.2.0)
(2025-10-09)


### ⚠ BREAKING CHANGES

* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
* Remove old prover stack
([#3729](#3729))
* V27 update
([#3580](#3580))

### Features

* add dedicated TEE proof data handler module
([#3872](#3872))
([ac64ee6](ac64ee6))
* add flag to save calldata
([#4471](#4471))
([1ee5eac](1ee5eac))
* add integration test for DA migration
([#3944](#3944))
([52aff1d](52aff1d))
* add prividium docker image support for block explorer
([#4127](#4127))
([df9a433](df9a433))
* add prividium mode to zkstack explorer
([#4079](#4079))
([c571914](c571914))
* Add proof manager contracts submodule
([#4189](#4189))
([0c75985](0c75985))
* Add S3 implementation for object_store
([#3664](#3664))
([a848927](a848927))
* Add Support for Protocol Version v28
([#3821](#3821))
([5419420](5419420))
* Adding 'rich_accounts' command to zkstack
([#3895](#3895))
([50b72dc](50b72dc))
* **api:** Support Unix domain sockets for healthcheck server
([#4226](#4226))
([b06bacb](b06bacb))
* **avail-client:** async blob dispatch
([#4010](#4010))
([7a18647](7a18647))
* bump rustc to `nightly-2025-03-19`
([#3985](#3985))
([d27390e](d27390e))
* **ci:** fast integration tests framework
([#4255](#4255))
([a72cbd8](a72cbd8))
* **config:** Report config params in more ways
([#4126](#4126))
([a78531c](a78531c))
* Configuration system PoC
([#3851](#3851))
([7b449c2](7b449c2))
* **consensus:** Add consensus protocol versioning
([#3720](#3720))
([d1b4308](d1b4308))
* **consensus:** Validator committee rotation
([#4014](#4014))
([333efea](333efea))
* **contract_verifier:** add etherscan verification request support to
the verifier api
([#3956](#3956))
([87938b3](87938b3))
* **contract_verifier:** read compiler versions from cbor metadata if
available
([#4002](#4002))
([9bc20a4](9bc20a4))
* **contract-verifier:** add Etherscan contract verification
([#3609](#3609))
([a4ea0f2](a4ea0f2))
* Draft v29
([#3960](#3960))
([91843a2](91843a2))
* **en:** Cache remote config for en
([#4367](#4367))
([20bc4a8](20bc4a8))
* **en:** remove dependency on pubdata commitment mode
([#3826](#3826))
([a0c78c0](a0c78c0))
* **en:** remove JSON RPC syncing
([#4258](#4258))
([d194604](d194604))
* **en:** return back JSON RPC syncing
([#4344](#4344))
([24b2990](24b2990))
* **en:** Use config system for env-based EN configuration
([#4104](#4104))
([b706025](b706025))
* Eth proof manager sender
([#4266](#4266))
([93b2086](93b2086))
* **eth_sender:** Add fast finalization into eth_tx_manager
([#4070](#4070))
([c6b815d](c6b815d))
* **eth-sender:** set `from_addr` for non-blob txs
([#3898](#3898))
([c699f8a](c699f8a))
* **gateway:** add checks that the server version is correct
([#3681](#3681))
([659edaa](659edaa))
* **gateway:** Migration to Gateway
([#3654](#3654))
([2858ba0](2858ba0))
* **gateway:** Requirement to stop L1-&gt;L2 transactions before v26
upgrade ([#3707](#3707))
([0a095b7](0a095b7))
* **private-rpc:** improved compatibility with ethers library + tests
([#4046](#4046))
([0e2e0d8](0e2e0d8))
* **private-rpc:** option to run private proxy in ZKStack CLI + moving
Private Proxy files inside zksync-era repo
([#3919](#3919))
([3b9307c](3b9307c))
* Proof data handler client
([#3874](#3874))
([daf6f7b](daf6f7b))
* Proof manager watcher
([#4241](#4241))
([6423b0d](6423b0d))
* Prover Cluster follow-up
[#2](#2)
([#4001](#4001))
([d8ed7f7](d8ed7f7))
* **prover:** --threads feature to WVGs
([#4291](#4291))
([846f6e4](846f6e4))
* remove 2nd validator from command that prepares GW migration calldata
([#4331](#4331))
([f81ad19](f81ad19))
* Remove feature flags for upgrades & v28.1
([#4384](#4384))
([fa7e679](fa7e679))
* Remove old prover stack
([#3729](#3729))
([fbbdc76](fbbdc76))
* rework prover job identifiers
([#3888](#3888))
([073326f](073326f))
* split zkstack cli command
([#4418](#4418))
([36cd668](36cd668))
* update zkstack-cli for updated scripts
([#4481](#4481))
([cc0a95b](cc0a95b))
* updating upgrade and migration config files for testnet and mainnet
([#4148](#4148))
([6d11c2d](6d11c2d))
* Use JSON-RPC for core &lt;&gt; prover interaction
([#3626](#3626))
([4e74730](4e74730))
* V27 update
([#3580](#3580))
([9e18550](9e18550))
* **v27:** Use latest branch of release-v27
([#3713](#3713))
([6e1681e](6e1681e))
* v29 upgrade testing & zkstack_cli changes
([#4332](#4332))
([9e4755e](9e4755e))
* **zkstack_cli:** Add function to track chain admin priority txs
([#3897](#3897))
([fed2ca9](fed2ca9))
* **zkstack_cli:** finish enabling migrating chain from Gateway + remove
the gateway feature flag
([#3924](#3924))
([d091c90](d091c90))
* **zkstack_cli:** update gateway chain scripts
([#3852](#3852))
([542c7a9](542c7a9))
* **zkstack-cli:** add prove & execute wallets
([#4477](#4477))
([468cec9](468cec9))
* **zkstack:** Add zksync_os flag for ecosystem init
([#4456](#4456))
([49e0529](49e0529))
* **zkstack:** Allow skipping build for contracts and server during
ecosystem init
([#3697](#3697))
([81abd84](81abd84))
* **zkstack:** Allow to run separate integration test suites
([d287725](d287725))
* **zkstack:** bump alloy
([#4502](#4502))
([1a6ad60](1a6ad60))
* **zkstack:** Clarify prompt for funds check
([#3723](#3723))
([a8ea520](a8ea520))
* **zkstack:** Deploy 2 ctms and deploy chain for each of them
([#4458](#4458))
([5d2a7cd](5d2a7cd))
* **zkstack:** fast fmt
([#4222](#4222))
([d05c3dd](d05c3dd))
* **zkstack:** Generating keys for compressor
([#4301](#4301))
([b879b6f](b879b6f))
* **zkstack:** No genesis arg
([#4453](#4453))
([9034246](9034246))
* **zkstack:** zkstack cli for v27 upgrade
([#3718](#3718))
([91e04fb](91e04fb))


### Bug Fixes

* Changes to zkstack after testing migration from GW
([#3969](#3969))
([b63e607](b63e607))
* **consensus:** Correctly handle error on SetValidatorSchedule
([#4147](#4147))
([e169bd3](e169bd3))
* **consensus:** Debug page server port reuse
([#4273](#4273))
([77d043f](77d043f))
* **consensus:** Update consensus dependencies
([#4186](#4186))
([110a527](110a527))
* Fix security issues (bump dependencies)
([#3813](#3813))
([c6def9c](c6def9c))
* fix zkstack cli upgrade features + remove redundant CI workflow
([#3975](#3975))
([0f04134](0f04134))
* **gateway-migrator:** Properly handle unknown settlement layer
([#3961](#3961))
([b43e315](b43e315))
* make proof data handler backwards compatible
([#3767](#3767))
([bdbbaaa](bdbbaaa))
* remove zksync_contracts dep from zkstack_cli
([#4400](#4400))
([7bcf275](7bcf275))
* target_rpc address in private-rpc docker-compose
([#4062](#4062))
([b69819b](b69819b))
* **upgrades:** Read all skipped events
([#4504](#4504))
([1de5f63](1de5f63))
* **zkstack_cli:** Fix zkstack cli v28 script
([#3946](#3946))
([0a3d13f](0a3d13f))
* **zkstack:** add `--locked` to `cargo sqlx prepare`
([#3300](#3300))
([a98b1c8](a98b1c8))
* **zkstack:** Add param for setting da validation pair
([#4150](#4150))
([47e2517](47e2517))
* **zkstack:** Allow to use chain config if ecosystem is redundant
([#4236](#4236))
([066b3b1](066b3b1))
* **zkstack:** Fix prover run and shell
([#4422](#4422))
([eae38e2](eae38e2))
* **zkstack:** fixes for private rpc in zkstack cli
([#4012](#4012))
([be68210](be68210))
* **zkstack:** Generating compressor keys flow fix
([#4343](#4343))
([4cf2f67](4cf2f67))
* **zkstack:** make GW migration script compatible with pre-v29
([#4346](#4346))
([7ba2cf3](7ba2cf3))
* **zkstack:** make proving network contracts config optional
([#4263](#4263))
([3ebad3b](3ebad3b))
* **zkstack:** Migration params
([#4369](#4369))
([8597c32](8597c32))
* **zkstack:** Use `latest` for prover component by default
([#4120](#4120))
([91af29d](91af29d))


### Performance Improvements

* **db:** use copy in `insert_initial_writes`
([#3899](#3899))
([c6f1598](c6f1598))
* Instrumentation for Jemalloc (pt. 2)
([#4204](#4204))
([5e0bd65](5e0bd65))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
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