Skip to content

feat: support deploy plonk verifier #56

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

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
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
Loading