feat(zkstack): ensure priority queue is empty before migrating to gateway - #4539
Merged
Conversation
kelemeno
reviewed
Oct 15, 2025
kelemeno
reviewed
Oct 15, 2025
zkzoomer
marked this pull request as ready for review
October 15, 2025 11:56
Deniallugo
reviewed
Oct 16, 2025
zkzoomer
force-pushed
the
sma/empty-pq-before-migrate
branch
2 times, most recently
from
October 20, 2025 12:14
4497544 to
742f907
Compare
zkzoomer
force-pushed
the
sma/empty-pq-before-migrate
branch
from
October 20, 2025 14:20
742f907 to
d47ae2c
Compare
Deniallugo
approved these changes
Oct 22, 2025
zkzoomer
enabled auto-merge
October 22, 2025 10:18
zkzoomer
added this pull request to the merge queue
Oct 22, 2025
This was referenced Oct 21, 2025
github-merge-queue Bot
pushed a commit
that referenced
this pull request
Nov 17, 2025
🤖 I have created a release *beep* *boop* --- ## [29.6.0](core-v29.5.0...core-v29.6.0) (2025-11-17) ### Features * **api:** add EIP-7966 eth_sendRawTransactionSync method ([#4565](#4565)) ([7c4c428](7c4c428)) * bumping versions ([#4555](#4555)) ([1cd803d](1cd803d)) * **eth_sender:** Set fusaka upgrade timestamp ([#4571](#4571)) ([3b5a9df](3b5a9df)) * Improve proving networks setup ([#4563](#4563)) ([42c3f0f](42c3f0f)) * **zkstack:** ensure priority queue is empty before migrating to gateway ([#4539](#4539)) ([a5e1133](a5e1133)) --- 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 <zksync-era-bot@users.noreply.github.com>
Deniallugo
pushed a commit
that referenced
this pull request
Dec 17, 2025
🤖 I have created a release *beep* *boop* --- ## [29.6.0](core-v29.5.0...core-v29.6.0) (2025-11-17) ### Features * **api:** add EIP-7966 eth_sendRawTransactionSync method ([#4565](#4565)) ([7c4c428](7c4c428)) * bumping versions ([#4555](#4555)) ([1cd803d](1cd803d)) * **eth_sender:** Set fusaka upgrade timestamp ([#4571](#4571)) ([3b5a9df](3b5a9df)) * Improve proving networks setup ([#4563](#4563)) ([42c3f0f](42c3f0f)) * **zkstack:** ensure priority queue is empty before migrating to gateway ([#4539](#4539)) ([a5e1133](a5e1133)) --- 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 <zksync-era-bot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 ❔
As part of v30, when a chain migrates to GW it must have empty priority queue. However, our current chain creation process entails spawning priority transactions when the chain is created. This PR introduces a series of changes:
--skip-priority-txstochain initto spawn a chain without creating these priority txs immediately.migrate-to-gatewaycommand, skipping theset_da_validator_pair_via_gatewaycall if the priority txs were skipped. Note that this step is not skipped when a chain migrates back to gateway, as the contract must have already been deployed.finalize-chain-migration-to-gateway, which sends the skipped priority txs and later callsset_da_validator_pair_via_gateway.Why ❔
Is this a breaking change?
Operational changes
Checklist
zkstack dev fmtandzkstack dev lint.