diff --git a/rust/Cargo.lock b/rust/Cargo.lock index 86c0a2a92b3..7e59c381866 100644 --- a/rust/Cargo.lock +++ b/rust/Cargo.lock @@ -9447,7 +9447,7 @@ checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" [[package]] name = "reth-basic-payload-builder" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9471,7 +9471,7 @@ dependencies = [ [[package]] name = "reth-chain-state" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9503,7 +9503,7 @@ dependencies = [ [[package]] name = "reth-chainspec" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-chains", "alloy-consensus", @@ -9523,7 +9523,7 @@ dependencies = [ [[package]] name = "reth-cli" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-genesis", "clap", @@ -9537,7 +9537,7 @@ dependencies = [ [[package]] name = "reth-cli-commands" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-chains", "alloy-consensus", @@ -9623,7 +9623,7 @@ dependencies = [ [[package]] name = "reth-cli-runner" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "reth-tasks", "tokio", @@ -9633,7 +9633,7 @@ dependencies = [ [[package]] name = "reth-cli-util" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9653,7 +9653,7 @@ dependencies = [ [[package]] name = "reth-codecs" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9673,7 +9673,7 @@ dependencies = [ [[package]] name = "reth-codecs-derive" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "proc-macro2", "quote", @@ -9683,7 +9683,7 @@ dependencies = [ [[package]] name = "reth-config" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "eyre", "humantime-serde", @@ -9699,7 +9699,7 @@ dependencies = [ [[package]] name = "reth-consensus" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -9712,7 +9712,7 @@ dependencies = [ [[package]] name = "reth-consensus-common" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9724,7 +9724,7 @@ dependencies = [ [[package]] name = "reth-consensus-debug-client" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9750,7 +9750,7 @@ dependencies = [ [[package]] name = "reth-db" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "derive_more", @@ -9777,7 +9777,7 @@ dependencies = [ [[package]] name = "reth-db-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -9806,7 +9806,7 @@ dependencies = [ [[package]] name = "reth-db-common" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-genesis", @@ -9836,7 +9836,7 @@ dependencies = [ [[package]] name = "reth-db-models" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -9851,7 +9851,7 @@ dependencies = [ [[package]] name = "reth-discv4" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9876,7 +9876,7 @@ dependencies = [ [[package]] name = "reth-discv5" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -9900,7 +9900,7 @@ dependencies = [ [[package]] name = "reth-dns-discovery" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "dashmap", @@ -9924,7 +9924,7 @@ dependencies = [ [[package]] name = "reth-downloaders" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -9959,7 +9959,7 @@ dependencies = [ [[package]] name = "reth-e2e-test-utils" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10017,7 +10017,7 @@ dependencies = [ [[package]] name = "reth-ecies" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "aes", "alloy-primitives", @@ -10045,7 +10045,7 @@ dependencies = [ [[package]] name = "reth-engine-local" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10069,7 +10069,7 @@ dependencies = [ [[package]] name = "reth-engine-primitives" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10094,7 +10094,7 @@ dependencies = [ [[package]] name = "reth-engine-service" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "futures", "pin-project", @@ -10116,7 +10116,7 @@ dependencies = [ [[package]] name = "reth-engine-tree" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eip7928", @@ -10173,7 +10173,7 @@ dependencies = [ [[package]] name = "reth-engine-util" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -10201,7 +10201,7 @@ dependencies = [ [[package]] name = "reth-era" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10216,7 +10216,7 @@ dependencies = [ [[package]] name = "reth-era-downloader" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "bytes", @@ -10232,7 +10232,7 @@ dependencies = [ [[package]] name = "reth-era-utils" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10254,7 +10254,7 @@ dependencies = [ [[package]] name = "reth-errors" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "reth-consensus", "reth-execution-errors", @@ -10265,7 +10265,7 @@ dependencies = [ [[package]] name = "reth-eth-wire" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-chains", "alloy-primitives", @@ -10294,7 +10294,7 @@ dependencies = [ [[package]] name = "reth-eth-wire-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-chains", "alloy-consensus", @@ -10318,7 +10318,7 @@ dependencies = [ [[package]] name = "reth-ethereum" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-rpc-types-engine", "alloy-rpc-types-eth", @@ -10359,7 +10359,7 @@ dependencies = [ [[package]] name = "reth-ethereum-cli" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "clap", "eyre", @@ -10382,7 +10382,7 @@ dependencies = [ [[package]] name = "reth-ethereum-consensus" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10398,7 +10398,7 @@ dependencies = [ [[package]] name = "reth-ethereum-engine-primitives" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -10416,7 +10416,7 @@ dependencies = [ [[package]] name = "reth-ethereum-forks" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eip2124", "alloy-hardforks", @@ -10430,7 +10430,7 @@ dependencies = [ [[package]] name = "reth-ethereum-payload-builder" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10459,7 +10459,7 @@ dependencies = [ [[package]] name = "reth-ethereum-primitives" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10479,7 +10479,7 @@ dependencies = [ [[package]] name = "reth-etl" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "rayon", "reth-db-api", @@ -10489,7 +10489,7 @@ dependencies = [ [[package]] name = "reth-evm" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10513,7 +10513,7 @@ dependencies = [ [[package]] name = "reth-evm-ethereum" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10535,7 +10535,7 @@ dependencies = [ [[package]] name = "reth-execution-errors" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-evm", "alloy-primitives", @@ -10548,7 +10548,7 @@ dependencies = [ [[package]] name = "reth-execution-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10566,7 +10566,7 @@ dependencies = [ [[package]] name = "reth-exex" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10604,7 +10604,7 @@ dependencies = [ [[package]] name = "reth-exex-test-utils" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "eyre", @@ -10636,7 +10636,7 @@ dependencies = [ [[package]] name = "reth-exex-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -10650,7 +10650,7 @@ dependencies = [ [[package]] name = "reth-fs-util" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "serde", "serde_json", @@ -10660,7 +10660,7 @@ dependencies = [ [[package]] name = "reth-invalid-block-hooks" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10688,7 +10688,7 @@ dependencies = [ [[package]] name = "reth-ipc" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "bytes", "futures", @@ -10708,7 +10708,7 @@ dependencies = [ [[package]] name = "reth-libmdbx" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "bitflags 2.10.0", "byteorder", @@ -10724,7 +10724,7 @@ dependencies = [ [[package]] name = "reth-mdbx-sys" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "bindgen", "cc", @@ -10733,7 +10733,7 @@ dependencies = [ [[package]] name = "reth-metrics" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "futures", "metrics", @@ -10745,7 +10745,7 @@ dependencies = [ [[package]] name = "reth-net-banlist" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "ipnet", @@ -10754,7 +10754,7 @@ dependencies = [ [[package]] name = "reth-net-nat" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "futures-util", "if-addrs 0.14.0", @@ -10768,7 +10768,7 @@ dependencies = [ [[package]] name = "reth-network" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10825,7 +10825,7 @@ dependencies = [ [[package]] name = "reth-network-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -10850,7 +10850,7 @@ dependencies = [ [[package]] name = "reth-network-p2p" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -10873,7 +10873,7 @@ dependencies = [ [[package]] name = "reth-network-peers" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -10888,7 +10888,7 @@ dependencies = [ [[package]] name = "reth-network-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eip2124", "humantime-serde", @@ -10902,7 +10902,7 @@ dependencies = [ [[package]] name = "reth-nippy-jar" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "anyhow", "bincode 1.3.3", @@ -10919,7 +10919,7 @@ dependencies = [ [[package]] name = "reth-node-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-rpc-types-engine", "eyre", @@ -10943,7 +10943,7 @@ dependencies = [ [[package]] name = "reth-node-builder" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11012,7 +11012,7 @@ dependencies = [ [[package]] name = "reth-node-core" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11067,7 +11067,7 @@ dependencies = [ [[package]] name = "reth-node-ethereum" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-network", @@ -11105,7 +11105,7 @@ dependencies = [ [[package]] name = "reth-node-ethstats" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -11129,7 +11129,7 @@ dependencies = [ [[package]] name = "reth-node-events" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11153,7 +11153,7 @@ dependencies = [ [[package]] name = "reth-node-metrics" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "bytes", "eyre", @@ -11182,7 +11182,7 @@ dependencies = [ [[package]] name = "reth-node-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "reth-chainspec", "reth-db-api", @@ -11754,7 +11754,7 @@ dependencies = [ [[package]] name = "reth-payload-builder" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -11775,7 +11775,7 @@ dependencies = [ [[package]] name = "reth-payload-builder-primitives" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "pin-project", "reth-payload-primitives", @@ -11787,7 +11787,7 @@ dependencies = [ [[package]] name = "reth-payload-primitives" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11810,7 +11810,7 @@ dependencies = [ [[package]] name = "reth-payload-util" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -11820,7 +11820,7 @@ dependencies = [ [[package]] name = "reth-payload-validator" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-rpc-types-engine", @@ -11830,7 +11830,7 @@ dependencies = [ [[package]] name = "reth-primitives" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "once_cell", @@ -11843,7 +11843,7 @@ dependencies = [ [[package]] name = "reth-primitives-traits" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11877,7 +11877,7 @@ dependencies = [ [[package]] name = "reth-provider" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11922,7 +11922,7 @@ dependencies = [ [[package]] name = "reth-prune" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -11951,7 +11951,7 @@ dependencies = [ [[package]] name = "reth-prune-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "arbitrary", @@ -11967,7 +11967,7 @@ dependencies = [ [[package]] name = "reth-revm" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "reth-primitives-traits", @@ -11980,7 +11980,7 @@ dependencies = [ [[package]] name = "reth-rpc" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -12057,7 +12057,7 @@ dependencies = [ [[package]] name = "reth-rpc-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eip7928", "alloy-eips", @@ -12087,7 +12087,7 @@ dependencies = [ [[package]] name = "reth-rpc-builder" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-network", "alloy-provider", @@ -12128,7 +12128,7 @@ dependencies = [ [[package]] name = "reth-rpc-convert" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-evm", @@ -12152,7 +12152,7 @@ dependencies = [ [[package]] name = "reth-rpc-engine-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -12182,7 +12182,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-dyn-abi", @@ -12226,7 +12226,7 @@ dependencies = [ [[package]] name = "reth-rpc-eth-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -12274,7 +12274,7 @@ dependencies = [ [[package]] name = "reth-rpc-layer" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-rpc-types-engine", "http", @@ -12288,7 +12288,7 @@ dependencies = [ [[package]] name = "reth-rpc-server-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -12304,7 +12304,7 @@ dependencies = [ [[package]] name = "reth-stages" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -12354,7 +12354,7 @@ dependencies = [ [[package]] name = "reth-stages-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -12381,7 +12381,7 @@ dependencies = [ [[package]] name = "reth-stages-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "arbitrary", @@ -12395,7 +12395,7 @@ dependencies = [ [[package]] name = "reth-static-file" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "parking_lot", @@ -12415,7 +12415,7 @@ dependencies = [ [[package]] name = "reth-static-file-types" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "clap", @@ -12430,7 +12430,7 @@ dependencies = [ [[package]] name = "reth-storage-api" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -12454,7 +12454,7 @@ dependencies = [ [[package]] name = "reth-storage-errors" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-eips", "alloy-primitives", @@ -12471,7 +12471,7 @@ dependencies = [ [[package]] name = "reth-tasks" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "auto_impl", "dyn-clone", @@ -12489,7 +12489,7 @@ dependencies = [ [[package]] name = "reth-testing-utils" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -12505,7 +12505,7 @@ dependencies = [ [[package]] name = "reth-tokio-util" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "tokio", "tokio-stream", @@ -12515,7 +12515,7 @@ dependencies = [ [[package]] name = "reth-tracing" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "clap", "eyre", @@ -12534,7 +12534,7 @@ dependencies = [ [[package]] name = "reth-tracing-otlp" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "clap", "eyre", @@ -12552,7 +12552,7 @@ dependencies = [ [[package]] name = "reth-transaction-pool" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -12598,7 +12598,7 @@ dependencies = [ [[package]] name = "reth-trie" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-eips", @@ -12624,7 +12624,7 @@ dependencies = [ [[package]] name = "reth-trie-common" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-consensus", "alloy-primitives", @@ -12651,7 +12651,7 @@ dependencies = [ [[package]] name = "reth-trie-db" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "metrics", @@ -12671,7 +12671,7 @@ dependencies = [ [[package]] name = "reth-trie-parallel" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -12696,7 +12696,7 @@ dependencies = [ [[package]] name = "reth-trie-sparse" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "alloy-primitives", "alloy-rlp", @@ -12715,7 +12715,7 @@ dependencies = [ [[package]] name = "reth-zstd-compressors" version = "1.11.0" -source = "git+https://github.com/paradigmxyz/reth?tag=v1.11.0#564ffa586845fa4a8bb066f0c7b015ff36b26c08" +source = "git+https://github.com/celo-org/reth?rev=4861090#4861090ed3912f44c19177e18f5388f2be4f8b25" dependencies = [ "zstd", ] diff --git a/rust/Cargo.toml b/rust/Cargo.toml index a2e0e80b9d7..e4b59a7799a 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -307,78 +307,78 @@ alloy-op-evm = { version = "0.26.3", path = "alloy-op-evm/", default-features = alloy-op-hardforks = { version = "0.4.7", path = "alloy-op-hardforks/", default-features = false } # ==================== RETH CRATES (from git rev 564ffa58 / main) ==================== -reth = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-basic-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-chain-state = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-chainspec = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-cli-commands = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-cli-runner = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-cli-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-codecs = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-consensus-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-db-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-db-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-downloaders = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-e2e-test-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-engine-local = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-engine-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-eth-wire = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-ethereum-cli = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-ethereum-consensus = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-ethereum-forks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-ethereum-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-evm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-evm-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-exex = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-exex-test-utils = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-execution-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-execution-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-fs-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-network = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-network-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-network-peers = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-node-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-node-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-node-core = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-node-ethereum = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-node-events = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-node-metrics = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-payload-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-payload-builder-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-payload-primitives = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-payload-util = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-payload-validator = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-primitives-traits = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-provider = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-prune = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-prune-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-revm = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-rpc = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-rpc-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-rpc-builder = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-rpc-engine-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-rpc-eth-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-rpc-eth-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-rpc-server-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-stages = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-stages-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-static-file = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-static-file-types = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-storage-api = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-storage-errors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-tasks = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-tracing = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-transaction-pool = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-trie = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-trie-common = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } -reth-trie-db = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0" } -reth-zstd-compressors = { git = "https://github.com/paradigmxyz/reth", tag = "v1.11.0", default-features = false } +reth = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-basic-payload-builder = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-chain-state = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-chainspec = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-cli = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-cli-commands = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-cli-runner = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-cli-util = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-codecs = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-consensus = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-consensus-common = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-db = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-db-api = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-db-common = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-downloaders = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-e2e-test-utils = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-engine-local = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-engine-primitives = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-errors = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-eth-wire = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-ethereum = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-ethereum-cli = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-ethereum-consensus = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-ethereum-forks = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-ethereum-primitives = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-evm = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-evm-ethereum = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-exex = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-exex-test-utils = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-execution-errors = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-execution-types = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-fs-util = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-metrics = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-network = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-network-api = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-network-peers = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-node-api = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-node-builder = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-node-core = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-node-ethereum = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-node-events = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-node-metrics = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-payload-builder = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-payload-builder-primitives = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-payload-primitives = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-payload-util = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-payload-validator = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-primitives-traits = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-provider = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-prune = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-prune-types = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-revm = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-rpc = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-rpc-api = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-rpc-builder = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-rpc-engine-api = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-rpc-eth-api = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-rpc-eth-types = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-rpc-server-types = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-stages = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-stages-types = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-static-file = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-static-file-types = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-storage-api = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-storage-errors = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-tasks = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-tracing = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-transaction-pool = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-trie = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-trie-common = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } +reth-trie-db = { git = "https://github.com/celo-org/reth", rev = "4861090" } +reth-zstd-compressors = { git = "https://github.com/celo-org/reth", rev = "4861090", default-features = false } # ==================== REVM (latest: op-reth versions) ==================== revm = { version = "34.0.0", default-features = false } diff --git a/rust/deny.toml b/rust/deny.toml index 461d1eda193..b8f5e33c464 100644 --- a/rust/deny.toml +++ b/rust/deny.toml @@ -94,6 +94,7 @@ registries = [] [sources] allow-git = [ "https://github.com/paradigmxyz/reth", + "https://github.com/celo-org/reth", "https://github.com/alloy-rs/alloy", "https://github.com/alloy-rs/hardforks", "https://github.com/alloy-rs/evm", diff --git a/rust/op-reth/CELO_MIGRATION.md b/rust/op-reth/CELO_MIGRATION.md new file mode 100644 index 00000000000..39f83dc4629 --- /dev/null +++ b/rust/op-reth/CELO_MIGRATION.md @@ -0,0 +1,141 @@ +# Celo L2 Migration: reth State Import + +This document describes how to initialize an op-reth node with the Celo L1 state dump for the Cel2 migration. + +## Overview + +The Celo L2 migration imports the full Celo L1 state (pre-migration) into reth at migration block `31,056,500`. The state dump contains all existing Celo L1 accounts, and the L2 allocs (OP Stack predeploys and Celo-specific contracts injected at migration time) must be appended to it. + +## Prerequisites + +- A built `op-reth` binary with the Celo migration header support (branch `palango/reth-import`) + +## Step 1: Download and Decompress the L1 State Dump + +The compressed state dump (~15GB zstd) is available at: +https://storage.googleapis.com/cel2-rollup-files/celo/l1-final-state.json.zst + +Download and decompress (~56GB JSONL): + +```bash +curl -O https://storage.googleapis.com/cel2-rollup-files/celo/l1-final-state.json.zst +zstd -d l1-final-state.json.zst +``` + +## Step 2: Prepare the State Dump + +The L1 state dump must be merged with the L2 migration allocs before import. The merge script applies the same logic as the Go migration (`applyAllocsToState` + `setupUnreleasedTreasury`): + +- Fixes the zero address dump bug (missing `address` field) +- Merges L2 alloc accounts with existing L1 accounts using allowlist rules +- Sets the treasury balance to the post-migration value +- Updates the state root to `CEL2_HEADER.state_root` + +```bash +python3 scripts/append_l2_allocs.py /path/to/l1-final-state.json +``` + +This creates `/path/to/l1-final-state.json.with-allocs.jsonl` without modifying the original. You can also specify a custom output path: + +```bash +python3 scripts/append_l2_allocs.py /path/to/l1-final-state.json /path/to/output.jsonl +``` + +### State dump format + +The dump is JSONL with: +- Line 1: `{"root": "0x..."}` — must match `CEL2_HEADER.state_root` (reth checks this before importing) +- Lines 2+: one account per line with `address`, `balance`, `nonce`, `code`, `storage` fields + +Extra fields from the L1 dump (`root`, `codeHash`) are silently ignored due to serde `flatten` behavior. Balance can be a decimal string (e.g. `"157500000000000"`) or hex (`"0x..."`). Nonce can be a JSON integer or hex string. + +After importing all accounts, reth computes the state root from the trie and verifies it also matches `CEL2_HEADER.state_root` (`0xed980641...`). + +## Step 3: Initialize reth + +The dummy chain creation opens many static file segments. On macOS, increase the file descriptor limit before running: + +```bash +ulimit -n 10240 +``` + +Then run `op-reth init-state` with the `--without-ovm` flag and the prepared state dump: + +```bash +op-reth init-state \ + --chain celo \ + --datadir=/path/to/datadir \ + --without-ovm \ + /path/to/celo-l1-dump-final-state.json.with-allocs.jsonl +``` + +The `--without-ovm` flag with Celo mainnet chain ID (`42220`) will: + +1. Create a dummy chain up to block `31,056,499` +2. Append the hardcoded Cel2 migration header at block `31,056,500` +3. Import all accounts from the state dump +4. Compute the state root and verify it matches the migration header + +## Logs + +Successful import (14 April 2026): + +``` +$ python3 scripts/append_l2_allocs.py /mnt/ssd/celo/l1-final-state.json +Downloading l2-allocs.json from https://storage.googleapis.com/cel2-rollup-files/celo/l2-allocs.json... +Loaded 2080 L2 alloc accounts. +Processing /mnt/ssd/celo/l1-final-state.json -> /mnt/ssd/celo/l1-final-state.json.with-allocs.jsonl... +State root: 0x3817f87742aaeb96219d6c1fed8b32a562b59065116c49a53693abfd118838bc -> 0xed980641a4bd4d2e84c6c8db980b7f05e95733c92be2e0045db3735efeb1d807 + Merge 0xfb1bffc9d739b8d520daf37df666da4c687191ea: case 2 (allowlist skip, keep L1) + Merge 0x000000000022d473030f116ddee9f6b43ac78ba3: case 2 (allowlist skip, keep L1) + Merge 0x914d7fec6aac8cd542e72bca78b30650d45643d7: case 2 (allowlist skip, keep L1) + 5000000 accounts processed... + Merge 0xefc2c1444ebcc4db75e7613d20c6a62ff67a167c: case 2 (allowlist skip, keep L1) + Merge 0x4200000000000000000000000000000000000006: case 5 (balance-only L1, balance=23086547216520198) + Merge 0x4e59b44847b379578588920ca78fbf26c0b4956c: case 2 (allowlist skip, keep L1) + Merge 0x0000000071727de22e5e9d8baf0edac6f37da032: case 2 (allowlist skip, keep L1) +Fixed zero address entry (key -> address) + 10000000 accounts processed... + Merge 0xba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed: case 2 (allowlist skip, keep L1) + Merge 0x69f4d1788e39c87893c980c06edf4b7f686e2938: case 2 (allowlist skip, keep L1) + Merge 0xa1dabef33b3b82c7814b6d82a79e50f4ac44102b: case 2 (allowlist skip, keep L1) + Merge 0x998739bfdaadde7c933b942a68053933098f9eda: case 2 (allowlist skip, keep L1) + Merge 0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789: case 2 (allowlist skip, keep L1) + 15000000 accounts processed... + Merge 0xca11bde05977b3631167028862be2a173976ca11: case 2 (allowlist skip, keep L1) + Merge 0x13b0d85ccb8bf860b6b79af3029fca081ae9bef2: case 3 (allowlist, overwrite code only) + 20000000 accounts processed... +CeloToken totalSupply: 707425076124471169833280651 +Treasury L1 balance: 0 + Merge 0x7fc98430eaedbb6070b35b39d798725049088348: case 2 (allowlist skip, keep L1) +Treasury 0x7a8c7a833565fc428cdfba20fe03fafb178a434f: L1 only, set balance + +Processed 23853250 L1 accounts +Merged 15 existing accounts with L2 allocs +Appended 2065 new accounts from L2 allocs +Treasury balance: 292574923875528830166719349 (0xf20326676e9b4664ff5b75) +Treasury balance verified: 1000000000000000000000000000 - 707425076124471169833280651 + 0 = 292574923875528830166719349 + +Done. +paul_lange_clabs_co@paul-reth-import-test:/mnt/ssd/optimism/rust$ ./target/release/op-reth init-state --chain celo --datadir=/mnt/ssd/data --without-ovm ../../celo/l1-final-state.json.with-allocs.jsonl +2026-04-15T10:05:34.713366Z INFO Initialized tracing, debug log directory: /home/paul_lange_clabs_co/.cache/reth/logs/celo +2026-04-15T10:05:34.714155Z INFO Reth init-state starting chain_name="Celo mainnet" +2026-04-15T10:05:34.716359Z INFO Opening storage db_path="/mnt/ssd/data/db" sf_path="/mnt/ssd/data/static_files" +2026-04-15T10:05:34.719588Z INFO check_consistency{read_only=false}: Verifying storage consistency. +2026-04-15T10:05:34.724666Z INFO Setting up dummy EVM chain before importing state. new_tip=NumHash { number: 31056500, hash: 0x7586014e20c69b3fa7c9070baf1a7edd95833db57853126f32593b455da2e5c5 } +2026-04-15T10:06:15.278653Z INFO Appending first valid block. +2026-04-15T10:06:15.298941Z INFO Set up finished. +2026-04-15T10:06:15.302261Z INFO Initiating state dump +2026-04-15T10:06:18.441280Z INFO parsed_new_accounts=285228 +2026-04-15T10:06:19.105206Z INFO parsed_new_accounts=570456 +... +2026-04-15T10:12:19.693707Z INFO parsed_new_accounts=23388696 +2026-04-15T10:12:21.001389Z INFO parsed_new_accounts=23673924 +2026-04-15T10:12:25.469480Z INFO Writing accounts to db total_inserted_accounts=285229 +2026-04-15T10:12:35.931102Z INFO Writing accounts to db total_inserted_accounts=570457 +... +2026-04-15T10:35:57.113326Z INFO Writing accounts to db total_inserted_accounts=23855315 +2026-04-15T10:36:02.674107Z INFO All accounts written to database, starting state root computation (may take some time) +2026-04-15T10:47:18.447497Z INFO Computed state root matches state root in state dump computed_state_root=0xed980641a4bd4d2e84c6c8db980b7f05e95733c92be2e0045db3735efeb1d807 +2026-04-15T10:47:18.660820Z INFO Genesis block written hash=0x7586014e20c69b3fa7c9070baf1a7edd95833db57853126f32593b455da2e5c5 +``` diff --git a/rust/op-reth/crates/cli/src/commands/init_state.rs b/rust/op-reth/crates/cli/src/commands/init_state.rs index 09e2bd23ab7..76ff72e8c2e 100644 --- a/rust/op-reth/crates/cli/src/commands/init_state.rs +++ b/rust/op-reth/crates/cli/src/commands/init_state.rs @@ -2,6 +2,7 @@ use alloy_consensus::Header; use clap::Parser; +use reth_chainspec::EthChainSpec; use reth_cli::chainspec::ChainSpecParser; use reth_cli_commands::common::{AccessRights, CliNodeTypes, Environment}; use reth_db_common::init::init_from_state_dump; @@ -9,15 +10,20 @@ use reth_optimism_chainspec::OpChainSpec; use reth_optimism_primitives::{ OpPrimitives, bedrock::{BEDROCK_HEADER, BEDROCK_HEADER_HASH}, + celo::{CEL2_HEADER, CEL2_HEADER_HASH}, }; use reth_primitives_traits::{SealedHeader, header::HeaderMut}; use reth_provider::{ BlockNumReader, DBProvider, DatabaseProviderFactory, StaticFileProviderFactory, - StaticFileWriter, + StaticFileWriter, StorageSettingsCache, }; +use reth_static_file_types::StaticFileSegment; use std::{io::BufReader, sync::Arc}; use tracing::info; +/// Celo mainnet chain ID. +const CELO_MAINNET_CHAIN_ID: u64 = 42220; + /// Initializes the database with the genesis block. #[derive(Debug, Parser)] pub struct InitStateCommandOp { @@ -26,9 +32,10 @@ pub struct InitStateCommandOp { /// Specifies whether to initialize the state without relying on OVM or EVM historical data. /// - /// When enabled, and before inserting the state, it creates a dummy chain up to the last OVM - /// block (#105235062) (14GB / 90 seconds). It then, appends the Bedrock block. This is - /// hardcoded for OP mainnet, for other OP chains you will need to pass in a header. + /// When enabled, and before inserting the state, it creates a dummy chain up to the + /// migration block, then appends the migration header. Hardcoded migration headers are + /// available for OP mainnet (Bedrock, block #105235063) and Celo mainnet (Cel2, block + /// #31056500). For other OP chains, a header must be passed in. /// /// - **Note**: **Do not** import receipts and blocks beforehand, or this will fail or be /// ignored. @@ -41,14 +48,22 @@ impl> InitStateCommandOp { pub async fn execute>( mut self, ) -> eyre::Result<()> { - // If using --without-ovm for OP mainnet, handle the special case with hardcoded Bedrock - // header. Otherwise delegate to the base InitStateCommand implementation. if self.without_ovm { if self.init_state.env.chain.is_optimism_mainnet() { - return self.execute_with_bedrock_header::(); + return self.execute_with_migration_header::( + "OP mainnet", + SealedHeader::new(BEDROCK_HEADER, BEDROCK_HEADER_HASH), + ); + } + + if self.init_state.env.chain.chain_id() == CELO_MAINNET_CHAIN_ID { + return self.execute_with_migration_header::( + "Celo mainnet", + SealedHeader::new(CEL2_HEADER, CEL2_HEADER_HASH), + ); } - // For non-mainnet OP chains with --without-ovm, use the base implementation + // For other OP chains with --without-ovm, use the base implementation // by setting the without_evm flag self.init_state.without_evm = true; } @@ -56,13 +71,18 @@ impl> InitStateCommandOp { self.init_state.execute::().await } - /// Execute init-state with hardcoded Bedrock header for OP mainnet. - fn execute_with_bedrock_header< + /// Execute init-state with a hardcoded migration header. + /// + /// Creates a dummy chain up to the block before `migration_header`, appends the migration + /// header, then imports the state dump. + fn execute_with_migration_header< N: CliNodeTypes, >( self, + chain_name: &str, + migration_header: SealedHeader
, ) -> eyre::Result<()> { - info!(target: "reth::cli", "Reth init-state starting for OP mainnet"); + info!(target: "reth::cli", chain_name, "Reth init-state starting"); let env = self.init_state.env.init::(AccessRights::RW)?; let Environment { config, provider_factory, .. } = env; @@ -70,11 +90,12 @@ impl> InitStateCommandOp { let provider_rw = provider_factory.database_provider_rw()?; let last_block_number = provider_rw.last_block_number()?; + let migration_block_number = migration_header.header().number; if last_block_number == 0 { reth_cli_commands::init_state::without_evm::setup_without_evm( &provider_rw, - SealedHeader::new(BEDROCK_HEADER, BEDROCK_HEADER_HASH), + migration_header, |number| { let mut header = Header::default(); header.set_number(number); @@ -82,13 +103,29 @@ impl> InitStateCommandOp { }, )?; + // With storage v2, genesis init created changeset segments at block 0. + // Advance them through the dummy blocks so the next expected block is + // the migration block. Each increment_block call is cheap (header + // counter + small offset), and new segment files are created as needed. + if provider_rw.cached_storage_settings().storage_v2 { + info!(target: "reth::cli", "Advancing changeset segments to migration block"); + for segment in + [StaticFileSegment::AccountChangeSets, StaticFileSegment::StorageChangeSets] + { + let mut writer = static_file_provider.latest_writer(segment)?; + for block in 1..migration_block_number { + writer.increment_block(block)?; + } + } + } + // SAFETY: it's safe to commit static files, since in the event of a crash, they // will be unwound according to database checkpoints. // - // Necessary to commit, so the BEDROCK_HEADER is accessible to provider_rw and - // init_state_dump + // Necessary to commit, so the migration header is accessible to provider_rw and + // init_from_state_dump. static_file_provider.commit()?; - } else if last_block_number > 0 && last_block_number < BEDROCK_HEADER.number { + } else if last_block_number > 0 && last_block_number < migration_block_number { return Err(eyre::eyre!( "Data directory should be empty when calling init-state with --without-ovm." )); diff --git a/rust/op-reth/crates/primitives/src/celo.rs b/rust/op-reth/crates/primitives/src/celo.rs new file mode 100644 index 00000000000..bf6f790b378 --- /dev/null +++ b/rust/op-reth/crates/primitives/src/celo.rs @@ -0,0 +1,50 @@ +//! Celo L2 migration related data. + +use alloy_consensus::{EMPTY_OMMER_ROOT_HASH, EMPTY_ROOT_HASH, Header}; +use alloy_primitives::{B64, B256, U256, address, b256, bloom, bytes}; + +/// Cel2 migration header hash on Celo Mainnet. +pub const CEL2_HEADER_HASH: B256 = + b256!("0x7586014e20c69b3fa7c9070baf1a7edd95833db57853126f32593b455da2e5c5"); + +/// Cel2 migration header on Celo Mainnet. (`31_056_500`) +pub const CEL2_HEADER: Header = Header { + difficulty: U256::ZERO, + extra_data: bytes!("43656c6f204c32206d6967726174696f6e"), + gas_limit: 50_000_000, + gas_used: 0, + logs_bloom: bloom!( + "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + ), + nonce: B64::ZERO, + number: 31_056_500, + parent_hash: b256!("0x4ecb0660a3b5e8bba3b3851e8926e9a44d0a61fe141e04c6e3e1c01644ce7c20"), + receipts_root: EMPTY_ROOT_HASH, + state_root: b256!("0xed980641a4bd4d2e84c6c8db980b7f05e95733c92be2e0045db3735efeb1d807"), + timestamp: 1_742_957_258, + transactions_root: EMPTY_ROOT_HASH, + ommers_hash: EMPTY_OMMER_ROOT_HASH, + beneficiary: address!("0x4200000000000000000000000000000000000011"), + withdrawals_root: Some(EMPTY_ROOT_HASH), + mix_hash: B256::ZERO, + base_fee_per_gas: Some(0x5d240390e), + blob_gas_used: Some(0), + excess_blob_gas: Some(0), + parent_beacon_block_root: Some(b256!( + "0x6cb2e365f9d78b9071b90e8a1f4675d378cd0867b858571dc1b172ef1d3e085c" + )), + requests_hash: None, +}; + +/// Cel2 migration total difficulty on Celo Mainnet. +pub const CEL2_HEADER_TTD: U256 = U256::ZERO; + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_cel2_header() { + assert_eq!(CEL2_HEADER.hash_slow(), CEL2_HEADER_HASH); + } +} diff --git a/rust/op-reth/crates/primitives/src/lib.rs b/rust/op-reth/crates/primitives/src/lib.rs index 0664732f2a7..a0bc633fb4c 100644 --- a/rust/op-reth/crates/primitives/src/lib.rs +++ b/rust/op-reth/crates/primitives/src/lib.rs @@ -12,6 +12,7 @@ extern crate alloc; pub mod bedrock; +pub mod celo; // Re-export predeploys from op-alloy-consensus pub use op_alloy_consensus::L2_TO_L1_MESSAGE_PASSER_ADDRESS; diff --git a/scripts/append_l2_allocs.py b/scripts/append_l2_allocs.py new file mode 100755 index 00000000000..b7b0f44809f --- /dev/null +++ b/scripts/append_l2_allocs.py @@ -0,0 +1,303 @@ +#!/usr/bin/env python3 +"""Merge Celo L1 state dump with L2 migration allocs for reth import. + +Downloads l2-allocs.json and merges it with the L1 state dump, applying the +same account merge logic as the Go migration. Also fixes the zero address dump +bug and sets the treasury balance. + +Merge rules (from celo-org/optimism@celo-rebase-12 state.go applyAllocsToState): + 1. Alloc account not in L1 -> create with alloc data, balance=0 + 2. In L1, allowlisted (false) -> skip alloc, keep L1 account as-is + 3. In L1, allowlisted (true) -> overwrite code only from alloc + 4. In L1, not allowlisted, has code/nonce -> error + 5. In L1, not allowlisted, balance-only -> take alloc code/nonce/storage, keep L1 balance + +Treasury balance is set to the value from migration block 31,056,500 +(= 1e27 - celoTokenTotalSupply + treasuryL1Balance). + +Usage: + python3 append_l2_allocs.py [output.jsonl] + +If output path is omitted, creates .with-allocs.jsonl. +""" + +import argparse +import json +import os +import re +import sys +import urllib.request + +L2_ALLOCS_URL = "https://storage.googleapis.com/cel2-rollup-files/celo/l2-allocs.json" + +# Cel2 migration header state root (includes both L1 state and L2 allocs). +CEL2_STATE_ROOT = "0xed980641a4bd4d2e84c6c8db980b7f05e95733c92be2e0045db3735efeb1d807" + +# CeloToken contract address (mainnet). +CELO_TOKEN = "0x471ece3750da237f93b8e339c536989b8978a438" + +# Treasury address (mainnet). +TREASURY = "0x7a8c7a833565fc428cdfba20fe03fafb178a434f" + +# Treasury balance at migration block 31,056,500, queried from L2 archive node. +# Equals: TREASURY_CEILING - celoTokenTotalSupply + treasuryL1Balance +TREASURY_BALANCE = 292574923875528830166719349 + +# Ceiling used in setupUnreleasedTreasury (1 billion CELO in wei). +TREASURY_CEILING = 1_000_000_000 * 10**18 + +# CeloToken totalSupply storage slot (used for verification only). +TOTAL_SUPPLY_SLOT = "0x0000000000000000000000000000000000000000000000000000000000000002" + +# L1 dump bug: zero address has "key" (keccak hash) instead of "address". +ZERO_ADDR_KEY = '"key":"0x5380c7b7ae81a58eb98d9c78de4a1fd7fd9535fc953ed2be602daaa41767312a"' +ZERO_ADDR_FIX = '"address":"0x0000000000000000000000000000000000000000"' + +# Accounts where L2 allocs should not blindly overwrite the L1 state. +# False = skip alloc entirely, True = overwrite code only. +ALLOWLIST = { + "0x000000000022d473030f116ddee9f6b43ac78ba3": False, # Permit2 + "0x0000000071727de22e5e9d8baf0edac6f37da032": False, # EntryPoint_v070 + "0x13b0d85ccb8bf860b6b79af3029fca081ae9bef2": True, # Create2Deployer + "0x4e59b44847b379578588920ca78fbf26c0b4956c": False, # DeterministicDeploymentProxy + "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789": False, # EntryPoint_v060 + "0x69f4d1788e39c87893c980c06edf4b7f686e2938": False, # Safe_v130 + "0x7fc98430eaedbb6070b35b39d798725049088348": False, # SenderCreator_v060 + "0x914d7fec6aac8cd542e72bca78b30650d45643d7": False, # SafeSingletonFactory + "0x998739bfdaadde7c933b942a68053933098f9eda": False, # MultiSend_v130 + "0xa1dabef33b3b82c7814b6d82a79e50f4ac44102b": False, # MultiSendCallOnly_v130 + "0xba5ed099633d3b313e4d5f7bdc1305d3c28ba5ed": False, # CreateX + "0xca11bde05977b3631167028862be2a173976ca11": False, # Multicall3 + "0xefc2c1444ebcc4db75e7613d20c6a62ff67a167c": False, # SenderCreator_v070 + "0xfb1bffc9d739b8d520daf37df666da4c687191ea": False, # SafeL2_v130 +} + +_ADDRESS_RE = re.compile(r'"address"\s*:\s*"(0x[0-9a-fA-F]{40})"') + + +def extract_address(line): + """Extract address from a dump line via regex. Returns lowercase or None.""" + m = _ADDRESS_RE.search(line) + return m.group(1).lower() if m else None + + +def parse_balance(s): + """Parse a balance from decimal or hex string.""" + if s.startswith(("0x", "0X")): + return int(s, 16) + return int(s) + + +def account_line(entry): + """Serialize an account dict to a compact JSONL line.""" + return json.dumps(entry, separators=(",", ":")) + "\n" + + +def build_entry(address, alloc): + """Build an account entry from alloc data with zero balance.""" + entry = {"address": address, "balance": "0x0"} + if "nonce" in alloc: + entry["nonce"] = alloc["nonce"] + if "code" in alloc: + entry["code"] = alloc["code"] + if "storage" in alloc: + entry["storage"] = alloc["storage"] + return entry + + +def merge_alloc(l1_account, alloc, address): + """Merge an L2 alloc into an existing L1 account per Go migration rules. + + Returns the merged account dict. Raises ValueError for case 4 + (existing account with code or nonzero nonce not in allowlist). + """ + if address in ALLOWLIST: + if not ALLOWLIST[address]: + # Case 2: keep L1 account unchanged + print(f" Merge {address}: case 2 (allowlist skip, keep L1)") + return dict(l1_account) + # Case 3: overwrite code only + print(f" Merge {address}: case 3 (allowlist, overwrite code only)") + merged = dict(l1_account) + if "code" in alloc: + merged["code"] = alloc["code"] + return merged + + # Case 4 check: L1 account has code or nonce > 0 + l1_code = l1_account.get("code", "0x") + l1_nonce = l1_account.get("nonce", 0) + if isinstance(l1_nonce, str): + l1_nonce = int(l1_nonce, 0) if l1_nonce.startswith(("0x", "0X")) else int(l1_nonce) + if l1_code not in ("0x", "") or l1_nonce > 0: + raise ValueError( + f"L1 account {address} has code={l1_code!r} nonce={l1_nonce} " + f"but is not in the allowlist" + ) + + # Case 5: balance-only L1 account — take alloc data, keep L1 balance + l1_balance = l1_account.get("balance", "0x0") + print(f" Merge {address}: case 5 (balance-only L1, balance={l1_balance})") + entry = build_entry(address, alloc) + entry["balance"] = l1_balance + return entry + + +def main(): + parser = argparse.ArgumentParser( + description="Merge Celo L1 state dump with L2 migration allocs for reth import." + ) + parser.add_argument("state_dump", help="Path to the L1 state dump JSONL file") + parser.add_argument( + "output", + nargs="?", + help="Output path (default: .with-allocs.jsonl)", + ) + args = parser.parse_args() + + state_dump_path = args.state_dump + output_path = args.output or state_dump_path + ".with-allocs.jsonl" + + if not os.path.exists(state_dump_path): + print(f"Error: {state_dump_path} does not exist", file=sys.stderr) + sys.exit(1) + + # Phase 1: Load L2 allocs + print(f"Downloading l2-allocs.json from {L2_ALLOCS_URL}...") + with urllib.request.urlopen(L2_ALLOCS_URL) as resp: + raw_allocs = json.load(resp) + allocs = {addr.lower(): data for addr, data in raw_allocs.items()} + handled = set() + print(f"Loaded {len(allocs)} L2 alloc accounts.") + + # State tracked during L1 dump pass + total_supply = None + treasury_l1_account = None + treasury_l1_balance = 0 + line_count = 0 + merged_count = 0 + + # Phase 2: Stream L1 dump with inline modifications + print(f"Processing {state_dump_path} -> {output_path}...") + with open(state_dump_path, "r") as inp, open(output_path, "w") as out: + for line_num, line in enumerate(inp): + # Line 1: replace state root + if line_num == 0: + header = json.loads(line) + old_root = header["root"] + header["root"] = CEL2_STATE_ROOT + out.write(json.dumps(header, separators=(",", ":")) + "\n") + print(f"State root: {old_root} -> {CEL2_STATE_ROOT}") + continue + + # Zero address fix: replace key hash with address field + if ZERO_ADDR_KEY in line: + line = line.replace(ZERO_ADDR_KEY, ZERO_ADDR_FIX) + print("Fixed zero address entry (key -> address)") + + address = extract_address(line) + if address is None: + out.write(line) + continue + + line_count += 1 + if line_count % 5_000_000 == 0: + print(f" {line_count} accounts processed...") + + # CeloToken: extract totalSupply for verification + if address == CELO_TOKEN: + account = json.loads(line) + storage = account.get("storage", {}) + for slot in (TOTAL_SUPPLY_SLOT, "0x2"): + if slot in storage: + total_supply = int(storage[slot], 16) + print(f"CeloToken totalSupply: {total_supply}") + break + if address in allocs: + merged = merge_alloc(account, allocs[address], address) + out.write(account_line(merged)) + handled.add(address) + merged_count += 1 + else: + out.write(line) + continue + + # Treasury: save for phase 4, don't write yet + if address == TREASURY: + treasury_l1_account = json.loads(line) + balance_str = treasury_l1_account.get("balance", "0x0") + treasury_l1_balance = parse_balance(balance_str) + print(f"Treasury L1 balance: {treasury_l1_balance}") + continue + + # L2 alloc merge + if address in allocs: + l1_account = json.loads(line) + merged = merge_alloc(l1_account, allocs[address], address) + out.write(account_line(merged)) + handled.add(address) + merged_count += 1 + continue + + # Default: pass through unchanged + out.write(line) + + # Phase 3: Append remaining allocs (new accounts not in L1) + new_count = 0 + for address, alloc in allocs.items(): + if address in handled or address == TREASURY: + continue + out.write(account_line(build_entry(address, alloc))) + new_count += 1 + + # Phase 4: Write treasury with hardcoded balance + treasury_alloc = allocs.get(TREASURY) + if treasury_alloc and treasury_l1_account: + print(f"Treasury {TREASURY}: L1 + alloc, merge then set balance") + treasury_entry = merge_alloc( + treasury_l1_account, treasury_alloc, TREASURY + ) + treasury_entry["balance"] = hex(TREASURY_BALANCE) + elif treasury_alloc: + print(f"Treasury {TREASURY}: alloc only, set balance") + treasury_entry = build_entry(TREASURY, treasury_alloc) + treasury_entry["balance"] = hex(TREASURY_BALANCE) + elif treasury_l1_account: + print(f"Treasury {TREASURY}: L1 only, set balance") + treasury_entry = dict(treasury_l1_account) + treasury_entry["balance"] = hex(TREASURY_BALANCE) + else: + print(f"Treasury {TREASURY}: not in L1 or allocs, creating") + treasury_entry = {"address": TREASURY, "balance": hex(TREASURY_BALANCE)} + out.write(account_line(treasury_entry)) + + print(f"\nProcessed {line_count} L1 accounts") + print(f"Merged {merged_count} existing accounts with L2 allocs") + print(f"Appended {new_count} new accounts from L2 allocs") + print(f"Treasury balance: {TREASURY_BALANCE} ({hex(TREASURY_BALANCE)})") + + # Phase 5: Verify treasury balance + if total_supply is not None: + expected = TREASURY_CEILING - total_supply + treasury_l1_balance + if expected != TREASURY_BALANCE: + print( + f"\nERROR: Treasury balance mismatch!\n" + f" ceiling - totalSupply + l1Balance = " + f"{TREASURY_CEILING} - {total_supply} + {treasury_l1_balance} = {expected}\n" + f" Hardcoded: {TREASURY_BALANCE}", + file=sys.stderr, + ) + sys.exit(1) + print( + f"Treasury balance verified: " + f"{TREASURY_CEILING} - {total_supply} + {treasury_l1_balance} = {TREASURY_BALANCE}" + ) + else: + print( + "Warning: CeloToken totalSupply not found, skipping treasury verification" + ) + + print("\nDone.") + + +if __name__ == "__main__": + main() diff --git a/scripts/prepare_celo_import.sh b/scripts/prepare_celo_import.sh new file mode 100755 index 00000000000..249985dbcc5 --- /dev/null +++ b/scripts/prepare_celo_import.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# Prepare and run the Celo L1 state import into op-reth. +# See rust/op-reth/CELO_MIGRATION.md for details. + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +DUMP_URL="https://storage.googleapis.com/cel2-rollup-files/celo/l1-final-state.json.zst" + +if [ $# -ne 2 ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +workdir="$1" +datadir="$2" + +mkdir -p "$workdir" +dump_zst="$workdir/l1-final-state.json.zst" +dump="$workdir/l1-final-state.json" +dump_allocs="$dump.with-allocs.jsonl" + +# Step 0: Download and decompress +if [ ! -f "$dump" ]; then + if [ ! -f "$dump_zst" ]; then + echo "==> Downloading L1 state dump..." + curl -o "$dump_zst" "$DUMP_URL" + fi + echo "==> Decompressing..." + zstd -d "$dump_zst" +else + echo "==> L1 state dump already exists: $dump" +fi + +# Step 1: Append L2 allocs and update state root +if [ ! -f "$dump_allocs" ]; then + echo "==> Appending L2 allocs..." + python3 "$SCRIPT_DIR/append_l2_allocs.py" "$dump" +else + echo "==> Allocs file already exists: $dump_allocs" +fi + +# Step 2: Initialize reth +echo "==> Initializing reth (ulimit -n 10240)..." +ulimit -n 10240 +op-reth init-state \ + --chain celo \ + --datadir="$datadir" \ + --without-ovm \ + "$dump_allocs" + +echo "==> Done."