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: Handle new yul compilation flow #3038

Merged
merged 22 commits into from
Oct 10, 2024

Conversation

0xVolosnikov
Copy link
Contributor

@0xVolosnikov 0xVolosnikov commented Oct 8, 2024

What ❔

New versions of zksolc have several breaking changes. The following changes require updates to the zksync-era:

  1. New output path for yul and zasm contracts (<name>.yul/<name>.yul.zbin instead of <name>.yul.zbin)
  2. .zbin files now contain utf8 encoded bytecode instead of binary

This pull request adds support for these changes while maintaining backwards compatibility.

Why ❔

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_supervisor fmt and zk_supervisor lint.

@0xVolosnikov 0xVolosnikov changed the title feat: Handle new yul compilation output path feat: Handle new yul compilation flow Oct 8, 2024
@0xVolosnikov 0xVolosnikov marked this pull request as ready for review October 8, 2024 19:17
core/lib/multivm/src/versions/vm_1_3_2/utils.rs Outdated Show resolved Hide resolved
core/lib/contracts/src/lib.rs Outdated Show resolved Hide resolved
core/lib/contracts/src/lib.rs Outdated Show resolved Hide resolved
core/lib/contracts/src/lib.rs Outdated Show resolved Hide resolved
core/lib/utils/src/convert.rs Outdated Show resolved Hide resolved
core/lib/contracts/src/lib.rs Outdated Show resolved Hide resolved
core/lib/contracts/src/lib.rs Outdated Show resolved Hide resolved
core/lib/contracts/src/lib.rs Show resolved Hide resolved
Copy link
Contributor

github-actions bot commented Oct 9, 2024

No performance difference detected (anymore)

@0xVolosnikov 0xVolosnikov added this pull request to the merge queue Oct 10, 2024
github-merge-queue bot pushed a commit that referenced this pull request Oct 10, 2024
## What ❔

New versions of `zksolc` have several breaking changes. The following
changes require updates to the zksync-era:
1. New output path for yul and zasm contracts
(`<name>.yul/<name>.yul.zbin` instead of `<name>.yul.zbin`)
2. `.zbin` files now contain utf8 encoded bytecode instead of binary

This pull request adds support for these changes while maintaining
backwards compatibility.

<!-- What are the changes this PR brings about? -->
<!-- Example: This PR adds a PR template to the repo. -->
<!-- (For bigger PRs adding more context is appreciated) -->

## Why ❔

<!-- Why are these changes done? What goal do they contribute to? What
are the principles behind them? -->
<!-- Example: PR templates ensure PR reviewers, observers, and future
iterators are in context about the evolution of repos. -->

## 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 `zk_supervisor fmt` and `zk_supervisor
lint`.
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Oct 10, 2024
@0xVolosnikov 0xVolosnikov added this pull request to the merge queue Oct 10, 2024
Merged via the queue into main with commit 4035361 Oct 10, 2024
32 checks passed
@0xVolosnikov 0xVolosnikov deleted the vv-handle-new-yul-compilation-flow branch October 10, 2024 13:39
github-merge-queue bot pushed a commit that referenced this pull request Oct 15, 2024
🤖 I have created a release *beep* *boop*
---


##
[24.29.0](core-v24.28.0...core-v24.29.0)
(2024-10-14)


### Features

* Add initial version prover_autoscaler
([#2993](#2993))
([ebf9604](ebf9604))
* add metric to track current cbt ratio
([#3020](#3020))
([3fd2fb1](3fd2fb1))
* **configs:** Add port parameter to ConsensusConfig
([#2986](#2986))
([25112df](25112df))
* **configs:** Add port parameter to ConsensusConfig
([#3051](#3051))
([038c397](038c397))
* **consensus:** smooth transition to p2p syncing (BFT-515)
([#3075](#3075))
([5d339b4](5d339b4))
* **consensus:** Support for syncing blocks before consensus genesis
over p2p network
([#3040](#3040))
([d3edc3d](d3edc3d))
* **en:** periodically fetch bridge addresses
([#2949](#2949))
([e984bfb](e984bfb))
* **eth-sender:** add time_in_mempool_cap config
([#3018](#3018))
([f6d86bd](f6d86bd))
* **eth-watch:** catch another reth error
([#3026](#3026))
([4640c42](4640c42))
* Handle new yul compilation flow
([#3038](#3038))
([4035361](4035361))
* **state-keeper:** pre-insert unsealed L1 batches
([#2846](#2846))
([e5b5a3b](e5b5a3b))
* **vm:** EVM emulator support – base
([#2979](#2979))
([deafa46](deafa46))
* **zk_toolbox:** added support for setting attester committee defined
in a separate file
([#2992](#2992))
([6105514](6105514))
* **zk_toolbox:** Redesign zk_toolbox commands
([#3003](#3003))
([114834f](114834f))
* **zktoolbox:** added checking the contract owner in
set-attester-committee command
([#3061](#3061))
([9b0a606](9b0a606))


### Bug Fixes

* **api:** Accept integer block count in `eth_feeHistory`
([#3077](#3077))
([4d527d4](4d527d4))
* **api:** Adapt `eth_getCode` to EVM emulator
([#3073](#3073))
([15fe5a6](15fe5a6))
* bincode deserialization for VM run data
([#3044](#3044))
([b0ec79f](b0ec79f))
* bincode deserialize for WitnessInputData
([#3055](#3055))
([91d0595](91d0595))
* **external-node:** make fetcher rely on unsealed batches
([#3088](#3088))
([bb5d147](bb5d147))
* **state-keeper:** ensure unsealed batch is present during IO init
([#3071](#3071))
([bdeb411](bdeb411))
* **vm:** Check protocol version for fast VM
([#3080](#3080))
([a089f3f](a089f3f))
* **vm:** Prepare new VM for use in API server and fix divergences
([#2994](#2994))
([741b77e](741b77e))


### Reverts

* **configs:** Add port parameter to ConsensusConfig
([#2986](#2986))
([#3046](#3046))
([abe35bf](abe35bf))

---
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>
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.

2 participants