Skip to content

Commit

Permalink
feat: support deploy plonk verifier (#56)
Browse files Browse the repository at this point in the history
  • Loading branch information
yiweichi authored Oct 23, 2024
1 parent 0bcc998 commit 848f31a
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 16 deletions.
18 changes: 9 additions & 9 deletions docker/config-example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ L1_CONTRACT_DEPLOYMENT_BLOCK = 0
# note: for now we simply use Anvil's dev accounts

DEPLOYER_PRIVATE_KEY = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"
OWNER_PRIVATE_KEY = "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"

L1_COMMIT_SENDER_PRIVATE_KEY = "0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d"
L1_FINALIZE_SENDER_PRIVATE_KEY = "0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a"
Expand All @@ -33,7 +32,7 @@ L2_GAS_ORACLE_SENDER_ADDR = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"

[db]

ADMIN_SYSTEM_BACKEND_DB_CONNECTION_STRING = "postgresql://postgres:qwerty12345@postgresql:5432/scroll_admin_system?sslmode=disable"
ADMIN_SYSTEM_BACKEND_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"
BLOCKSCOUT_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/blockscout"
BRIDGE_HISTORY_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"
CHAIN_MONITOR_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"
Expand All @@ -48,10 +47,10 @@ ROLLUP_EXPLORER_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgres
ALTERNATIVE_GAS_TOKEN_ENABLED = false
# EXAMPLE_GAS_TOKEN_DECIMAL = 6
# L1_GAS_TOKEN = "0x68a041e7c20Afa4784b5d9C63246c89545Ac0E66"
GAS_ORACLE_INCORPORATE_TOKEN_EXCHANGE_RATE_ENANBLED = true
EXCHANGE_RATE_UPDATE_MODE = "Fixed" # the mode can be Fixed or BinanceApi
FIXED_EXCHANGE_RATE = "0.01" # affect when mode is Fixed
TOKEN_SYMBOL_PAIR = "UNIETH" # affect when mode is BinanceApi
GAS_ORACLE_INCORPORATE_TOKEN_EXCHANGE_RATE_ENANBLED = false
EXCHANGE_RATE_UPDATE_MODE = "Fixed"
FIXED_EXCHANGE_RATE = "0.01"
TOKEN_SYMBOL_PAIR = "UNIETH"

[sequencer]

Expand All @@ -66,14 +65,15 @@ L2GETH_CCC_NUMWORKERS = 5

MAX_TX_IN_CHUNK = 100
MAX_BLOCK_IN_CHUNK = 100
MAX_CHUNK_IN_BATCH = 15
MAX_BATCH_IN_BUNDLE = 30
MAX_L1_MESSAGE_GAS_LIMIT = 10_000_000
TEST_ENV_MOCK_FINALIZE_ENABLED = true
TEST_ENV_MOCK_FINALIZE_TIMEOUT_SEC = 300

[frontend]

EXTERNAL_RPC_URI_L1 ="http://l1-devnet.scrollsdk"
EXTERNAL_RPC_URI_L1 = "http://l1-devnet.scrollsdk"
EXTERNAL_RPC_URI_L2 = "http://l2-rpc.scrollsdk"
BRIDGE_API_URI = "http://bridge-history-api.scrollsdk/api"
ROLLUPSCAN_API_URI = "http://rollup-explorer-backend.scrollsdk/api"
Expand All @@ -89,15 +89,15 @@ L2_DEPLOYER_INITIAL_BALANCE = 1000000000000000000

[contracts]

DEPLOYMENT_SALT = ""
DEPLOYMENT_SALT = "devnetSalt-000"

# contracts deployed outside this script
L1_FEE_VAULT_ADDR = "0x0000000000000000000000000000000000000001"
L1_PLONK_VERIFIER_ADDR = "0x0000000000000000000000000000000000000001"

[contracts.overrides]

# L1_WETH = "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
# L1_PLONK_VERIFIER = "0x0000000000000000000000000000000000000001"

L2_MESSAGE_QUEUE = "0x5300000000000000000000000000000000000000"
L1_GAS_PRICE_ORACLE = "0x5300000000000000000000000000000000000002"
Expand Down
1 change: 1 addition & 0 deletions docker/templates/config-contracts.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ L1_SCROLL_CHAIN_PROXY_ADDR = ""
L1_SCROLL_MESSENGER_PROXY_ADDR = ""
L1_ENFORCED_TX_GATEWAY_IMPLEMENTATION_ADDR = ""
L1_ENFORCED_TX_GATEWAY_PROXY_ADDR = ""
L1_PLONK_VERIFIER_ADDR = ""
L1_ZKEVM_VERIFIER_V2_ADDR = ""
L1_MULTIPLE_VERSION_ROLLUP_VERIFIER_ADDR = ""
L1_MESSAGE_QUEUE_IMPLEMENTATION_ADDR = ""
Expand Down
2 changes: 0 additions & 2 deletions scripts/deterministic/Configuration.sol
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ abstract contract Configuration is Script {
string internal DEPLOYMENT_SALT;

address internal L1_FEE_VAULT_ADDR;
address internal L1_PLONK_VERIFIER_ADDR;

// coordinator
string internal CHUNK_COLLECTION_TIME_SEC;
Expand Down Expand Up @@ -148,7 +147,6 @@ abstract contract Configuration is Script {
DEPLOYMENT_SALT = cfg.readString(".contracts.DEPLOYMENT_SALT");

L1_FEE_VAULT_ADDR = cfg.readAddress(".contracts.L1_FEE_VAULT_ADDR");
L1_PLONK_VERIFIER_ADDR = cfg.readAddress(".contracts.L1_PLONK_VERIFIER_ADDR");

CHUNK_COLLECTION_TIME_SEC = cfg.readString(".coordinator.CHUNK_COLLECTION_TIME_SEC");
BATCH_COLLECTION_TIME_SEC = cfg.readString(".coordinator.BATCH_COLLECTION_TIME_SEC");
Expand Down
3 changes: 3 additions & 0 deletions scripts/deterministic/Constants.sol

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions scripts/deterministic/DeployScroll.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ contract DeployScroll is DeterministicDeployment {
address internal L1_WETH_GATEWAY_IMPLEMENTATION_ADDR;
address internal L1_WETH_GATEWAY_PROXY_ADDR;
address internal L1_WHITELIST_ADDR;
address internal L1_PLONK_VERIFIER_ADDR;
address internal L1_ZKEVM_VERIFIER_V2_ADDR;
address internal L1_GAS_TOKEN_ADDR;
address internal L1_GAS_TOKEN_GATEWAY_IMPLEMENTATION_ADDR;
Expand Down Expand Up @@ -364,6 +365,7 @@ contract DeployScroll is DeterministicDeployment {
deployL1ScrollChainProxy();
deployL1ScrollMessengerProxy();
deployL1EnforcedTxGateway();
deployL1PlonkVerifier();
deployL1ZkEvmVerifier();
deployL1MultipleVersionRollupVerifier();
deployL1MessageQueue();
Expand Down Expand Up @@ -545,6 +547,10 @@ contract DeployScroll is DeterministicDeployment {
);
}

function deployL1PlonkVerifier() private {
L1_PLONK_VERIFIER_ADDR = deploy("L1_PLONK_VERIFIER", PLONK_VERIFIER_CREATION_CODE);
}

function deployL1ZkEvmVerifier() private {
bytes memory args = abi.encode(notnull(L1_PLONK_VERIFIER_ADDR), V4_VERIFIER_DIGEST);
L1_ZKEVM_VERIFIER_V2_ADDR = deploy("L1_ZKEVM_VERIFIER_V2", type(ZkEvmVerifierV2).creationCode, args);
Expand Down
10 changes: 5 additions & 5 deletions src/test/deterministic/DeployScroll.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ contract DeployScrollTest is TestBase, StdAssertions, DeployScroll {
predictAllContracts();
checkCommonAddresses();

assertEq(0xc42A1Bf23C85B87f0630a4aBD179900c96BC2929, L1_SCROLL_CHAIN_IMPLEMENTATION_ADDR);
assertEq(0x15046c2d09354551A19d9eaD13ca19A41AAa6345, L1_SCROLL_CHAIN_IMPLEMENTATION_ADDR);
assertEq(0x904699c3146cE384a5B47Ebf7Ddf8c592E203F2C, L1_ETH_GATEWAY_PROXY_ADDR);
assertEq(0x5e27Eea664f5aB1849025195DF2b7e619f904358, L1_WETH_GATEWAY_PROXY_ADDR);
assertEq(0x0000000000000000000000000000000000000000, L1_GAS_TOKEN_ADDR);
Expand All @@ -48,7 +48,7 @@ contract DeployScrollTest is TestBase, StdAssertions, DeployScroll {
predictAllContracts();
checkCommonAddresses();

assertEq(0xf3f7244F57171A29ed963F8BA1ec48C361BAac67, L1_SCROLL_CHAIN_IMPLEMENTATION_ADDR);
assertEq(0x123f428B99F6B65B335eb756a5abA2a59AB56F40, L1_SCROLL_CHAIN_IMPLEMENTATION_ADDR);
assertEq(0x904699c3146cE384a5B47Ebf7Ddf8c592E203F2C, L1_ETH_GATEWAY_PROXY_ADDR);
assertEq(0x5e27Eea664f5aB1849025195DF2b7e619f904358, L1_WETH_GATEWAY_PROXY_ADDR);
assertEq(0x0000000000000000000000000000000000000000, L1_GAS_TOKEN_ADDR);
Expand All @@ -70,7 +70,7 @@ contract DeployScrollTest is TestBase, StdAssertions, DeployScroll {
predictAllContracts();
checkCommonAddresses();

assertEq(0xc42A1Bf23C85B87f0630a4aBD179900c96BC2929, L1_SCROLL_CHAIN_IMPLEMENTATION_ADDR);
assertEq(0x15046c2d09354551A19d9eaD13ca19A41AAa6345, L1_SCROLL_CHAIN_IMPLEMENTATION_ADDR);
assertEq(0x0000000000000000000000000000000000000000, L1_ETH_GATEWAY_PROXY_ADDR);
assertEq(0x0000000000000000000000000000000000000000, L1_WETH_GATEWAY_PROXY_ADDR);
assertEq(0xd7919F1390711D610961cb27D2BE0BD2Ec1E5704, L1_GAS_TOKEN_ADDR);
Expand All @@ -95,8 +95,8 @@ contract DeployScrollTest is TestBase, StdAssertions, DeployScroll {
assertEq(0xC97658507021A2EB494298CAA815B83BC3DE935b, L1_SCROLL_MESSENGER_PROXY_ADDR);
assertEq(0x02476A470215Bd2F268179492431230C5Dc607C8, L1_ENFORCED_TX_GATEWAY_IMPLEMENTATION_ADDR);
assertEq(0xcCBBecF7B9D6e1CD2dF1aEFab510c0697d04AC1f, L1_ENFORCED_TX_GATEWAY_PROXY_ADDR);
assertEq(0xC74599653677A4795d79CBd6D4a5AE2D4615384D, L1_ZKEVM_VERIFIER_V2_ADDR);
assertEq(0x4aAD8eF23d69f5b6Ca8bD58A0789950084116baF, L1_MULTIPLE_VERSION_ROLLUP_VERIFIER_ADDR);
assertEq(0x7e3852FA81eB752e20F2Ef22dC31eaF0E79dB1C1, L1_ZKEVM_VERIFIER_V2_ADDR);
assertEq(0x2Fd0514AfEC744cA51fF5FC3567Bf4CeaB4356f7, L1_MULTIPLE_VERSION_ROLLUP_VERIFIER_ADDR);
assertEq(0x650522433606B6f232cA0C8d0D5245b6571c180a, L1_MESSAGE_QUEUE_IMPLEMENTATION_ADDR);
assertEq(0x09a4C2780ECBfF76a58957b93ea66D9727eF6A4C, L1_MESSAGE_QUEUE_PROXY_ADDR);
assertEq(0xd18137D9b43061477C3DA4453E2F3D1B03453efc, L1_GATEWAY_ROUTER_IMPLEMENTATION_ADDR);
Expand Down

0 comments on commit 848f31a

Please sign in to comment.