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

1.5.0 integration on top of the kl-factory #251

Merged
merged 120 commits into from
Mar 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
32a64ad
wip
StanislavBreadless Jan 22, 2024
b812198
wip
StanislavBreadless Jan 23, 2024
902e63c
wip
StanislavBreadless Jan 23, 2024
3293947
finalize pubdata counter integration
StanislavBreadless Jan 24, 2024
732b18c
fmt
StanislavBreadless Jan 25, 2024
d3dd042
added sekp256r1
StanislavBreadless Feb 12, 2024
d00e3d6
fix typo
StanislavBreadless Feb 13, 2024
2e31b5d
use safemul where needed
StanislavBreadless Feb 19, 2024
480d3f4
Merge branch 'main' into sb-1-5-0-integration
StanislavBreadless Feb 20, 2024
dab2359
wip new compiler
StanislavBreadless Feb 20, 2024
ed2f670
update hardhat
StanislavBreadless Feb 20, 2024
25e5a52
remove unsupported opcode
StanislavBreadless Feb 20, 2024
4b69ae7
fmt
StanislavBreadless Feb 20, 2024
b170c8c
metadata param for evm simulator
StanislavBreadless Feb 21, 2024
caf5756
fmt
StanislavBreadless Feb 21, 2024
3122975
some refactor
StanislavBreadless Feb 21, 2024
fab0cf4
fix build
StanislavBreadless Feb 21, 2024
e45b51a
make script work
StanislavBreadless Feb 21, 2024
0b6c429
remove unneeded keccak upgrade
StanislavBreadless Feb 21, 2024
58e7e84
fmt
StanislavBreadless Feb 21, 2024
62b8027
add code oracle
StanislavBreadless Feb 23, 2024
3e39221
default account as the default evm simulator code hash
StanislavBreadless Feb 27, 2024
bb1f32a
reentrancy protection for .send/.transfer
StanislavBreadless Feb 27, 2024
bde3dbc
Update system-contracts/contracts/libraries/SystemContractHelper.sol
StanislavBreadless Feb 27, 2024
5272e98
small precompile refactor
StanislavBreadless Feb 27, 2024
7c523cd
fmt + fix constant
StanislavBreadless Feb 27, 2024
2a86e55
use better constants
StanislavBreadless Feb 27, 2024
03fc2bb
use remote compiler
StanislavBreadless Feb 27, 2024
602650d
fmt
StanislavBreadless Feb 28, 2024
4f1edcf
use remote compiler
StanislavBreadless Feb 28, 2024
0501687
remove unneeded constant
StanislavBreadless Feb 28, 2024
02e13c9
fmt
StanislavBreadless Feb 28, 2024
ced1b16
test infra with latest vm compiles
StanislavBreadless Feb 28, 2024
bc566bb
start porting tests for sekp256r1
StanislavBreadless Feb 29, 2024
487240c
fmt
StanislavBreadless Feb 29, 2024
47b80f7
tests for sekp256r1
StanislavBreadless Feb 29, 2024
17f849b
remove unneeded console log
StanislavBreadless Feb 29, 2024
2809826
code oracle unit tests
StanislavBreadless Feb 29, 2024
f990539
Update system-contracts/scripts/constants.ts
StanislavBreadless Feb 29, 2024
47b9a2b
msg value simulator test
StanislavBreadless Feb 29, 2024
979af4e
Merge remote-tracking branch 'origin/sb-1-5-0-integration' into sb-1-…
StanislavBreadless Feb 29, 2024
e2819ac
fmt
StanislavBreadless Feb 29, 2024
67beff1
gas bound caller
StanislavBreadless Mar 2, 2024
1490441
Update system-contracts/contracts/precompiles/Sekp256r1.yul
StanislavBreadless Mar 2, 2024
f74cdc5
Update system-contracts/contracts/precompiles/Sekp256r1.yul
StanislavBreadless Mar 2, 2024
d46f832
Update system-contracts/contracts/precompiles/Sekp256r1.yul
StanislavBreadless Mar 2, 2024
714c50e
some nits and fixes
StanislavBreadless Mar 2, 2024
443d902
sync with upstream
StanislavBreadless Mar 2, 2024
1fc1083
rename to p256 verify
StanislavBreadless Mar 4, 2024
cbf09b2
fmt
StanislavBreadless Mar 4, 2024
492d038
merge with main
StanislavBreadless Mar 4, 2024
0cf761c
allow for large max gas per pubdata
StanislavBreadless Mar 4, 2024
8a42d30
rename test
StanislavBreadless Mar 5, 2024
af1dba5
Merge remote-tracking branch 'origin/sb-1-5-0-integration' into sb-1-…
StanislavBreadless Mar 5, 2024
be1fda8
set gas per pubdata byte
StanislavBreadless Mar 5, 2024
ca4b074
Merge remote-tracking branch 'origin/sb-1-5-0-integration' into sb-1-…
StanislavBreadless Mar 5, 2024
b2738cc
most of the tests pass
StanislavBreadless Mar 5, 2024
8218cf9
tests for gas bound caller
StanislavBreadless Mar 5, 2024
19cd75e
add a few more tests
StanislavBreadless Mar 5, 2024
005afec
charge some minimal compute for pubdata
StanislavBreadless Mar 5, 2024
d16f2a9
no need for gas bound caller to have special permissions
StanislavBreadless Mar 5, 2024
6286a7d
fix compile
StanislavBreadless Mar 6, 2024
b9e14ce
fmt
StanislavBreadless Mar 6, 2024
a6bfc3e
Fix ExtraAbiCaller test contract (#246)
AntonD3 Mar 6, 2024
d7cd441
Update system-contracts/contracts/GasBoundCaller.sol
StanislavBreadless Mar 6, 2024
0022ca8
Merge branch 'dev' into sb-1-5-0-integration
StanislavBreadless Mar 6, 2024
f28e33d
add comment
StanislavBreadless Mar 6, 2024
6708ec5
max bytecode size
StanislavBreadless Mar 6, 2024
7bc2b69
fix lint
StanislavBreadless Mar 6, 2024
a5c0654
revert txs that spend too much pubdata
StanislavBreadless Mar 6, 2024
535189e
use newer compiler
StanislavBreadless Mar 6, 2024
0ddce33
dynamic compiler based on platform
StanislavBreadless Mar 6, 2024
22103a5
use local solc
StanislavBreadless Mar 6, 2024
3efc14b
fix lint
StanislavBreadless Mar 6, 2024
5ecc8cd
remove checks for max bytecode size (zk evm now supports any size)
StanislavBreadless Mar 6, 2024
5e4db97
fix l1 tests
StanislavBreadless Mar 6, 2024
185ed86
Use CompilerDownloader to get solc path (#249)
AntonD3 Mar 6, 2024
467e93d
update constant
StanislavBreadless Mar 6, 2024
05f4039
Merge remote-tracking branch 'origin/sb-1-5-0-integration' into sb-1-…
StanislavBreadless Mar 6, 2024
7ce6690
use newest zksync era
StanislavBreadless Mar 6, 2024
5ab182b
fix bootloader tests
StanislavBreadless Mar 6, 2024
f84773d
fix some tests
StanislavBreadless Mar 6, 2024
3a18906
lint fix
StanislavBreadless Mar 6, 2024
40bc68b
encode 16 blobs
StanislavBreadless Mar 6, 2024
80070a6
fix comment
StanislavBreadless Mar 6, 2024
ff1239a
use new compiler
StanislavBreadless Mar 6, 2024
877eeb2
use new test node
StanislavBreadless Mar 6, 2024
b0a0021
fix lint
StanislavBreadless Mar 6, 2024
df522df
fix some tests
StanislavBreadless Mar 6, 2024
357893c
sync with dev
StanislavBreadless Mar 7, 2024
2cea1fb
fmt
StanislavBreadless Mar 7, 2024
9ccfc91
remove commented out code
StanislavBreadless Mar 7, 2024
8103e5a
update test bootloader
StanislavBreadless Mar 7, 2024
18409ea
fix foundry
StanislavBreadless Mar 7, 2024
e782fb5
Merge branch 'dev' into sb-1-5-0-integration-kl-factory
StanislavBreadless Mar 7, 2024
9a9b655
upd hashes
StanislavBreadless Mar 7, 2024
f733b36
remove commented out code
StanislavBreadless Mar 7, 2024
8bc62a3
Merge branch 'dev' into sb-1-5-0-integration-kl-factory
vladbochok Mar 7, 2024
1b042a4
Fix CI
vladbochok Mar 7, 2024
2bd723d
Merge branch 'dev' into sb-1-5-0-integration-kl-factory
StanislavBreadless Mar 7, 2024
00fb39f
Fix validiums and hyperchains (#256)
vladbochok Mar 8, 2024
524ab21
Fix typos
dnkolegov Mar 11, 2024
27300e3
remode auto-generated code
dnkolegov Mar 11, 2024
8628c50
more typos and codespell action
dnkolegov Mar 11, 2024
59683ca
fix flow
dnkolegov Mar 11, 2024
f64c2b6
Fix contract hashes
vladbochok Mar 11, 2024
d5c5d7a
Merge pull request #260 from matter-labs/denis/fix_misprints
dnkolegov Mar 12, 2024
b7bb28e
Add support for 6 blobs (#281)
koloz193 Mar 24, 2024
45aaa98
sync with dev
StanislavBreadless Mar 24, 2024
db490fc
sync with dev
StanislavBreadless Mar 24, 2024
61c1a06
upd test config
StanislavBreadless Mar 24, 2024
d4dcb8b
fix lint
StanislavBreadless Mar 24, 2024
aebcd2d
fix sc build + typos
StanislavBreadless Mar 24, 2024
1dc5282
fix msg value simulator
StanislavBreadless Mar 24, 2024
b6d89d0
fix hashes
StanislavBreadless Mar 24, 2024
d1dc85a
Kl individual chain upgrades (#282)
kelemeno Mar 25, 2024
f363c9e
eth call pays for pubdata
StanislavBreadless Mar 25, 2024
79df3ee
address comments
StanislavBreadless Mar 25, 2024
ddea9e9
Merge branch 'sb-1-5-0-integration' into sb-1-5-0-integration-kl-factory
StanislavBreadless Mar 26, 2024
201957f
upd playground bootloader hash
StanislavBreadless Mar 26, 2024
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/system-contracts-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ jobs:
- name: Use era-test-node for testing
uses: dutterbutter/[email protected]
with:
releaseTag: v0.0.1-vm1.4.1
releaseTag: v0.0.1-vm1.5.0

- name: Install dependencies
run: yarn
Expand Down
7 changes: 7 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ tools/data
l1-contracts/lib
system-contracts/contracts/openzeppelin
system-contracts/contracts/Constants.sol
system-contracts/artifacts-zk
system-contracts/cache-zk
system-contracts/contracts-preprocessed
l1-contracts/cache
l1-contracts/cache-forge
l1-contracts/artifacts
l1-contracts/artifacts-forge
1 change: 1 addition & 0 deletions .solhintignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ node_modules

# l1-contracts
l1-contracts/cache
l1-contracts/cache-forge
l1-contracts/lib
l1-contracts/node_modules

Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/bridge/L1ERC20Bridge.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
Expand All @@ -20,7 +20,7 @@
using SafeERC20 for IERC20;

/// @dev The shared bridge that is now used for all bridging, replacing the legacy contract.
IL1SharedBridge public immutable override sharedBridge;

Check warning on line 23 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 23 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 23 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

/// @dev A mapping L2 batch number => message number => flag.
/// @dev Used to indicate that L2 -> L1 message was already processed for zkSync Era withdrawals.
Expand Down Expand Up @@ -61,9 +61,9 @@

/// @dev transfer token to shared bridge as part of upgrade
function transferTokenToSharedBridge(address _token, uint256 _amount) external {
require(msg.sender == address(sharedBridge), "Not shared bridge");

Check warning on line 64 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 64 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 64 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements
uint256 amount = IERC20(_token).balanceOf(address(this));
require(amount == _amount, "Incorrect amount");

Check warning on line 66 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 66 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 66 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements
IERC20(_token).safeTransfer(address(sharedBridge), amount);
}

Expand Down Expand Up @@ -145,9 +145,9 @@
uint256 _l2TxGasPerPubdataByte,
address _refundRecipient
) public payable nonReentrant returns (bytes32 l2TxHash) {
require(_amount != 0, "0T"); // empty deposit

Check warning on line 148 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 148 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 148 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements
uint256 amount = _depositFundsToSharedBridge(msg.sender, IERC20(_l1Token), _amount);
require(amount == _amount, "3T"); // The token has non-standard transfer logic

Check warning on line 150 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 150 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 150 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

l2TxHash = sharedBridge.depositLegacyErc20Bridge{value: msg.value}({
_msgSender: msg.sender,
Expand Down Expand Up @@ -191,7 +191,7 @@
bytes32[] calldata _merkleProof
) external nonReentrant {
uint256 amount = depositAmount[_depositSender][_l1Token][_l2TxHash];
require(amount != 0, "2T"); // empty deposit

Check warning on line 194 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 194 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 194 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements
delete depositAmount[_depositSender][_l1Token][_l2TxHash];

sharedBridge.claimFailedDepositLegacyErc20Bridge({
Expand Down Expand Up @@ -220,7 +220,7 @@
bytes calldata _message,
bytes32[] calldata _merkleProof
) external nonReentrant {
require(!isWithdrawalFinalized[_l2BatchNumber][_l2MessageIndex], "pw");

Check warning on line 223 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 223 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements

Check warning on line 223 in l1-contracts/contracts/bridge/L1ERC20Bridge.sol

View workflow job for this annotation

GitHub Actions / lint

Use Custom Errors instead of require statements
// We don't need to set finalizeWithdrawal here, as we set it in the shared bridge

(address l1Receiver, address l1Token, uint256 amount) = sharedBridge.finalizeWithdrawalLegacyErc20Bridge({
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/bridge/L1SharedBridge.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";
Expand Down Expand Up @@ -31,13 +31,13 @@
using SafeERC20 for IERC20;

/// @dev The address of the WETH token on L1.
address public immutable override l1WethAddress;

Check warning on line 34 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 34 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 34 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

/// @dev Bridgehub smart contract that is used to operate with L2 via asynchronous L2 <-> L1 communication.
IBridgehub public immutable override bridgehub;

Check warning on line 37 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 37 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 37 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

/// @dev Legacy bridge smart contract that used to hold ERC20 tokens.
IL1ERC20Bridge public immutable override legacyBridge;

Check warning on line 40 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 40 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

Check warning on line 40 in l1-contracts/contracts/bridge/L1SharedBridge.sol

View workflow job for this annotation

GitHub Actions / lint

Immutable variables name are set to be in capitalized SNAKE_CASE

/// @dev Era's chainID
uint256 immutable eraChainId;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {IL1SharedBridge} from "./IL1SharedBridge.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {L2TransactionRequestTwoBridgesInner} from "../../bridgehub/IBridgehub.sol";
import {IBridgehub} from "../../bridgehub/IBridgehub.sol";
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/bridge/interfaces/IL2Bridge.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @author Matter Labs
interface IL2Bridge {
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/bridge/interfaces/IWETH9.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.20;
pragma solidity 0.8.24;

interface IWETH9 {
function deposit() external payable;
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/bridgehub/Bridgehub.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Ownable2Step} from "@openzeppelin/contracts/access/Ownable2Step.sol";

Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/bridgehub/IBridgehub.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {IL1SharedBridge} from "../bridge/interfaces/IL1SharedBridge.sol";
import {L2Message, L2Log, TxStatus} from "../common/Messaging.sol";
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/common/Config.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @dev `keccak256("")`
bytes32 constant EMPTY_STRING_KECCAK = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/common/Dependencies.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/* solhint-disable-next-line no-unused-import */
import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/common/L2ContractAddresses.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @dev The formal address of the initial program of the system: the bootloader
address constant L2_BOOTLOADER_ADDRESS = address(0x8001);
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/common/Messaging.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @dev The enum that represents the transaction execution status
/// @param Failure The transaction execution failed
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/common/ReentrancyGuard.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/**
* @custom:security-contact [email protected]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/**
* @author Matter Labs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/**
* @author Matter Labs
Expand Down Expand Up @@ -40,13 +40,13 @@ library L2ContractHelper {
uint8 version = uint8(_bytecodeHash[0]);
require(version == 1 && _bytecodeHash[1] == bytes1(0), "zf"); // Incorrectly formatted bytecodeHash

require(_bytecodeLen(_bytecodeHash) % 2 == 1, "uy"); // Code length in words must be odd
require(bytecodeLen(_bytecodeHash) % 2 == 1, "uy"); // Code length in words must be odd
}

/// @notice Returns the length of the bytecode associated with the given hash.
/// @param _bytecodeHash The hash of the bytecode.
/// @return codeLengthInWords The length of the bytecode in words.
function _bytecodeLen(bytes32 _bytecodeHash) private pure returns (uint256 codeLengthInWords) {
function bytecodeLen(bytes32 _bytecodeHash) internal pure returns (uint256 codeLengthInWords) {
codeLengthInWords = uint256(uint8(_bytecodeHash[2])) * 256 + uint256(uint8(_bytecodeHash[3]));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/**
* @author Matter Labs
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/common/libraries/UnsafeBytes.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/**
* @author Matter Labs
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract ConstructorForwarder {
// add this to be excluded from coverage report
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/EventOnFallback.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract EventOnFallback {
// add this to be excluded from coverage report
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {TestnetERC20Token} from "./TestnetERC20Token.sol";

Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/Forwarder.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract Forwarder {
// add this to be excluded from coverage report
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/Multicall.sol
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ copies or substantial portions of the Software.

*/

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @title Multicall - Aggregate results from multiple read-only function calls
contract Multicall {
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/Multicall3.sol
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @title Multicall3
/// @notice Aggregate results from multiple function calls
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/ReturnSomething.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract ReturnSomething {
// add this to be excluded from coverage report
Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/RevertFallback.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract RevertFallback {
// add this to be excluded from coverage report
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

/// @title RevertReceiveAccount - An account which reverts receiving funds depending on the flag
/// @dev Used for testing failed withdrawals from the zkSync smart contract
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {TestnetERC20Token} from "./TestnetERC20Token.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pragma solidity 0.8.20;
pragma solidity 0.8.24;

/**
* @title Singleton Factory (EIP-2470)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";

Expand Down
2 changes: 1 addition & 1 deletion l1-contracts/contracts/dev-contracts/WETH9.sol
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: Apache-2.0

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract WETH9 {
// add this to be excluded from coverage report
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

interface ITestnetERC20Token {
function mint(address _to, uint256 _amount) external returns (bool);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {AddressAliasHelper} from "../../vendor/AddressAliasHelper.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {AdminFacet} from "../../state-transition/chain-deps/facets/Admin.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Diamond} from "../../state-transition/libraries/Diamond.sol";
import {BaseZkSyncUpgrade, ProposedUpgrade} from "../../upgrades/BaseZkSyncUpgrade.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Diamond} from "../../state-transition/libraries/Diamond.sol";
import {GettersFacet} from "../../state-transition/chain-deps/facets/Getters.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Diamond} from "../../state-transition/libraries/Diamond.sol";
import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Diamond} from "../../state-transition/libraries/Diamond.sol";
import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {Diamond} from "../../state-transition/libraries/Diamond.sol";
import {ZkSyncStateTransitionBase} from "../../state-transition/chain-deps/facets/ZkSyncStateTransitionBase.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract DummyERC20BytesTransferReturnValue {
// add this to be excluded from coverage report
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract DummyERC20NoTransferReturnValue {
// add this to be excluded from coverage report
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

contract DummyEraBaseTokenBridge {
// add this to be excluded from coverage report
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {IExecutor} from "../../state-transition/chain-interfaces/IExecutor.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {MailboxFacet} from "../../state-transition/chain-deps/facets/Mailbox.sol";
import {FeeParams, PubdataPricingMode} from "../../state-transition/chain-deps/ZkSyncStateTransitionStorage.sol";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: MIT

pragma solidity 0.8.20;
pragma solidity 0.8.24;

import {StateTransitionManager} from "../../state-transition/StateTransitionManager.sol";

Expand Down
Loading
Loading