diff --git a/celo/alfajores/genesis.json b/celo/alfajores/genesis.json new file mode 100644 index 00000000..f71168f4 --- /dev/null +++ b/celo/alfajores/genesis.json @@ -0,0 +1,154 @@ +{ + "alloc": { + "000000000000000000000000000000000000ce10": { + "balance": "0x0", + "code": "0x60806040526004361061004a5760003560e01c806303386ba3146101e757806342404e0714610280578063bb913f41146102d7578063d29d44ee14610328578063f7e6af8014610379575b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050600081549050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610136576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4e6f20496d706c656d656e746174696f6e20736574000000000000000000000081525060200191505060405180910390fd5b61013f816103d0565b6101b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b60405136810160405236600082376000803683855af43d604051818101604052816000823e82600081146101e3578282f35b8282fd5b61027e600480360360408110156101fd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561023a57600080fd5b82018360208201111561024c57600080fd5b8035906020019184600183028401116401000000008311171561026e57600080fd5b909192939192939050505061041b565b005b34801561028c57600080fd5b506102956105c1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e357600080fd5b50610326600480360360208110156102fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061060d565b005b34801561033457600080fd5b506103776004803603602081101561034b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107bd565b005b34801561038557600080fd5b5061038e610871565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f915080821415801561041257506000801b8214155b92505050919050565b610423610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146104c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6104cc8361060d565b600060608473ffffffffffffffffffffffffffffffffffffffff168484604051808383808284378083019250505092505050600060405180830381855af49150503d8060008114610539576040519150601f19603f3d011682016040523d82523d6000602084013e61053e565b606091505b508092508193505050816105ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f696e697469616c697a6174696f6e2063616c6c6261636b206661696c6564000081525060200191505060405180910390fd5b5050505050565b600080600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050805491505090565b610615610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b9050610701826103d0565b610773576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f496e76616c696420636f6e74726163742061646472657373000000000000000081525060200191505060405180910390fd5b8181558173ffffffffffffffffffffffffffffffffffffffff167fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d1360405160405180910390a25050565b6107c5610871565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f73656e64657220776173206e6f74206f776e657200000000000000000000000081525060200191505060405180910390fd5b61086e816108bd565b50565b600080600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b9050805491505090565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610960576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f6f776e65722063616e6e6f74206265203000000000000000000000000000000081525060200191505060405180910390fd5b6000600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b90508181558173ffffffffffffffffffffffffffffffffffffffff167f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe260405160405180910390a2505056fea165627a7a723058202dbb6037e4381b4ad95015ed99441a23345cc2ae52ef27e2e91d34fb0acd277b0029", + "storage": { + "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103": "0x000000000000000000000000456f41406b32c45d59e539e4bba3d7898c3584da" + } + }, + "050f34537f5b2a00b9b9c752cb8500a3fce3da7d": { + "balance": "0x21eb288a372e38c0000" + }, + "0de78c89e7bf5060f28dd3f820c15c4a6a81afb5": { + "balance": "0x21eb288a372e38c0000" + }, + "1173c5a50bf025e8356823a068e396ccf2be696c": { + "balance": "0x21eb288a372e38c0000" + }, + "22579ca45ee22e2e16ddf72d955d6cf4c767b0ef": { + "balance": "0x21eb288a372e38c0000" + }, + "2a43f97f8bf959e31f69a894ebd80a88572c8553": { + "balance": "0x21eb288a372e38c0000" + }, + "2fd430d3a96eadc38cc1b38b6685c5f52cf7a083": { + "balance": "0x21eb288a372e38c0000" + }, + "30d060f129817c4de5fbc1366d53e19f43c8c64f": { + "balance": "0x21eb288a372e38c0000" + }, + "33c222bb13c63295af32d6c91278aa34b573e776": { + "balance": "0x21eb288a372e38c0000" + }, + "40f71b525a96baa8d14eaa7bcd19929782659c64": { + "balance": "0x21eb288a372e38c0000" + }, + "456f41406b32c45d59e539e4bba3d7898c3584da": { + "balance": "0x553538ea6aa66416f80000" + }, + "4ee72a98549ea7cf774c3e2e1b39ff166b4b68be": { + "balance": "0x21eb288a372e38c0000" + }, + "563433bd8357b06982fe001df20b2b43393d21d2": { + "balance": "0x21eb288a372e38c0000" + }, + "5809369fc5121a071ee67659a975e88ae40fbe3b": { + "balance": "0x21eb288a372e38c0000" + }, + "621843731fe33418007c06ee48cfd71e0ea828d9": { + "balance": "0x21eb288a372e38c0000" + }, + "6651112198c0da05921355642a2b8df1fa3ede93": { + "balance": "0x21eb288a372e38c0000" + }, + "7517e54a456bcc6c5c695b5d9f97ebc05d29a824": { + "balance": "0x21eb288a372e38c0000" + }, + "75411b92fce120c1e7fd171b1c2bf802f2e3cf48": { + "balance": "0x21eb288a372e38c0000" + }, + "79dfb9d2367e7921d4139d7841d24ed82f48907f": { + "balance": "0x21eb288a372e38c0000" + }, + "83c58603bf72da067d7f6238e7bf390d91b2f531": { + "balance": "0x21eb288a372e38c0000" + }, + "840b32f30e1a3b2e8b9e6c0972eba0148e22b847": { + "balance": "0x56bc75e2d63100000" + }, + "ad682035be6ab6f06e478d2bdab0eab6477b460e": { + "balance": "0x21eb288a372e38c0000" + }, + "ae1ec841923811219b98aceb1db297aade2f46f3": { + "balance": "0x21eb288a372e38c0000" + }, + "b0a1a5ffcb34e6fa278d2b40613f0ae1042d32f8": { + "balance": "0x21eb288a372e38c0000" + }, + "b4e92c94a2712e98c020a81868264bde52c188cb": { + "balance": "0x21eb288a372e38c0000" + }, + "b70f9abf41f36b3ab60cc9ae1a85ddda3c88d261": { + "balance": "0x21eb288a372e38c0000" + }, + "b7dd51bfb73c5753778e5af56f1d9669bce6777f": { + "balance": "0x21eb288a372e38c0000" + }, + "b923626c6f1d237252793fb2aa12ba21328c51bc": { + "balance": "0x21eb288a372e38c0000" + }, + "cda518f6b5a797c3ec45d37c65b83e0b0748edca": { + "balance": "0x21eb288a372e38c0000" + }, + "d4369db59eadc4cfa089c0a3c1004ceab1b318d8": { + "balance": "0x21eb288a372e38c0000" + }, + "dd1f519f63423045f526b8c83edc0eb4ba6434a4": { + "balance": "0x21eb288a372e38c0000" + }, + "eb5fd57f87a4e1c7baa53ec1c0d021bb1710b743": { + "balance": "0x21eb288a372e38c0000" + }, + "eee9f4ddf49976251e84182abfd3300ee58d12aa": { + "balance": "0x21eb288a372e38c0000" + }, + "fecc71c8f33ca5952534fd346addedc38dbb9cb7": { + "balance": "0x21eb288a372e38c0000" + } + }, + "coinbase": "0x0000000000000000000000000000000000000000", + "config": { + "arrowGlacierBlock": 26384000, + "bedrockBlock": 26384000, + "berlinBlock": 26384000, + "byzantiumBlock": 0, + "cancunTime": 1727339320, + "canyonTime": 1727339320, + "cel2Time": 1727339320, + "celo": { + "eip1559BaseFeeFloor": 25000000000 + }, + "chainId": 44787, + "constantinopleBlock": 0, + "daoForkSupport": true, + "ecotoneTime": 1727339320, + "eip150Block": 0, + "eip155Block": 0, + "eip158Block": 0, + "fjordTime": 1727339320, + "gingerbreadBlock": 19814000, + "graniteTime": 1727339320, + "grayGlacierBlock": 26384000, + "homesteadBlock": 0, + "istanbulBlock": 0, + "londonBlock": 26384000, + "mergeNetsplitBlock": 26384000, + "optimism": { + "eip1559Denominator": 400, + "eip1559DenominatorCanyon": 400, + "eip1559Elasticity": 5 + }, + "petersburgBlock": 0, + "regolithTime": 1727339320, + "shanghaiTime": 1727339320, + "terminalTotalDifficulty": 0, + "terminalTotalDifficultyPassed": true + }, + "extraData": "0xecc833a7747eaa8327335e8e0c6b6d8aa3a38d0063591e43ce116ccf5c89753ef90559f8d294456f41406b32c45d59e539e4bba3d7898c3584da94dd1f519f63423045f526b8c83edc0eb4ba6434a494050f34537f5b2a00b9b9c752cb8500a3fce3da7d94cda518f6b5a797c3ec45d37c65b83e0b0748edca94b4e92c94a2712e98c020a81868264bde52c188cb94ae1ec841923811219b98aceb1db297aade2f46f394621843731fe33418007c06ee48cfd71e0ea828d9942a43f97f8bf959e31f69a894ebd80a88572c855394ad682035be6ab6f06e478d2bdab0eab6477b460e9430d060f129817c4de5fbc1366d53e19f43c8c64ff903d4b86011877b768127c8eb0f122fbe69553bc9d142d27c06a85c6eeb7b8b457f511e50c33a57fcbc5fd6d1823f69a111f8010151a17f6a8798a25343f5403b1e6a595c7d9698af3db78b013d26a761fc201b3cf793be5f0a0a849b3f68a8bfa81e7001b860d882cd4cc09109928e9517644d5303610155978cf5e3b7ad6122daa19c3dab3da8c439bc763d6d3eef18a38ebb0d3200664b94fab11adbb3f44b963969763b590af45931c482396be88a185214c9c8690615aae5197e852bc1d04b3dbd03ab80b86051588d46ba8998d944a30cde93bfe946e774ef1f6fe2fb559a74ffebf60d1ad967b876a038c6e312d0c20752cbc8440012293b6ea417f32a163caedeaaae7aad3c1b31be1fe86c405924b1be7d0aaae6f3ba567ee907d0d4c00dce5091442380b8601f2becc31c1f0141e8c5768c5f07d02d1342c086c037cce70aaf3629b40ea017884a81163f58697b020b21fe39c440006970bc1f52b847d7262599ae92ee7db45ad38efe5612c8ed42d9db9380da0769bab713f5259b7c015998296bf02a0a01b860d02ec615b916bba4fe7e65a3d79e607aa27bb5a84b0c2f242e9d8f379512cf40051a43030e55aca965d91c905b656d006434d95b7034bfc2e5e2ef7384e8cd640efae740558216f6f9db24c6d1acf755746dfbb68c76961593741105725d5680b860d6e86d5e73db3b3a2c96c6caa1a7e153e17adb13fb541943a44bfa90beab38aa73ad453d918fea2ba57c0a67115d0401c56946d8894f346d796864e9344fd1439dd1345de762f85d7e18e311b35c3cbe492886ef8bc872b4aabfa23c2e38a901b8601cf59939da60cdb9aff09f76e6070a17fa21356ca7016390ef4444243e12ab7ed7a233d7ca48b0d17870ba015a4410014e5cac8d456e03ec2908d347627d5e9ecd496ce990d10900ddc529300eef3d037e48d79f03ad2b6bcd48affe2ddf2681b8601cfe8876c0b89ef15128bb27eb69e7939b4a888b0a81195d5fd1bbda748a29838274e652dcf857f4090bb85343055300ca3e75a980b100403d3b6d34f62c6a86bbd75203391c63dd405725c69241a828e6892f623ed5b35c8dc132b032061201b860a6fc71d63c5adedb7b30b9e0ba3d83debf86d12ba235c13584a9cbad410f082030427be4f8a9127889979c3eea58860031af128deece487df5aef9d999c8dc2fb51f308eb1ee229e6bbd6860138d4fcf4209eb7bec62ca70dd8643104003c200b8606b7adb5d01e3fd72ae2c4ff17e6620dc383431e0ebe06c9af5b94207f380287429043e7bbe417b82d0aed2e43dc7b8002bb52886773e4a2c23bf0ebfd401471e8da3cf3a0a7e0949d9ad4de38138a787a975993ba311525ce8be331cd60d670080b8410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c3808080f86480b86000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "gasUsed": "0x0", + "number": "0x0", + "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "timestamp": "0x5b843511" +} + diff --git a/celo/alfajores/rollup.json b/celo/alfajores/rollup.json new file mode 100644 index 00000000..7d82d897 --- /dev/null +++ b/celo/alfajores/rollup.json @@ -0,0 +1,42 @@ +{ + "genesis": { + "l1": { + "hash": "0x64728368a04f067bc2abe78c1de17f3711b054c4f3e979955fd8482af85e86db", + "number": 2411247 + }, + "l2": { + "hash": "0xe96cb39b59ebe02553e47424e7f57dbfbffca905c3ff350765985289754a00a3", + "number": 26384000 + }, + "l2_time": 1727337408, + "system_config": { + "batcherAddr": "0x6f9cc6bfe1a0b446a36453d150905bbd6a4784e0", + "overhead": "0x0000000000000000000000000000000000000000000000000000000000000000", + "scalar": "0x00000000000000000000000000000000000000000000000000000000000f4240", + "gasLimit": 30000000 + } + }, + "block_time": 1, + "max_sequencer_drift": 1800, + "seq_window_size": 3600, + "channel_timeout": 300, + "l1_chain_id": 17000, + "l2_chain_id": 44787, + "regolith_time": 0, + "cel2_time": 0, + "canyon_time": 0, + "delta_time": 0, + "ecotone_time": 0, + "fjord_time": 0, + "granite_time": 0, + "batch_inbox_address": "0xfff0000000000000000000000000000000044787", + "deposit_contract_address": "0x82527353927d8d069b3b452904c942da149ba381", + "l1_system_config_address": "0x499b0c1f4bdc76d61b1d13b03384eac65faf50c7", + "protocol_versions_address": "0x0000000000000000000000000000000000000000", + "alt_da": { + "da_challenge_contract_address": "0x0000000000000000000000000000000000000000", + "da_commitment_type": "GenericCommitment", + "da_challenge_window": 1, + "da_resolve_window": 1 + } +} diff --git a/op-celo-alfajores-fullnode.yml b/op-celo-alfajores-fullnode.yml index fbc63151..a4f5c0f6 100644 --- a/op-celo-alfajores-fullnode.yml +++ b/op-celo-alfajores-fullnode.yml @@ -1,6 +1,15 @@ services: + init: + image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:celo8 + volumes: + - "op-celo-alfajores-fullnode:/datadir" + - "celo/alfajores:/config" + command: init --datadir /datadir /config/genesis.json + op-celo-alfajores-fullnode: - image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:celo9 + image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-geth:celo8 + depends_on: + - init volumes: - "op-celo-alfajores-fullnode:/datadir" - ".jwtsecret:/jwtsecret" @@ -43,6 +52,7 @@ services: image: us-west1-docker.pkg.dev/devopsre/celo-blockchain-public/op-node:celo9 depends_on: - op-celo-alfajores-fullnode + - op-celo-alfajores-key-generator expose: - 8545 # RPC - 39395 # P2P TCP @@ -60,13 +70,13 @@ services: --l2=http://op-celo-alfajores-fullnode:8551 --l2.jwt-secret=/jwtsecret --rollup.load-protocol-versions=true - --rollup.config=/data/rollup.json + --rollup.config=/config/rollup.json --verifier.l1-confs=4 --rpc.addr=0.0.0.0 --rpc.port=9545 --p2p.listen.tcp=39395 --p2p.listen.udp=39395 - --p2p.priv.path=/data/op-node_p2p_priv.txt + --p2p.priv.path=/config/p2p_node_key_txt --p2p.static=/ip4/35.197.25.52/tcp/9222/p2p/16Uiu2HAmQEdyLRSAVZDr5SqbJ1RnKmNDhtQJcEKmemrVxe4FxKwR,/ip4/34.105.22.4/tcp/9222/p2p/16Uiu2HAm1SZBDSugT5MMu7vBY8auDgfZFNhoDeXPLc9Me5FsAxwT,/ip4/34.83.209.168/tcp/9222/p2p/16Uiu2HAmGJAiUX6HLSo4nLh8T984qxzokwL23cVsYuNZy2SrK7C6,/ip4/34.83.214.149/tcp/9222/p2p/16Uiu2HAmAko2Kr3eAjM7tnshtEhYrxQYfKUvN2kwiygeFoBAoi8S,/ip4/34.169.5.52/tcp/9222/p2p/16Uiu2HAmKc6YKHzYgsjBDaj36uAufxpgZFgrzDqVBt6zTPwdhhJD --altda.enabled=true --altda.da-server=https://eigenda-proxy.alfajores.celo-testnet.org @@ -75,8 +85,17 @@ services: restart: always volumes: - .jwtsecret:/jwtsecret + - ./celo/alfajores:/config" stop_grace_period: 30s - + + op-celo-alfajores-key-generator: + image: ghcr.io/foundry-rs/foundry + volumes: + - "./celo/alfajores:/config" + entrypoint: sh + command: [ -f /config/p2p_node_key_txt ] && exit 0 || cast w n | grep -i 'Private Key' | awk -F ': ' '{print $2}' | sed 's/0x//' > /config/p2p_node_key_txt + + volumes: op-celo-alfajores-fullnode: