Skip to content

Commit be68120

Browse files
authored
add config for hoodi testnet (#781)
1 parent a985264 commit be68120

File tree

7 files changed

+171
-11
lines changed

7 files changed

+171
-11
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,14 @@ ops/l2-genesis/.devnet
2020
ops/l2-genesis/.qanet
2121
ops/l2-genesis/.testnet
2222
ops/l2-genesis/.holesky
23+
ops/l2-genesis/.hoodi
2324
ops/l2-genesis/.mainnet
2425
ops/l2-genesis/.morphtestnet
2526
ops/devnet-morph/devnet/__pycache__
2627
contracts/qanetL1.json
2728
contracts/holesky.json
29+
contracts/hoodi.json
30+
contracts/mainnet.json
2831
.env
2932

3033
# logs

MakefileEc2.mk

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,36 @@ build-bk-prod-morph-prod-mainnet-to-morph-tx-submitter:
2222
tar -czvf tx-submitter.tar.gz dist
2323
aws s3 cp tx-submitter.tar.gz s3://morph-0582-morph-technical-department-mainnet-data/morph-setup/tx-submitter.tar.gz
2424

25-
# build for holesky
26-
build-bk-prod-morph-prod-testnet-to-morph-node-holesky:
25+
26+
build-bk-test-morph-test-qanet-to-morph-node-qanet:
2727
if [ ! -d dist ]; then mkdir -p dist; fi
2828
cd $(PWD)/node && make build
2929
cp node/build/bin/morphnode dist/
3030
cp node/build/bin/tendermint dist/
3131
tar -czvf morph-node.tar.gz dist
32-
aws s3 cp morph-node.tar.gz s3://morph-0582-morph-technical-department-testnet-data/testnet/holesky/morph-setup/morph-node.tar.gz
32+
aws s3 cp morph-node.tar.gz s3://morph-7637-morph-technical-department-qanet-data/morph-setup/morph-node.tar.gz
3333

34-
build-bk-prod-morph-prod-testnet-to-morph-tx-submitter-holesky:
34+
build-bk-test-morph-test-qanet-to-morph-tx-submitter-qanet:
3535
if [ ! -d dist ]; then mkdir -p dist; fi
3636
env GO111MODULE=on CGO_LDFLAGS="-ldl" CGO_ENABLED=1 go build -v $(LDFLAGS) -o tx-submitter/tx-submitter ./tx-submitter/cmd
3737
cp tx-submitter/tx-submitter dist/
3838
tar -czvf tx-submitter.tar.gz dist
39-
aws s3 cp tx-submitter.tar.gz s3://morph-0582-morph-technical-department-testnet-data/testnet/holesky/morph-setup/tx-submitter.tar.gz
40-
41-
42-
build-bk-test-morph-test-qanet-to-morph-node-qanet:
39+
aws s3 cp tx-submitter.tar.gz s3://morph-7637-morph-technical-department-qanet-data/morph-setup/tx-submitter.tar.gz
40+
41+
42+
# build for hoodi
43+
build-bk-prod-morph-prod-testnet-to-morph-node-hoodi:
4344
if [ ! -d dist ]; then mkdir -p dist; fi
4445
cd $(PWD)/node && make build
4546
cp node/build/bin/morphnode dist/
4647
cp node/build/bin/tendermint dist/
4748
tar -czvf morph-node.tar.gz dist
48-
aws s3 cp morph-node.tar.gz s3://morph-7637-morph-technical-department-qanet-data/morph-setup/morph-node.tar.gz
49+
aws s3 cp morph-node.tar.gz s3://morph-0582-morph-technical-department-testnet-data/testnet/hoodi/morph-setup/morph-node.tar.gz
4950

50-
build-bk-test-morph-test-qanet-to-morph-tx-submitter-qanet:
51+
build-bk-prod-morph-prod-testnet-to-morph-tx-submitter-hoodi:
5152
if [ ! -d dist ]; then mkdir -p dist; fi
5253
env GO111MODULE=on CGO_LDFLAGS="-ldl" CGO_ENABLED=1 go build -v $(LDFLAGS) -o tx-submitter/tx-submitter ./tx-submitter/cmd
5354
cp tx-submitter/tx-submitter dist/
5455
tar -czvf tx-submitter.tar.gz dist
55-
aws s3 cp tx-submitter.tar.gz s3://morph-7637-morph-technical-department-qanet-data/morph-setup/tx-submitter.tar.gz
56+
aws s3 cp tx-submitter.tar.gz s3://morph-0582-morph-technical-department-testnet-data/testnet/hoodi/morph-setup/tx-submitter.tar.gz
57+

contracts/hardhat.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ const DEPLOYER_PK = process.env.DEPLOYER_PRIVATE_KEY || '0xac0974bec39a17e36ba4a
4040
const QA_URL = process.env.QA_RPC_URL || 'http://127.0.0.1:8545'
4141
const SEPOLIA_URL = process.env.SEPOLIA_RPC_URL || 'http://127.0.0.1:8545'
4242
const HOLESKY_URL = process.env.HOLESKY_RPC_URL || 'http://127.0.0.1:8545'
43+
const HOODI_URL = process.env.HOODI_RPC_URL || 'http://127.0.0.1:8545'
4344

4445
module.exports = {
4546
defaultNetwork: 'hardhat',
@@ -98,6 +99,13 @@ module.exports = {
9899
gas: 'auto',
99100
gasPrice: 'auto',
100101
accounts: [DEPLOYER_PK]
102+
},
103+
hoodi: {
104+
url: HOODI_URL,
105+
chainId: 560048,
106+
gas: 'auto',
107+
gasPrice: 'auto',
108+
accounts: [DEPLOYER_PK]
101109
}
102110
},
103111
foundry: {

contracts/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
"deploy:holesky": "rm -f holesky.json && hardhat deploy --network holesky --storagepath holesky.json",
3636
"initialize:holesky": "hardhat initialize --network holesky --storagepath holesky.json",
3737
"register:holesky": "hardhat register --network holesky --storagepath holesky.json",
38+
39+
"deploy:hoodi": "rm -f hoodi.json && hardhat deploy --network hoodi --storagepath hoodi.json",
40+
"initialize:hoodi": "hardhat initialize --network hoodi --storagepath hoodi.json",
41+
"register:hoodi": "hardhat register --network hoodi --storagepath hoodi.json",
42+
3843
"deploy:qanetL1": "rm -f qanetL1.json && hardhat deploy --network qanetl1 --storagepath qanetL1.json",
3944
"initialize:qanetL1": "hardhat initialize --network qanetl1 --storagepath qanetL1.json",
4045
"register:qanetL1": "hardhat register --network qanetl1 --storagepath qanetL1.json"
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
const config = {
2+
// Global configuration
3+
l1FeeVaultRecipient: '0x291046850908e59B33b1758045882e9FDcfcBD1E',
4+
contractAdmin: '0x291046850908e59B33b1758045882e9FDcfcBD1E',
5+
6+
l1WETHAddress: "",
7+
l1USDCAddress: "",
8+
9+
// chainID config
10+
l1ChainID: 560048,
11+
l2ChainID: 2910,
12+
13+
// L1MessageQueue config
14+
l1MessageQueueMaxGasLimit: 30000000,
15+
16+
// gasPriceOracle config
17+
l2BaseFee: 0.1, // Gwei
18+
19+
// verify contract config
20+
programVkey: '0x006c835a4c049b699a3675fefa51b182c7efe404a656151c0410245966724bc3',
21+
// rollup contract config
22+
// initialize config
23+
finalizationPeriodSeconds: 600,
24+
rollupProofWindow: 86400,
25+
proofRewardPercent: 70,
26+
// challenge config
27+
rollupProposer: '0x48446b07A04307F320fa34790116d73aD4A51810',
28+
rollupChallenger: '0x2910DB00C9537B90337b40D9732f4c356cbb84D0',
29+
// genesis config
30+
batchHeader: '00000000000000000000000000000000000000000000000000aa0feb482ae04f2a6b6b422932b5a2d537cd657ceb83008e87fce6ed6d290031010657f37554c781402a22917dee2f75def7ab966d7b770905398eba3c44401400000000000000000000000000000000000000000000000000000000000000000a31941eb1853862c0c38f378eb0c519e9e66f0942e39b47dca38c0437ab6b3e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
31+
32+
33+
// staking config
34+
// staking Cross-Chain config
35+
stakingCrossChainGaslimitAdd: 1000000,
36+
stakingCrossChainGaslimitRemove: 8000000,
37+
38+
// staking initialize config
39+
stakingLockNumber: 3,
40+
stakingChallengeDeposit: 1, // 1 ether
41+
stakingMinDeposit: 1, // 1 ether
42+
stakingChallengerRewardPercentage: 100,
43+
// register sequencers
44+
l2SequencerAddresses: [
45+
"0x48446b07A04307F320fa34790116d73aD4A51810",
46+
"0x48447a9d66D8eAE067e59E3F9f7E6B5f1b5E7581",
47+
"0x4844631425Ed76D79164c37CA9d558bd5FB12662",
48+
"0x4844ede12C743845dfae266A6BE891F114702583"
49+
],
50+
l2SequencerTmKeys: [
51+
"0xa4f3a7fb882c3159398f520e3c89a39dc9818235fea07789995a9ce7b4aba31d",
52+
"0x0535824f72998615ac8265c12c9cfc63d315d8f3e849aa1857f42b11cfc5d72c",
53+
"0x3a50197cbfdbe5bbd85ff13b0d55ddc08ecd5dbddbc012880ba1358562e192bd",
54+
"0x814ce757e9727768f25ead4619efa552d9f8facad85236c0a774d0b21fae28ea"
55+
],
56+
l2SequencerBlsKeys: [
57+
"0x0000000000000000000000000000000017c22eb22cfacc028f8556a10ed0dcf56f4189c03c57103498bebc38df3f04202a1bf2ae6361bd0fd0c606e5a5d1122500000000000000000000000000000000115359ea50bb5e0bc9a72d5d96dbe5425aad06b7c4f9b18c30534d8237de9f3d94df3fd38e2e19bf572cda4e76dfd7200000000000000000000000000000000001584eb7275c2678f41b1649c4de05acecffa73f998c30995e934b01029257a6466964b68d4ea34c64ac1807f57bad0c0000000000000000000000000000000016d8f19d0fb3f0428c5fe338ca6bdb4b93e49f106267a106b11bde1bc4b795a119cbd8bfcd21d5be79b83fabc43c1d1e",
58+
"0x0000000000000000000000000000000018ca6c24a492491ccbc97b0743c52e188ccbf4c42fe858a22ece10c96d99af4c80a3c73b2b199f1bc35adf2b42be86e700000000000000000000000000000000028ebe1896404b3a9f3609d61b55c8a13aed4c2ba951fb081d0982bebcd072ea2fa5a90bd581565e4277be1b86b201c80000000000000000000000000000000009f5d61b5b90288ba4650db5865235935447e4999ed773965db1cc663d14bd30e364244f8f97cbdb9483591366d11db00000000000000000000000000000000015d1d71cb633e1a33b7e7432b268d94453704f0fcd54dbf223d294c969c4ea9285d807a42d785d6198d3a361be98fdf7",
59+
"0x000000000000000000000000000000000c666fbafcde1b34ac662d6edd8ddaca29fb406c27bdb4b45114409d1d6b3a1415efcb88a9adf94a925f255a7e3b4cb300000000000000000000000000000000097f204c34019966d2f1f2e57572e534d51f93f5c2e372bf15bdb031eefa72398fb5c773c217365df980c9c6b3480962000000000000000000000000000000000b1d419b65cf9d415ae3dc213f41296623517efeea8a6b97ed31aacfd75a9d0c15b1b59091fa185981ce1b45b85291240000000000000000000000000000000007085c7d37c0b2ac925b75b1f86ea93cbfc60909ddabbc7a1d89cc24b1766e4bdfc3e88cf405a7cd8e8137050777a8e7",
60+
"0x0000000000000000000000000000000017cb2706bf579e0043486627a62d7b4b9f868585bab1eb584253e54d57cc6e8d5851d4260df693f2e671eadf5daac13b000000000000000000000000000000001176bb97fd0c8d1ecec2d240ffe9db99305ef00fdd2341590970dde0e34f26c672b5bb3ecd2e91fa66c349cba9f2f77a000000000000000000000000000000000220ff827a48e8a21e7ec9c73432fa47453d275de48fbc1988dad49e58123a91ba1e8f0463c2f6913a5efff41f3100a2000000000000000000000000000000000219da2bc157d03525b20e6ec00d2edb312ab654c107465dfe9c2b19e2c07639c02bbbe19ba5ab0202110ba7b7d72c90"
61+
]
62+
}
63+
64+
export default config
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"l1ChainID": 560048,
3+
"l2ChainID": 2910,
4+
"l2GenesisBlockTimestamp": "0x68CCF160",
5+
6+
"finalSystemOwner": "0x2910beed7B7F86f4bE9907b2e91FA0a216a67f2E",
7+
"proxyAdminOwner": "0x2910beed7B7F86f4bE9907b2e91FA0a216a67f2E",
8+
9+
"l1FeeVaultRecipient": "0x29107CB79Ef8f69fE1587F77e283d47E84c5202f",
10+
"sequencerFeeVaultRecipient": "0x29107CB79Ef8f69fE1587F77e283d47E84c5202f",
11+
"l2BridgeFeeVaultRecipient": "0x29107CB79Ef8f69fE1587F77e283d47E84c5202f",
12+
"fundDevAccounts": false,
13+
14+
"l1StartingBlockTag": "earliest",
15+
"maxTxPerBlock": 100,
16+
17+
"gasPriceOracleOverhead": 2500,
18+
"gasPriceOracleScalar": 1000000000,
19+
"gasPriceOracleOwner": "0x2910beed7B7F86f4bE9907b2e91FA0a216a67f2E",
20+
21+
"recordOracleAddress": "0x291013E884C338A4BD6Ef083Bb7dC649662d49E0",
22+
"recordNextBatchSubmissionIndex": 1,
23+
24+
"govVotingDuration": 1000,
25+
"govBatchBlockInterval": 600,
26+
"govBatchTimeout": 1200,
27+
"govRollupEpoch": 600,
28+
29+
"l2StakingSequencerMaxSize": 4,
30+
"l2StakingUnDelegatedLockEpochs": 4,
31+
"l2StakingRewardStartTime": 1764460800,
32+
"l2StakingAddresses": [
33+
"0x48446b07A04307F320fa34790116d73aD4A51810",
34+
"0x48447a9d66D8eAE067e59E3F9f7E6B5f1b5E7581",
35+
"0x4844631425Ed76D79164c37CA9d558bd5FB12662",
36+
"0x4844ede12C743845dfae266A6BE891F114702583"
37+
],
38+
"l2StakingTmKeys": [
39+
"0xa4f3a7fb882c3159398f520e3c89a39dc9818235fea07789995a9ce7b4aba31d",
40+
"0x0535824f72998615ac8265c12c9cfc63d315d8f3e849aa1857f42b11cfc5d72c",
41+
"0x3a50197cbfdbe5bbd85ff13b0d55ddc08ecd5dbddbc012880ba1358562e192bd",
42+
"0x814ce757e9727768f25ead4619efa552d9f8facad85236c0a774d0b21fae28ea"
43+
],
44+
"l2StakingBlsKeys": [
45+
"0x0000000000000000000000000000000017c22eb22cfacc028f8556a10ed0dcf56f4189c03c57103498bebc38df3f04202a1bf2ae6361bd0fd0c606e5a5d1122500000000000000000000000000000000115359ea50bb5e0bc9a72d5d96dbe5425aad06b7c4f9b18c30534d8237de9f3d94df3fd38e2e19bf572cda4e76dfd7200000000000000000000000000000000001584eb7275c2678f41b1649c4de05acecffa73f998c30995e934b01029257a6466964b68d4ea34c64ac1807f57bad0c0000000000000000000000000000000016d8f19d0fb3f0428c5fe338ca6bdb4b93e49f106267a106b11bde1bc4b795a119cbd8bfcd21d5be79b83fabc43c1d1e",
46+
"0x0000000000000000000000000000000018ca6c24a492491ccbc97b0743c52e188ccbf4c42fe858a22ece10c96d99af4c80a3c73b2b199f1bc35adf2b42be86e700000000000000000000000000000000028ebe1896404b3a9f3609d61b55c8a13aed4c2ba951fb081d0982bebcd072ea2fa5a90bd581565e4277be1b86b201c80000000000000000000000000000000009f5d61b5b90288ba4650db5865235935447e4999ed773965db1cc663d14bd30e364244f8f97cbdb9483591366d11db00000000000000000000000000000000015d1d71cb633e1a33b7e7432b268d94453704f0fcd54dbf223d294c969c4ea9285d807a42d785d6198d3a361be98fdf7",
47+
"0x000000000000000000000000000000000c666fbafcde1b34ac662d6edd8ddaca29fb406c27bdb4b45114409d1d6b3a1415efcb88a9adf94a925f255a7e3b4cb300000000000000000000000000000000097f204c34019966d2f1f2e57572e534d51f93f5c2e372bf15bdb031eefa72398fb5c773c217365df980c9c6b3480962000000000000000000000000000000000b1d419b65cf9d415ae3dc213f41296623517efeea8a6b97ed31aacfd75a9d0c15b1b59091fa185981ce1b45b85291240000000000000000000000000000000007085c7d37c0b2ac925b75b1f86ea93cbfc60909ddabbc7a1d89cc24b1766e4bdfc3e88cf405a7cd8e8137050777a8e7",
48+
"0x0000000000000000000000000000000017cb2706bf579e0043486627a62d7b4b9f868585bab1eb584253e54d57cc6e8d5851d4260df693f2e671eadf5daac13b000000000000000000000000000000001176bb97fd0c8d1ecec2d240ffe9db99305ef00fdd2341590970dde0e34f26c672b5bb3ecd2e91fa66c349cba9f2f77a000000000000000000000000000000000220ff827a48e8a21e7ec9c73432fa47453d275de48fbc1988dad49e58123a91ba1e8f0463c2f6913a5efff41f3100a2000000000000000000000000000000000219da2bc157d03525b20e6ec00d2edb312ab654c107465dfe9c2b19e2c07639c02bbbe19ba5ab0202110ba7b7d72c90"
49+
]
50+
}

ops/l2-genesis/hoodi-l2genesis.sh

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/bin/sh
2+
set -eu
3+
4+
source ../../contracts/.env
5+
FOLDER=".hoodi"
6+
CONTRACT_CONFIG="../../contracts/src/deploy-config/hoodi.ts"
7+
echo "Regenerating genesis files"
8+
# Check if the folder exists
9+
if [ ! -d "$FOLDER" ]; then
10+
echo "Folder not exists, mkdir $FOLDER"
11+
mkdir "$FOLDER"
12+
fi
13+
14+
15+
RPC_URL="https://rpc.hoodi.ethpandaops.io"
16+
17+
echo "RPC_URL is $RPC_URL"
18+
cat "deploy-config/hoodi-deploy-config.json" > $FOLDER/hoodi-deploy-config.json
19+
(
20+
go run cmd/main.go genesis l2 \
21+
--l1-rpc $RPC_URL \
22+
--deploy-config $FOLDER/hoodi-deploy-config.json \
23+
--deployment-dir "$PWD/../../contracts/hoodi.json" \
24+
--outfile.l2 $FOLDER/genesis-l2.json \
25+
--outfile.rollup $FOLDER/rollup.json \
26+
--outfile.genbatchheader $FOLDER/genesis-batch-header.json
27+
touch "$FOLDER/done"
28+
)

0 commit comments

Comments
 (0)