Skip to content

Commit 187d29a

Browse files
authored
feat: use v2 zkevm verifier during initial deployment (#28)
1 parent 05e82c6 commit 187d29a

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

docker/templates/config-contracts.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ L1_SCROLL_CHAIN_PROXY_ADDR = ""
88
L1_SCROLL_MESSENGER_PROXY_ADDR = ""
99
L1_ENFORCED_TX_GATEWAY_IMPLEMENTATION_ADDR = ""
1010
L1_ENFORCED_TX_GATEWAY_PROXY_ADDR = ""
11-
L1_ZKEVM_VERIFIER_V1_ADDR = ""
11+
L1_ZKEVM_VERIFIER_V2_ADDR = ""
1212
L1_MULTIPLE_VERSION_ROLLUP_VERIFIER_ADDR = ""
1313
L1_MESSAGE_QUEUE_IMPLEMENTATION_ADDR = ""
1414
L1_MESSAGE_QUEUE_PROXY_ADDR = ""

scripts/deterministic/Constants.sol

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,6 @@ string constant BRIDGE_HISTORY_CONFIG_PATH = "./volume/bridge-history-config.jso
3535
string constant BALANCE_CHECKER_CONFIG_PATH = "./volume/balance-checker-config.json";
3636
string constant FRONTEND_ENV_PATH = "./volume/frontend-config";
3737
string constant ROLLUP_EXPLORER_BACKEND_CONFIG_PATH = "./volume/rollup-explorer-backend-config.json";
38+
39+
// plonk verifier configs
40+
bytes32 constant V4_VERIFIER_DIGEST = 0x0a1904dbfff4614fb090b4b3864af4874f12680c32f07889e9ede8665097e5ec;

scripts/deterministic/DeployScroll.s.sol

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import {L1WETHGateway} from "../../src/L1/gateways/L1WETHGateway.sol";
2121
import {L2GasPriceOracle} from "../../src/L1/rollup/L2GasPriceOracle.sol";
2222
import {MultipleVersionRollupVerifier} from "../../src/L1/rollup/MultipleVersionRollupVerifier.sol";
2323
import {ScrollChain} from "../../src/L1/rollup/ScrollChain.sol";
24-
import {ZkEvmVerifierV1} from "../../src/libraries/verifier/ZkEvmVerifierV1.sol";
24+
import {ZkEvmVerifierV2} from "../../src/libraries/verifier/ZkEvmVerifierV2.sol";
2525
import {GasTokenExample} from "../../src/alternative-gas-token/GasTokenExample.sol";
2626
import {L1ScrollMessengerNonETH} from "../../src/alternative-gas-token/L1ScrollMessengerNonETH.sol";
2727
import {L1GasTokenGateway} from "../../src/alternative-gas-token/L1GasTokenGateway.sol";
@@ -132,7 +132,7 @@ contract DeployScroll is DeterminsticDeployment {
132132
address internal L1_WETH_GATEWAY_IMPLEMENTATION_ADDR;
133133
address internal L1_WETH_GATEWAY_PROXY_ADDR;
134134
address internal L1_WHITELIST_ADDR;
135-
address internal L1_ZKEVM_VERIFIER_V1_ADDR;
135+
address internal L1_ZKEVM_VERIFIER_V2_ADDR;
136136
address internal L2_GAS_PRICE_ORACLE_IMPLEMENTATION_ADDR;
137137
address internal L2_GAS_PRICE_ORACLE_PROXY_ADDR;
138138
address internal L1_GAS_TOKEN_ADDR;
@@ -349,7 +349,7 @@ contract DeployScroll is DeterminsticDeployment {
349349
deployL1ScrollChainProxy();
350350
deployL1ScrollMessengerProxy();
351351
deployL1EnforcedTxGateway();
352-
deployL1ZkEvmVerifierV1();
352+
deployL1ZkEvmVerifier();
353353
deployL1MultipleVersionRollupVerifier();
354354
deployL1MessageQueue();
355355
deployL1ScrollChain();
@@ -550,16 +550,18 @@ contract DeployScroll is DeterminsticDeployment {
550550
);
551551
}
552552

553-
function deployL1ZkEvmVerifierV1() private {
554-
bytes memory args = abi.encode(notnull(L1_PLONK_VERIFIER_ADDR));
555-
L1_ZKEVM_VERIFIER_V1_ADDR = deploy("L1_ZKEVM_VERIFIER_V1", type(ZkEvmVerifierV1).creationCode, args);
553+
function deployL1ZkEvmVerifier() private {
554+
bytes memory args = abi.encode(notnull(L1_PLONK_VERIFIER_ADDR), V4_VERIFIER_DIGEST);
555+
L1_ZKEVM_VERIFIER_V2_ADDR = deploy("L1_ZKEVM_VERIFIER_V2", type(ZkEvmVerifierV2).creationCode, args);
556556
}
557557

558558
function deployL1MultipleVersionRollupVerifier() private {
559559
uint256[] memory _versions = new uint256[](1);
560560
address[] memory _verifiers = new address[](1);
561-
_versions[0] = 1;
562-
_verifiers[0] = notnull(L1_ZKEVM_VERIFIER_V1_ADDR);
561+
562+
// register V4 verifier: DarwinV2 upgrade, plonk verifier v0.13.1
563+
_versions[0] = 4;
564+
_verifiers[0] = notnull(L1_ZKEVM_VERIFIER_V2_ADDR);
563565

564566
bytes memory args = abi.encode(DEPLOYER_ADDR, _versions, _verifiers);
565567

0 commit comments

Comments
 (0)