Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 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
84 changes: 53 additions & 31 deletions docker/config-example.toml
Original file line number Diff line number Diff line change
@@ -1,26 +1,16 @@
[general]

L1_RPC_ENDPOINT = "http://l1geth:8545"
L2_RPC_ENDPOINT = "http://l2geth:8545"
L1_RPC_ENDPOINT = "http://l1-devnet:8545"
L1_RPC_ENDPOINT_WEBSOCKET = "ws://l1-devnet:8546"
Comment thread
Thegaram marked this conversation as resolved.
L2_RPC_ENDPOINT = "http://l2-sequencer:8545"

CHAIN_NAME_L1="Ethereum"
CHAIN_NAME_L2="Scroll SDK"
CHAIN_ID_L1 = 111111
CHAIN_ID_L2 = 222222

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 = 10000000
CHAIN_ID_L2 = 221122

L1_CONTRACT_DEPLOYMENT_BLOCK = 0

ALTERNATIVE_GAS_TOKEN_ENABLED = true
# EXAMPLE_GAS_TOKEN_DECIMAL = 6

TEST_ENV_MOCK_FINALIZE_ENABLED = true
TEST_ENV_MOCK_FINALIZE_TIMEOUT_SEC = 3600


[accounts]

# note: for now we simply use Anvil's dev accounts
Expand All @@ -41,22 +31,55 @@ L1_FINALIZE_SENDER_ADDR = "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"
L1_GAS_ORACLE_SENDER_ADDR = "0x90F79bf6EB2c4f870365E785982E1f101E93b906"
L2_GAS_ORACLE_SENDER_ADDR = "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"

L2GETH_SIGNER_0_ADDRESS = "0x756EA06BDEe36de11F22DCca45a31d8a178eF3c6"

[db]

SCROLL_DB_CONNECTION_STRING = "postgres://postgres:scroll2022@db:5432/scroll?sslmode=disable"
CHAIN_MONITOR_DB_CONNECTION_STRING = "postgres://postgres:scroll2022@db:5432/chain_monitor?sslmode=disable"
BRIDGE_HISTORY_DB_CONNECTION_STRING = "postgres://postgres:scroll2022@db:5432/bridge_history?sslmode=disable"
ROLLUP_EXPLORER_DB_CONNECTION_STRING = "postgres://postgres:scroll2022@db:5432/rollup_explorer?sslmode=disable"
BLOCKSCOUT_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/blockscout"
Comment thread
Thegaram marked this conversation as resolved.
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"
GAS_ORACLE_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"
COORDINATOR_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"
L1_EXPLORER_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/l1-explorer"
ROLLUP_NODE_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"
ROLLUP_EXPLORER_DB_CONNECTION_STRING = "postgres://postgres:qwerty12345@postgresql:5432/scroll?sslmode=disable"

[gas-token]

ALTERNATIVE_GAS_TOKEN_ENABLED = false
# EXAMPLE_GAS_TOKEN_DECIMAL = 6
# L1_GAS_TOKEN = "0x68a041e7c20Afa4784b5d9C63246c89545Ac0E66"

[sequencer]

L2GETH_SIGNER_ADDRESS = "0x756EA06BDEe36de11F22DCca45a31d8a178eF3c6"
L2GETH_KEYSTORE = "{\"address\":\"756ea06bdee36de11f22dcca45a31d8a178ef3c6\",\"crypto\":{\"cipher\":\"aes-128-ctr\",\"ciphertext\":\"8bfb4e48c6b172f1f5794d2874476ca62f8184507c0916dbd45fe77a0056114c\",\"cipherparams\":{\"iv\":\"509eb70e7379a776e0779634b6668277\"},\"kdf\":\"scrypt\",\"kdfparams\":{\"dklen\":32,\"n\":262144,\"p\":1,\"r\":8,\"salt\":\"ef0f0334e5db7c12d76993e1e9627593fd0d7cd44444b689e792c86bc8a5d75f\"},\"mac\":\"d766cac11d0bd563316f5655ebf07550b6fce98ba0ca3c13acdc1b65f5f185ca\"},\"id\":\"4459ad67-f2ce-48b2-8940-c0582106a4c6\",\"version\":3}"
Comment thread
yiweichi marked this conversation as resolved.
Outdated
L2GETH_PASSWORD = "scroll2022"
L2GETH_NODEKEY = "2f59ff2fdee1c42a3d8c8980c313bc8d6c2557463f7bb92b0f0bc89a6d3cbf01"
L2_GETH_STATIC_PEERS = '["enode://848a7d59dd8f60dd1a51160e6bc15c194937855443de9be4b2abd83e11a5c4ac21d61d065448c5c520826fe83f1f29eb5a452daccca27b8113aa897074132507@l2-sequencer:30303"]'

