Skip to content

Draft v28 #1418

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

Open
wants to merge 164 commits into
base: release-v27
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
e6c9b8b
feat(precompiles): change ecadd, ecmul, ecpairing to use circuits
NikitaMasych Sep 11, 2024
8ea3a75
feat: added modexp
NikitaMasych Sep 11, 2024
13d181d
feat(precompiles): update system contract hashes for modexp, ecadd, e…
NikitaMasych Sep 11, 2024
e12a3b5
chore(precompiles): updated readme
NikitaMasych Sep 11, 2024
fffdcc9
Merge remote-tracking branch 'origin/main' into mmzk_0125_precompiles
mm-zk Jan 25, 2025
57bec71
unpack internal successes from YUL for EcAdd/EcMul
mm-zk Jan 27, 2025
b739834
[precompiles] fixing modexp issue (#1225)
mm-zk Jan 29, 2025
f45194d
fix: correct reverts & internal errors from ecpairing (#1236)
mm-zk Feb 5, 2025
4f651fd
Fix precompiles wrappers (#1279)
vladbochok Feb 21, 2025
97ab74c
chore: updated gas costs for precompiles (#1289)
mm-zk Feb 21, 2025
886018a
Empty input -> return true
Feb 25, 2025
2f59a30
Merge remote-tracking branch 'origin/release-v27' into feature/ec_pre…
mm-zk Mar 18, 2025
7116589
updated hashes
mm-zk Mar 18, 2025
e2f6075
Merge pull request #1347 from matter-labs/mmzk_0318_merge
mm-zk Mar 18, 2025
f7f6456
Merge remote-tracking branch 'origin/release-v27' into mmzk_remerge_v27
mm-zk Mar 19, 2025
58ab18a
lint on json file
mm-zk Mar 19, 2025
b19b3c0
Merge pull request #1351 from matter-labs/mmzk_remerge_v27
mm-zk Mar 19, 2025
9f8466b
Merge pull request #1317 from matter-labs/release-v27
0xVolosnikov Mar 19, 2025
a96a9d4
chore: updated hashes & added script (#1352)
mm-zk Mar 19, 2025
31ff7ca
feat: Optimize EVM emulator bytecode reading (#1355)
0xVolosnikov Mar 19, 2025
3ac7b90
feat: keyed nonces (#1299)
ly0va Mar 19, 2025
103880f
disable precompile tests (they depend on anvil-zksync) (#1356)
mm-zk Mar 19, 2025
82d286d
Merge remote-tracking branch 'origin/draft-v28' into mmzk_0319_updatev28
mm-zk Mar 19, 2025
3430ec9
Merge pull request #1357 from matter-labs/mmzk_0319_updatev28
mm-zk Mar 19, 2025
5b8fe04
updated contract hashes (#1358)
mm-zk Mar 19, 2025
7ec56db
Merge pull request #1353 from matter-labs/feature/ec_precompiles
mm-zk Mar 19, 2025
cc1619c
feat: Add modexp gas model in the EVM emulator (#1354)
0xVolosnikov Mar 19, 2025
21aa2b9
solidity and solc 0.8.28, zksolc 1.5.11
0xValera Mar 20, 2025
3881b9b
fixing hashes
mm-zk Mar 20, 2025
4ce8459
fix hashes + update recompute_hashes.sh
0xValera Mar 20, 2025
1534ec3
small fix
kelemeno Mar 20, 2025
e8693a4
separated Bridgehub compilation for custom optimizer settings
0xValera Mar 24, 2025
73b0e4b
fix package.json
0xValera Mar 24, 2025
ef0fbc2
fix CI and DeployL1 script to be compatible with separated bridgehub …
0xValera Mar 24, 2025
1dd4b84
Fixed optimizer-runs value, added comments for clarity
0xValera Mar 25, 2025
ffecfa7
fix hashes
0xValera Mar 25, 2025
0ed2d0e
Merge pull request #1361 from matter-labs/vg-update-solidity-version
0xValera Mar 25, 2025
f83fb17
feat: update anvil-zksync
Raid5594 Mar 27, 2025
af78f1a
fix: revert the number of optimizer runs (affects era CI)
Raid5594 Apr 2, 2025
a845629
fix: add back optimizer runs
Raid5594 Apr 2, 2025
8051e92
test: replace preprocess of bootloader with build
Raid5594 Apr 2, 2025
0219175
update ci
koloz193 Apr 2, 2025
e7ca4d0
update hh config
koloz193 Apr 2, 2025
bed4d23
Revert "update hh config"
koloz193 Apr 3, 2025
abc49a3
Revert "update ci"
koloz193 Apr 3, 2025
51391e7
update ci
koloz193 Apr 3, 2025
4acdf89
update deps
koloz193 Apr 3, 2025
f676438
install deps from lock file
koloz193 Apr 3, 2025
e18d4c3
install deps from lock file
koloz193 Apr 3, 2025
2564375
test: bump zksync-solc version
Raid5594 Apr 3, 2025
f5d9a28
update verifiers and vks
koloz193 Apr 3, 2025
f39e56b
add fflonk vk hash
koloz193 Apr 3, 2025
45c3ecc
fix: revert package.json changes
Raid5594 Apr 3, 2025
54bf058
fix: update contract hashes
Raid5594 Apr 3, 2025
92af65d
fix: hashes
Raid5594 Apr 3, 2025
eff0b43
bump hashes
koloz193 Apr 4, 2025
ef1f321
update compiler
koloz193 Apr 4, 2025
e41b58b
Revert "update compiler"
koloz193 Apr 4, 2025
60cea2e
Revert "bump hashes"
koloz193 Apr 4, 2025
539fbf7
bump hashes
koloz193 Apr 4, 2025
6f3b367
N-03: Modexp Lacks an SPDX License Identifier (#1372)
Raid5594 Apr 4, 2025
d3677d2
N-02: Missing or Misleading Documentation (#1371)
Raid5594 Apr 4, 2025
651a63b
N-01: Gas Optimization (#1369)
Raid5594 Apr 4, 2025
60ffc20
L-01: Hardcoded Modular Length Value in Return Statement (#1370)
Raid5594 Apr 4, 2025
af6652e
M-01: Return Length of ‘EcPairing’ Does Not Match the Specifications …
Raid5594 Apr 4, 2025
9ae9e86
bump hashes
Raid5594 Apr 4, 2025
f244164
bump hardhat versions
Raid5594 Apr 4, 2025
4bdf835
bump compiler version is zasm script
Raid5594 Apr 4, 2025
6e6ebcf
bump hashes
Raid5594 Apr 4, 2025
1d50eea
fix: precompile test
Raid5594 Apr 4, 2025
78d47a7
fix: fmt
Raid5594 Apr 4, 2025
83b6e6f
bump hashes
Raid5594 Apr 4, 2025
e806a5e
update: anvil-zksync with latest contracts
Raid5594 Apr 7, 2025
c94e925
fix: broken link + test system contracts on large runner
Raid5594 Apr 7, 2025
fa3f287
fmt
Raid5594 Apr 7, 2025
23529ce
test
Raid5594 Apr 7, 2025
7ed61a2
test
Raid5594 Apr 7, 2025
b146caf
test
Raid5594 Apr 7, 2025
2cda6a8
test
Raid5594 Apr 7, 2025
1f1db37
more testing
Raid5594 Apr 7, 2025
a256a57
fix: add skipped test
Raid5594 Apr 7, 2025
760283a
test
Raid5594 Apr 7, 2025
888bc90
fix: comment out bootloader test
Raid5594 Apr 7, 2025
aef398a
fix(EVM): Fix shadowing in mloadPotentiallyPaddedValue (H-01) (#1384)
0xVolosnikov Apr 7, 2025
3406fe6
fix(EVM): Add comments about limited exponent size (L-04) (#1385)
0xVolosnikov Apr 7, 2025
94abe29
fix(EVM): Fix variable naming (N-11) (#1386)
0xVolosnikov Apr 7, 2025
40f6e5e
fix(nonces): explicitly deprecate arbitrary nonce ordering (L-02) (#1…
ly0va Apr 7, 2025
c538540
fix(nonces): validate nonce value to increase by (L-03) (#1388)
ly0va Apr 7, 2025
3ec2858
fix: remove unused event (N-08) (#1390)
ly0va Apr 7, 2025
c8a4922
fix: make interfaces consistent with implementation (N-03) (#1392)
ly0va Apr 7, 2025
cb9a190
fix: explicit casting (N-10) (#1393)
ly0va Apr 7, 2025
e3e252c
fix: remove redundant returns (N-09) (#1394)
ly0va Apr 7, 2025
095e07e
fix: more consistent handling of nonce values (N-04) (#1395)
ly0va Apr 7, 2025
0f860af
fix: restrict function visibility (N-05) (#1391)
ly0va Apr 7, 2025
6d6002e
docs: update doc comments (L-01, N-02, B-06) (#1399)
ly0va Apr 7, 2025
0491ca1
test more logging in CI
Raid5594 Apr 7, 2025
5b89153
fix(EVM): Fix shifts in modexp gas calculation (C-01) (#1383)
0xVolosnikov Apr 7, 2025
b7780c1
Merge branch 'draft-v28' into v28/fixes-after-oz-audit
0xVolosnikov Apr 7, 2025
02eda41
chore: Add EVM emulator unit tests (#1404)
0xVolosnikov Apr 7, 2025
f11e7ad
Merge branch 'draft-v28' into v28/fixes-after-oz-audit
0xVolosnikov Apr 7, 2025
4ca1be0
test with high-performance runner
Raid5594 Apr 8, 2025
fc80c30
test with high-performance runner
Raid5594 Apr 8, 2025
5717665
test with telemetry
Raid5594 Apr 8, 2025
bd375a6
test with more telemetry
Raid5594 Apr 8, 2025
8f25483
test: add load monitoring
Raid5594 Apr 8, 2025
b1ba712
test runner
Raid5594 Apr 8, 2025
18f46c9
lint
Raid5594 Apr 8, 2025
d06e004
remove unnecessary monitoring
Raid5594 Apr 8, 2025
7f95832
fix: change runner
Raid5594 Apr 8, 2025
217d817
restore bootloader test
Raid5594 Apr 8, 2025
fc37efd
add logging inside test
Raid5594 Apr 8, 2025
5cb4ed6
test different runner + more console.logs
Raid5594 Apr 8, 2025
612b6e9
test
Raid5594 Apr 8, 2025
9d0605e
test increased timeouts
Raid5594 Apr 8, 2025
4e309a0
test with another runner
Raid5594 Apr 8, 2025
96329da
revert version of compiler
Raid5594 Apr 8, 2025
766f9a7
fix: add back bootloader test
Raid5594 Apr 9, 2025
f97da7a
test
Raid5594 Apr 9, 2025
4e6cb53
fix typo
Raid5594 Apr 9, 2025
bbfef5f
fix unused import
Raid5594 Apr 9, 2025
23c80c8
fix foundry build
Raid5594 Apr 9, 2025
6bbf7cb
test ci
Raid5594 Apr 9, 2025
b5ec9f8
test ci
Raid5594 Apr 9, 2025
507b597
add l1 compilation for zkout bootloader test
Raid5594 Apr 9, 2025
aade833
test updated anvil version
Raid5594 Apr 10, 2025
b636bea
test updated tah
Raid5594 Apr 10, 2025
748f4f4
remove unused tsst
Raid5594 Apr 10, 2025
346e77c
update anvil
Raid5594 Apr 14, 2025
fa7d04c
add more test
Raid5594 Apr 14, 2025
fdd595c
update ci + test
Raid5594 Apr 14, 2025
841408b
updates
Raid5594 Apr 14, 2025
dd73f05
update hashes, add back tests, cleanup modexp
Raid5594 Apr 14, 2025
50cab74
fix: test theory that pre-deployer tests messes up CI
Raid5594 Apr 14, 2025
6eb1fb2
fix(nonces): implicit casting/overflow fixes
ly0va Apr 15, 2025
537d3c1
Merge branch 'draft-v28' into v28/fixes-after-oz-audit
0xVolosnikov Apr 15, 2025
af62eb3
Update hashes
0xVolosnikov Apr 15, 2025
7b8c642
Add audit report
0xVolosnikov Apr 15, 2025
f35d33c
fix gas cost for precompiles (#1409)
Fitznik Apr 15, 2025
7278847
test: 0 nonce increments were disallowed, remove test
ly0va Apr 15, 2025
17498e9
Merge pull request #1403 from matter-labs/v28/fixes-after-oz-audit
0xVolosnikov Apr 15, 2025
128231f
feat: add anvil-zksync to contracts for local testing, update readme,…
Raid5594 Apr 15, 2025
7c344f8
fix: support more platforms for anvil
Raid5594 Apr 15, 2025
8e316d9
chore: update vks (#1414)
koloz193 Apr 16, 2025
bc98f28
sync with release-v27
StanislavBreadless Apr 25, 2025
1b7bfac
upd hashes
StanislavBreadless Apr 25, 2025
92f5de4
Merge pull request #1432 from matter-labs/sb-sync-draft-v28-with-rele…
StanislavBreadless Apr 25, 2025
68b0413
Fix default upgrade v28 (#1436)
StanislavBreadless Apr 29, 2025
14961f1
Merge pull request #1313 from matter-labs/release-v27
StanislavBreadless Apr 29, 2025
1e6bee0
Merge pull request #1440 from matter-labs/main
StanislavBreadless Apr 29, 2025
aa7103b
add test for the default upgrade with gateway
StanislavBreadless Apr 29, 2025
8eb2748
feat: update upgrade script for v28 (#1423)
koloz193 Apr 29, 2025
9bdb4cf
Merge branch 'dev' into draft-v28
Raid5594 Apr 30, 2025
a2a49ab
chore: fix hashes
Raid5594 Apr 30, 2025
ab527b9
fix: remove unused line in scripts
Raid5594 Apr 30, 2025
0d97c1a
update calldata (#1444)
Raid5594 Apr 30, 2025
05c4abe
fix script
Raid5594 Apr 30, 2025
b5e32d3
fix
Raid5594 Apr 30, 2025
55e897a
Revert "feat(consensus): Refactors ConsensusRegistry for validator co…
Raid5594 Apr 30, 2025
e9a303b
Merge branch 'ra/revert-consensus-registry-pr' into draft-v28
Raid5594 Apr 30, 2025
107cf0f
bump hashes
Raid5594 Apr 30, 2025
eb0e127
Merge pull request #1442 from matter-labs/sb-test-gateway-migration-w…
StanislavBreadless May 5, 2025
9a31d0c
function to set da validator pair (#1446)
StanislavBreadless May 6, 2025
0968b96
add fast building
kelemeno May 9, 2025
99b3bc9
Merge pull request #1464 from matter-labs/kl/fast-building
kelemeno May 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .github/workflows/l1-contracts-foundry-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,9 @@ jobs:

- name: Run DeployL1 script
working-directory: ./l1-contracts
run: forge script ./deploy-scripts/DeployL1.s.sol --ffi --rpc-url $ANVIL_RPC_URL --broadcast --private-key $ANVIL_PRIVATE_KEY
# l1-contracts are skipped because we don't want to recompile Bridgehub with a high optimizer-runs value.
# Otherwise, the Bridgehub contract size would be too large.
run: forge script ./deploy-scripts/DeployL1.s.sol --ffi --rpc-url $ANVIL_RPC_URL --broadcast --private-key $ANVIL_PRIVATE_KEY --skip '*/l1-contracts/contracts/*'

- name: Run DeployErc20 script
working-directory: ./l1-contracts
Expand Down
90 changes: 51 additions & 39 deletions .github/workflows/system-contracts-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,22 @@
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn

- name: Install Yarn
run: npm install -g yarn

- name: Build artifacts
working-directory: system-contracts
run: |
yarn install
yarn build:foundry
yarn build
yarn build:foundry

- name: Build artifacts
working-directory: l1-contracts
run: |
yarn install
yarn build:foundry

- name: Create cache
uses: actions/cache/save@v3
Expand All @@ -46,6 +54,7 @@
system-contracts/cache-zk
system-contracts/typechain
system-contracts/contracts-preprocessed
l1-contracts/zkout

lint:
runs-on: ubuntu-latest
Expand All @@ -61,43 +70,43 @@
cache: yarn

- name: Install dependencies
run: yarn

- name: Run lint
run: yarn lint:check

# FIXME: recover when used multivm is updated
# test-bootloader:
# needs: [build, lint]
# runs-on: ubuntu-latest

# steps:
# - name: Checkout the repository
# uses: actions/checkout@v4

# - name: Install rust
# uses: actions-rust-lang/setup-rust-toolchain@v1
# with:
# toolchain: nightly-2024-08-01

# - name: Restore artifacts cache
# uses: actions/cache/restore@v3
# with:
# fail-on-cache-miss: true
# key: artifacts-system-${{ github.sha }}
# path: |
# system-contracts/zkout
# system-contracts/cache-forge
# system-contracts/bootloader/build
# system-contracts/artifacts-zk
# system-contracts/cache-zk
# system-contracts/typechain
# system-contracts/contracts-preprocessed

# - name: Run bootloader tests
# run: |
# cd system-contracts/bootloader/test_infra
# cargo run
test-bootloader:
needs: [build, lint]
runs-on: ubuntu-latest

steps:
- name: Checkout the repository
uses: actions/checkout@v4

- name: Install rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2024-08-01

- name: Restore artifacts cache
uses: actions/cache/restore@v3
with:
fail-on-cache-miss: true
key: artifacts-system-${{ github.sha }}
path: |
system-contracts/zkout
system-contracts/cache-forge
system-contracts/bootloader/build
system-contracts/artifacts-zk
system-contracts/cache-zk
system-contracts/typechain
system-contracts/contracts-preprocessed
l1-contracts/zkout

- name: Run bootloader tests
run: |
cd system-contracts/bootloader/test_infra
cargo run

test-contracts:
needs: [build, lint]
Expand All @@ -113,10 +122,13 @@
node-version: 18.18.0
cache: yarn

- name: Use era-test-node for testing
uses: dutterbutter/era-test-node-action@v0.1.3
- name: Run anvil-zksync
uses: dutterbutter/anvil-zksync-action@v1.1.0
with:
releaseTag: v0.0.1-vm1.5.0
mode: run
releaseTag: aa7f1aa
protocolVersion: 28
emulateEvm: true

- name: Install dependencies
run: yarn
Expand All @@ -138,6 +150,6 @@
- name: Run tests
run: yarn sc test

- name: Print output logs of era_test_node
- name: Print output logs of anvil-zksync
if: always()
run: cat era_test_node.log
run: cat anvil_zksync.log
Loading
Loading