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: boojum integration #235

Merged
merged 35 commits into from
Dec 15, 2023
Merged
Show file tree
Hide file tree
Changes from 25 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
3be16a4
Integrate boojum
AntonD3 Oct 1, 2023
ef77a9b
Account impersonating using bootloader
AntonD3 Oct 1, 2023
ebe7601
eth_sendTransaction + some fixes
AntonD3 Oct 1, 2023
149fcc5
Bootloader impersonating fixes
AntonD3 Oct 2, 2023
06926ee
Update compile-yul script
AntonD3 Oct 2, 2023
9333993
fix typo, cargo fmt
AntonD3 Oct 2, 2023
4425524
Pin commit for the zksync-era dependency
AntonD3 Oct 3, 2023
8e1ef9e
fix: support EIP-1559 fields for eth_sendTransaction (#192)
AntonD3 Oct 19, 2023
b929315
feat: boojum integration sync with main (#200)
AntonD3 Oct 25, 2023
1d1effa
fix: boojum integration nightly rust (#177)
AntonD3 Oct 26, 2023
4ace3d3
Merge main
AntonD3 Dec 4, 2023
f6e5f81
latest vm
AntonD3 Dec 4, 2023
47c7e94
Merge branch 'main' into boojum-integration-merge-main
AntonD3 Dec 4, 2023
412b814
Small refactoring
AntonD3 Dec 6, 2023
478878c
System contracts 18.4.0
AntonD3 Dec 6, 2023
43f551f
EcAdd, EcMul, rebuild system contracts
AntonD3 Dec 6, 2023
f474392
Small change in system-contracts/VERSION.md
AntonD3 Dec 6, 2023
6255d2b
Update zksync-era dependency
AntonD3 Dec 6, 2023
c2bbc89
Fix test
AntonD3 Dec 6, 2023
514f9eb
Prepare to merge into main
AntonD3 Dec 6, 2023
99172ab
Fix e2e tests
AntonD3 Dec 6, 2023
f058252
Restore zksync-era version
AntonD3 Dec 6, 2023
9e7c5cb
Sync system-contracts/bootloader directory
AntonD3 Dec 6, 2023
0b694dc
Impersonating bootloader small fix
AntonD3 Dec 6, 2023
885fb8b
system-contracts/VERSION.md formatting
AntonD3 Dec 7, 2023
41fbec2
Merge branch 'main' into boojum-integration-merge-main
MexicanAce Dec 13, 2023
ce36059
Update DefaultAccount.json bytecode to match source
MexicanAce Dec 13, 2023
5d16bff
Update VERSION.md comments and add supported versions missing
MexicanAce Dec 13, 2023
952f4e4
fix lint
MexicanAce Dec 13, 2023
2783423
Fix BuiltInNoSecurity option. Fix unit tests. Fix e2e tests. Add test…
MexicanAce Dec 13, 2023
8bdde6a
Refresh bytecode of all contracts from source
MexicanAce Dec 13, 2023
663f228
fix lint
MexicanAce Dec 13, 2023
79f2e22
fix lint
MexicanAce Dec 13, 2023
d323f40
Merge branch 'main' into boojum-integration-merge-main
MexicanAce Dec 13, 2023
084bfbe
Merge branch 'main' into boojum-integration-merge-main
MexicanAce Dec 15, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v3

- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ jobs:
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: nightly-2023-07-21

- name: Install cargo-nextest
run: cargo install cargo-nextest

- name: Run tests
run: cargo nextest run

Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Build the system contracts
build-contracts:
cd etc/system-contracts && yarn; yarn install; yarn build; yarn preprocess; yarn build-bootloader
cd etc/system-contracts && yarn; yarn install; yarn build
./scripts/refresh_contracts.sh

# Clean the system contracts
Expand All @@ -10,7 +10,7 @@ clean-contracts:

# Rebuild the system contracts
rebuild-contracts:
cd etc/system-contracts && yarn build; yarn preprocess; yarn build-bootloader
cd etc/system-contracts && yarn build
./scripts/refresh_contracts.sh
./scripts/refresh_test_contracts.sh

Expand Down
2 changes: 1 addition & 1 deletion e2e-tests/test/zks-apis.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ describe("zks_estimateFee", function () {
const response: Fee = await provider.send("zks_estimateFee", [transaction]);

// Assert
expect(ethers.BigNumber.from(response.gas_limit)).to.eql(ethers.BigNumber.from("1230957"), "Unexpected gas_limit");
expect(ethers.BigNumber.from(response.gas_limit)).to.eql(ethers.BigNumber.from("732250"), "Unexpected gas_limit");
expect(ethers.BigNumber.from(response.gas_per_pubdata_limit)).to.eql(
ethers.BigNumber.from("4080"),
"Unexpected gas_per_pubdata_limit"
Expand Down
2 changes: 1 addition & 1 deletion etc/system-contracts/SystemConfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"L1_TX_INTRINSIC_L2_GAS": 167157,
"L1_TX_INTRINSIC_PUBDATA": 88,
"MAX_GAS_PER_TRANSACTION": 80000000,
"BOOTLOADER_MEMORY_FOR_TXS": 485225,
"BOOTLOADER_MEMORY_FOR_TXS": 8740224,
"REFUND_GAS": 7343,
"KECCAK_ROUND_COST_GAS": 40,
"SHA256_ROUND_COST_GAS": 7,
Expand Down
19 changes: 19 additions & 0 deletions etc/system-contracts/VERSION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
This directory was copied from https://github.com/matter-labs/era-system-contracts.

The current commit: `a00ab9a11643f3a918ed95cdf8a04edff5499d92`.

The following directories/files were copied:
- [bootloader](bootloader)
- [contracts](contracts)
- [scripts](scripts)
- [hardhat.config.ts](hardhat.config.ts)
- [package.json](package.json)
- [SystemConfig.json](SystemConfig.json)
- [yarn.lock](yarn.lock)

The next changes were introduced:
- [bootloader.yul](bootloader%2Fbootloader.yul)
- Debug data, marked as `DEBUG SUPPORT` blocks.
- Impersonating preprocessing mode, blocks `<!-- @ifdef ACCOUNT_IMPERSONATING -->` and at some places added `<!-- @ifndef ACCOUNT_IMPERSONATING -->` condition.
- [process.ts](scripts%2Fprocess.ts)
- Impersonating preprocessing mode, "For impersonating" blocks.
1,383 changes: 857 additions & 526 deletions etc/system-contracts/bootloader/bootloader.yul

Large diffs are not rendered by default.

Loading
Loading