[rollup]

MAX_TX_IN_CHUNK = 100
MAX_BLOCK_IN_CHUNK = 100
MAX_CHUNK_IN_BATCH = 15
Comment thread
yiweichi marked this conversation as resolved.
Outdated
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_L2 = "http://l2-rpc.scrollsdk"
BRIDGE_API_URI = "http://bridge-history-api.scrollsdk/api"
ROLLUPSCAN_API_URI = "http://rollup-explorer-backend.scrollsdk/api"
EXTERNAL_EXPLORER_URI_L1 = "http://l1-explorer.scrollsdk"
EXTERNAL_EXPLORER_URI_L2 = "http://blockscout.scrollsdk"

[genesis]

L2_MAX_ETH_SUPPLY = "226156424291633194186662080095093570025917938800079226639565593765455331328"
L2_DEPLOYER_INITIAL_BALANCE = 1000000000000000000


[contracts]

DEPLOYMENT_SALT = ""
Expand All @@ -68,7 +91,6 @@ L1_PLONK_VERIFIER_ADDR = "0x0000000000000000000000000000000000000001"
[contracts.overrides]

# L1_WETH = "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"
# L1_GAS_TOKEN = "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"

L2_MESSAGE_QUEUE = "0x5300000000000000000000000000000000000000"
L1_GAS_PRICE_ORACLE = "0x5300000000000000000000000000000000000002"
Expand All @@ -81,11 +103,11 @@ L2_TX_FEE_VAULT = "0x5300000000000000000000000000000000000005"

COORDINATOR_JWT_SECRET_KEY = "e788b62d39254928a821ac1c76b274a8c835aa1e20ecfb6f50eb10e87847de44"

[frontend]
[ingress]

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 = "https://rollup-explorer-backend.scrollsdk/api"
EXTERNAL_EXPLORER_URI_L1 = "http://l1-explorer.scrollsdk"
EXTERNAL_EXPLORER_URI_L2 = "http://blockscout.scrollsdk"
FRONTEND_HOST = "frontends.scrollsdk"
BRIDGE_HISTORY_API_HOST = "bridge-history-api.scrollsdk"
ROLLUP_EXPLORER_API_HOST = "rollup-explorer-backend.scrollsdk"
COORDINATOR_API_HOST = "coordinator-api.scrollsdk"
RPC_GATEWAY_HOST = "l2-rpc.scrollsdk"
BLOCKSCOUT_HOST = "blockscout.scrollsdk"
36 changes: 23 additions & 13 deletions scripts/deterministic/Configuration.sol
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ abstract contract Configuration is Script {
string internal L1_RPC_ENDPOINT;
string internal L2_RPC_ENDPOINT;

string internal CHAIN_NAME_L1;
string internal CHAIN_NAME_L2;
uint64 internal CHAIN_ID_L1;
uint64 internal CHAIN_ID_L2;

Expand Down Expand Up @@ -57,13 +59,14 @@ abstract contract Configuration is Script {

address internal OWNER_ADDR;

address internal L2GETH_SIGNER_0_ADDRESS;
address internal L2GETH_SIGNER_ADDRESS;

// db
string internal SCROLL_DB_CONNECTION_STRING;
string internal ROLLUP_NODE_DB_CONNECTION_STRING;
string internal CHAIN_MONITOR_DB_CONNECTION_STRING;
string internal BRIDGE_HISTORY_DB_CONNECTION_STRING;
string internal ROLLUP_EXPLORER_BACKEND_DB_CONNECTION_STRING;
string internal COORDINATOR_DB_CONNECTION_STRING;

// genesis
uint256 internal L2_MAX_ETH_SUPPLY;
Expand Down Expand Up @@ -103,21 +106,23 @@ abstract contract Configuration is Script {
L1_RPC_ENDPOINT = cfg.readString(".general.L1_RPC_ENDPOINT");
L2_RPC_ENDPOINT = cfg.readString(".general.L2_RPC_ENDPOINT");

CHAIN_NAME_L1 = cfg.readString(".general.CHAIN_NAME_L1");
CHAIN_NAME_L2 = cfg.readString(".general.CHAIN_NAME_L2");
CHAIN_ID_L1 = uint64(cfg.readUint(".general.CHAIN_ID_L1"));
CHAIN_ID_L2 = uint64(cfg.readUint(".general.CHAIN_ID_L2"));

MAX_TX_IN_CHUNK = cfg.readUint(".general.MAX_TX_IN_CHUNK");
MAX_BLOCK_IN_CHUNK = cfg.readUint(".general.MAX_BLOCK_IN_CHUNK");
MAX_CHUNK_IN_BATCH = cfg.readUint(".general.MAX_CHUNK_IN_BATCH");
MAX_BATCH_IN_BUNDLE = cfg.readUint(".general.MAX_BATCH_IN_BUNDLE");
MAX_L1_MESSAGE_GAS_LIMIT = cfg.readUint(".general.MAX_L1_MESSAGE_GAS_LIMIT");
MAX_TX_IN_CHUNK = cfg.readUint(".rollup.MAX_TX_IN_CHUNK");
MAX_BLOCK_IN_CHUNK = cfg.readUint(".rollup.MAX_BLOCK_IN_CHUNK");
MAX_CHUNK_IN_BATCH = cfg.readUint(".rollup.MAX_CHUNK_IN_BATCH");
MAX_BATCH_IN_BUNDLE = cfg.readUint(".rollup.MAX_BATCH_IN_BUNDLE");
MAX_L1_MESSAGE_GAS_LIMIT = cfg.readUint(".rollup.MAX_L1_MESSAGE_GAS_LIMIT");

L1_CONTRACT_DEPLOYMENT_BLOCK = cfg.readUint(".general.L1_CONTRACT_DEPLOYMENT_BLOCK");

ALTERNATIVE_GAS_TOKEN_ENABLED = cfg.readBool(".general.ALTERNATIVE_GAS_TOKEN_ENABLED");
ALTERNATIVE_GAS_TOKEN_ENABLED = cfg.readBool(".gas-token.ALTERNATIVE_GAS_TOKEN_ENABLED");

TEST_ENV_MOCK_FINALIZE_ENABLED = cfg.readBool(".general.TEST_ENV_MOCK_FINALIZE_ENABLED");
TEST_ENV_MOCK_FINALIZE_TIMEOUT_SEC = cfg.readUint(".general.TEST_ENV_MOCK_FINALIZE_TIMEOUT_SEC");
TEST_ENV_MOCK_FINALIZE_ENABLED = cfg.readBool(".rollup.TEST_ENV_MOCK_FINALIZE_ENABLED");
TEST_ENV_MOCK_FINALIZE_TIMEOUT_SEC = cfg.readUint(".rollup.TEST_ENV_MOCK_FINALIZE_TIMEOUT_SEC");

DEPLOYER_PRIVATE_KEY = cfg.readUint(".accounts.DEPLOYER_PRIVATE_KEY");
L1_COMMIT_SENDER_PRIVATE_KEY = cfg.readUint(".accounts.L1_COMMIT_SENDER_PRIVATE_KEY");
Expand All @@ -133,9 +138,9 @@ abstract contract Configuration is Script {

OWNER_ADDR = cfg.readAddress(".accounts.OWNER_ADDR");

L2GETH_SIGNER_0_ADDRESS = cfg.readAddress(".accounts.L2GETH_SIGNER_0_ADDRESS");
L2GETH_SIGNER_ADDRESS = cfg.readAddress(".sequencer.L2GETH_SIGNER_ADDRESS");

SCROLL_DB_CONNECTION_STRING = cfg.readString(".db.SCROLL_DB_CONNECTION_STRING");
ROLLUP_NODE_DB_CONNECTION_STRING = cfg.readString(".db.ROLLUP_NODE_DB_CONNECTION_STRING");
CHAIN_MONITOR_DB_CONNECTION_STRING = cfg.readString(".db.CHAIN_MONITOR_DB_CONNECTION_STRING");
BRIDGE_HISTORY_DB_CONNECTION_STRING = cfg.readString(".db.BRIDGE_HISTORY_DB_CONNECTION_STRING");
ROLLUP_EXPLORER_BACKEND_DB_CONNECTION_STRING = cfg.readString(".db.ROLLUP_EXPLORER_DB_CONNECTION_STRING");
Expand Down Expand Up @@ -174,7 +179,12 @@ abstract contract Configuration is Script {

function tryGetOverride(string memory name) internal returns (address) {
address addr;
string memory key = string(abi.encodePacked(".contracts.overrides.", name));
string memory key;
if (keccak256(abi.encodePacked(name)) == keccak256(abi.encodePacked("L1_GAS_TOKEN"))) {
key = string(abi.encodePacked(".gas-token.", name));
} else {
key = string(abi.encodePacked(".contracts.overrides.", name));
}

if (!vm.keyExistsToml(cfg, key)) {
return address(0);
Expand Down
2 changes: 1 addition & 1 deletion scripts/deterministic/DeployScroll.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -721,7 +721,7 @@ contract DeployScroll is DeterminsticDeployment {

function deployGasToken() private gasToken(true) {
uint8 decimal = 18;
string memory key = ".general.EXAMPLE_GAS_TOKEN_DECIMAL";
string memory key = ".gas-token.EXAMPLE_GAS_TOKEN_DECIMAL";
if (vm.keyExistsToml(cfg, key)) {
decimal = uint8(cfg.readUint(key));
}
Expand Down
8 changes: 4 additions & 4 deletions scripts/deterministic/GenerateConfigs.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ contract GenerateRollupConfig is DeployScroll {
vm.writeJson(vm.toString(MAX_CHUNK_IN_BATCH), ROLLUP_CONFIG_PATH, ".l2_config.batch_proposer_config.max_chunk_num_per_batch");
vm.writeJson(vm.toString(MAX_BATCH_IN_BUNDLE), ROLLUP_CONFIG_PATH, ".l2_config.bundle_proposer_config.max_batch_num_per_bundle");

vm.writeJson(SCROLL_DB_CONNECTION_STRING, ROLLUP_CONFIG_PATH, ".db_config.dsn");
vm.writeJson(ROLLUP_NODE_DB_CONNECTION_STRING, ROLLUP_CONFIG_PATH, ".db_config.dsn");
}
}

Expand Down Expand Up @@ -88,7 +88,7 @@ contract GenerateCoordinatorConfig is DeployScroll {
vm.writeFile(COORDINATOR_CONFIG_PATH, template);

vm.writeJson(vm.toString(CHAIN_ID_L2), COORDINATOR_CONFIG_PATH, ".l2.chain_id");
vm.writeJson(SCROLL_DB_CONNECTION_STRING, COORDINATOR_CONFIG_PATH, ".db.dsn");
vm.writeJson(COORDINATOR_DB_CONNECTION_STRING, COORDINATOR_CONFIG_PATH, ".db.dsn");
vm.writeJson(COORDINATOR_JWT_SECRET_KEY, COORDINATOR_CONFIG_PATH, ".auth.secret");
}
}
Expand Down Expand Up @@ -277,8 +277,8 @@ contract GenerateFrontendConfig is DeployScroll {
function generateFrontendConfig() private {
// use writeFile to start a new file
vm.writeFile(FRONTEND_ENV_PATH, "REACT_APP_ETH_SYMBOL = \"ETH\"\n");
vm.writeLine(FRONTEND_ENV_PATH, "REACT_APP_BASE_CHAIN = \"Ethereum\"");
vm.writeLine(FRONTEND_ENV_PATH, "REACT_APP_ROLLUP = \"Scroll Stack\"");
vm.writeLine(FRONTEND_ENV_PATH, string.concat("REACT_APP_BASE_CHAIN = \"", CHAIN_NAME_L1, "\""));
vm.writeLine(FRONTEND_ENV_PATH, string.concat("REACT_APP_BASE_CHAIN = \"", CHAIN_NAME_L2, "\""));
Comment thread
yiweichi marked this conversation as resolved.
Outdated
vm.writeLine(FRONTEND_ENV_PATH, string.concat("REACT_APP_CHAIN_ID_L1 = \"", vm.toString(CHAIN_ID_L1), "\""));
vm.writeLine(FRONTEND_ENV_PATH, string.concat("REACT_APP_CHAIN_ID_L2 = \"", vm.toString(CHAIN_ID_L2), "\""));
vm.writeLine(FRONTEND_ENV_PATH, "REACT_APP_CONNECT_WALLET_PROJECT_ID = \"14efbaafcf5232a47d93a68229b71028\"");
Expand Down
2 changes: 1 addition & 1 deletion scripts/deterministic/GenerateGenesis.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ contract GenerateGenesis is DeployScroll {
string memory extraData = string(
abi.encodePacked(
"0x0000000000000000000000000000000000000000000000000000000000000000",
vm.replace(vm.toString(L2GETH_SIGNER_0_ADDRESS), "0x", ""),
vm.replace(vm.toString(L2GETH_SIGNER_ADDRESS), "0x", ""),
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
)
);
Expand Down