Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
d4a006c
feat: deploy aligned service manager
JuArce Aug 25, 2025
c2101d4
feat: deploy batcher payment service
JuArce Aug 25, 2025
b54e40a
feat: add sepolia to SDK
JuArce Aug 25, 2025
ee65e0d
fix: batcher target
JuArce Aug 25, 2025
24b6c94
fix: aggregator ansible
JuArce Aug 25, 2025
c4aaf7e
fix: batcher ansible
JuArce Aug 25, 2025
bf2c2d0
fix: batcher parameters
JuArce Aug 25, 2025
fc95827
feat: deploy aggregation mode contract
JuArce Aug 25, 2025
28ffe28
fix: aggregation mode install
JuArce Aug 25, 2025
0cd170f
fix: aggregation mode config templates
JuArce Aug 25, 2025
e421665
feat: add Sepolia to CLI
JuArce Aug 26, 2025
c8f4ab2
fix: update program_ids in config files
JuArce Aug 26, 2025
02576b1
fix: update aggregator ansible
JuArce Aug 26, 2025
a37191d
fix: update aggregator ansible config-aggregator.yaml.j2
JuArce Aug 26, 2025
2e61772
fix: update telemetry ansible
JuArce Aug 26, 2025
18e2a87
fix: update cassandra version
JuArce Aug 26, 2025
e818415
feat: add sepolia environment to telemetry api
JuArce Aug 26, 2025
7b716b7
fix: update telemetry ansible
JuArce Aug 26, 2025
cbf8b4a
feat: add Sepolia network to explorer
JuArce Aug 26, 2025
dad6210
fix: update explorer with agg mode variables
JuArce Aug 26, 2025
023ecf4
fix: missing sepolia environment in explorer
JuArce Aug 26, 2025
1dcfcd8
fix: missing sepolia environment in explorer
JuArce Aug 26, 2025
b196271
fix: explorer ansible
JuArce Aug 26, 2025
3b90f61
fix: ansible and config files
JuArce Aug 26, 2025
bf07284
Fmt
MauroToscano Aug 27, 2025
9ac7f44
feat: aligned hoodi deployment
JuArce Aug 27, 2025
c6751d9
feat: batcherPaymentService hoodi deployment
JuArce Aug 28, 2025
9f323cb
fix(infra): add upload endpoint to env
JuArce Aug 28, 2025
45b4847
chore(infra): add Hoodi inventory
JuArce Aug 28, 2025
ed1c631
feat(SDK/CLI): add Hoodi support to SDK and CLI
JuArce Aug 28, 2025
eb4620f
feat(explorer): add support to Hoodi
JuArce Aug 28, 2025
ed7a670
chore(infra): clone hoodi deployment branch
JuArce Aug 28, 2025
72e3db4
fix: ecdsa batcher ansible
JuArce Aug 28, 2025
dd27b2d
fix: aggregator ansible default values
JuArce Aug 28, 2025
d668aa2
chore: add hood aggregation mode file
JuArce Aug 28, 2025
b24fbbc
fix: missing LATEST_RELEASE in explorer env template
JuArce Aug 28, 2025
8c8fb80
fix(telemetry): add Hoodi network compatibility
JuArce Aug 28, 2025
de8b92a
fix: set correct strategies
JuArce Aug 29, 2025
64fd3ec
fix(infra): add upload endpoint to env batcher template
JuArce Aug 29, 2025
7ddb9eb
feat: deploy sp1 verifier in Hoodi
JuArce Aug 29, 2025
4175458
feat: Hoodi deployment for proof aggregator
JuArce Aug 29, 2025
9ed6501
Merge branch 'refs/heads/staging' into 2075-feat-hoodi-deployment
JuArce Aug 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions contracts/deployments/560048.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"CREATE2_SALT": "0x0000000000000000000000000000000000000000000000000000000000000019",
"SP1_VERIFIER_GATEWAY_GROTH16": "0xe1D19B93F2052d42967bCe42e6d4125A31A0e9ef",
"V5_0_0_SP1_VERIFIER_GROTH16": "0x5E925d64f4A612067e082FE965696035C118bd1b"
}
42 changes: 42 additions & 0 deletions contracts/script/deploy/config/hoodi/aligned.hoodi.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"chainInfo": {
"chainId": 560048
},
"permissions" : {
"aggregator": "0x30f21BE6E79a32dEee382AD47987d43B68a28244",
"deployer": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"owner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"upgrader": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"churner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"ejector": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"pauser": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"initalPausedStatus": 0
},
"minimumStakes": [
1
],
"strategyWeights": [
[
{
"0_strategy": "0x24579aD4fe83aC53546E5c2D3dF5F85D6383420d",
"1_multiplier": 1e+18
},
{
"0_strategy": "0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0",
"1_multiplier": 1e+18
},
{
"0_strategy": "0x19536FAd6Eb831e8211B316177979161BBdb2c2B",
"1_multiplier": 1e+18
}
]
],
"operatorSetParams": [
{
"0_maxOperatorCount": 200,
"1_kickBIPsOfOperatorStake": 11000,
"2_kickBIPsOfTotalStake": 50
}
],
"uri": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"address": {
"batcherWallet": "0x03D284fDf9a80A71C98107B59c35A0E493D69Fae",
"alignedLayerServiceManager": "0x87CD431F160e88EC34fA48EC6F6cF7F2C0E8248c"
},
"permissions": {
"owner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927"
},
"eip712": {
"noncedVerificationDataTypeHash": "0x41817b5c5b0c3dcda70ccb43ba175fdcd7e586f9e0484422a2c6bba678fdf4a3"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"address": {
"sp1VerifierAddress": "0xe1D19B93F2052d42967bCe42e6d4125A31A0e9ef",
"risc0VerifierAddress": "0x32Db7dc407AC886807277636a1633A1381748DD8",
"alignedAggregatorAddress": "0x7EB3B63A4F3e7810Cc9bbc346749E2491Da4D7Cc"
},
"programs_id": {
"sp1AggregationProgramVKHash": "0x00856d1f422b7919a4c37d912033a3a8404d2a19688769ad7b6095e16b3d7448",
"risc0AggregationProgramImageId": "0x4121299f6bc60c97cee65caf19677339c07134d14807b01fe88e4d42789d4ef4"
},
"permissions": {
"owner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"chainInfo": {
"chainId": 11155111
},
"permissions" : {
"aggregator": "",
"deployer": "",
"owner": "",
"upgrader": "",
"churner": "",
"ejector": "",
"pauser": "",
"initalPausedStatus": 0
},
"minimumStakes": [
1
],
"strategyWeights": [
[
{
"0_strategy": "",
"1_multiplier": 1e+18
},
{
"0_strategy": "",
"1_multiplier": 1e+18
},
{
"0_strategy": "",
"1_multiplier": 1e+18
}
]
],
"operatorSetParams": [
{
"0_maxOperatorCount": 200,
"1_kickBIPsOfOperatorStake": 11000,
"2_kickBIPsOfTotalStake": 50
}
],
"uri": ""
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"address": {
"batcherWallet": "",
"alignedLayerServiceManager": ""
},
"permissions": {
"owner": ""
},
"eip712": {
"noncedVerificationDataTypeHash": "0x41817b5c5b0c3dcda70ccb43ba175fdcd7e586f9e0484422a2c6bba678fdf4a3"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"address": {
"sp1VerifierAddress": "",
"risc0VerifierAddress": "",
"alignedAggregatorAddress": ""
},
"programs_id": {
"sp1AggregationProgramVKHash": "0x00856d1f422b7919a4c37d912033a3a8404d2a19688769ad7b6095e16b3d7448",
"risc0AggregationProgramImageId": "0x4121299f6bc60c97cee65caf19677339c07134d14807b01fe88e4d42789d4ef4"
},
"permissions": {
"owner": ""
}
}
32 changes: 32 additions & 0 deletions contracts/script/output/hoodi/alignedlayer_deployment_output.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"addresses": {
"alignedLayerProxyAdmin": "0xbE155aA8FE6beF3B473eEFC8040ca770C1198FC6",
"alignedLayerServiceManager": "0x87CD431F160e88EC34fA48EC6F6cF7F2C0E8248c",
"alignedLayerServiceManagerImplementation": "0x3b78f5A2D31B72409CbEB1a07E2CB2Cd86936E56",
"blsApkRegistry": "0xa7Fc4D0Ad59593fB93B39c3353B4144Ea179f61e",
"blsApkRegistryImplementation": "0x808be4D75bc88258df049ad54A3a606c163CD817",
"indexRegistry": "0x85e972915Ca1FeDF6Ad8361cC1F78211bd3cA6a1",
"indexRegistryImplementation": "0x1437cae3bb5d07990B187458E49869a8be9311D3",
"operatorStateRetriever": "0x9B0062e85c7d5f7c195b7Ef351A377dd81e9E055",
"pauserRegistry": "0xeaD7fbc7d1A7fA6a9d324501A686871D3795232C",
"registryCoordinator": "0xD06AAf23d136ECBfb5Bdb349Dd7a87aDc74673Dd",
"registryCoordinatorImplementation": "0x59c3d46a9164dd5Bb6346eE3fb6A3a25F1D0B159",
"serviceManagerRouter": "0x2DAd030F48b35c50019a590858255518124d1589",
"stakeRegistry": "0xCe3DFA29Ce371ccE673E631213d827157cfe67e0",
"stakeRegistryImplementation": "0x9E30b5ADc48C8Ef4fcBc01e36BfCD01d329B3042",
"batcherPaymentService": "0x041af25Fce2413570aaa0029D36DeA1eFdeff083",
"batcherPaymentServiceImplementation": "0x30C0Df2DA0A4c5104D49f2861ea1DaAd2B03DaD0"
},
"chainInfo": {
"chainId": 560048,
"deploymentBlock": 1093860
},
"permissions": {
"alignedLayerAggregator": "0x30f21BE6E79a32dEee382AD47987d43B68a28244",
"alignedLayerChurner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"alignedLayerEjector": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"alignedLayerOwner": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"alignedLayerPauser": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927",
"alignedLayerUpgrader": "0xF138043AC49a0cbB1C8fF03433B51861eA0AE927"
}
}
6 changes: 6 additions & 0 deletions contracts/script/output/hoodi/batcher_deployment_output.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"addresses": {
"batcherPaymentService": "0x041af25Fce2413570aaa0029D36DeA1eFdeff083",
"batcherPaymentServiceImplementation": "0x30C0Df2DA0A4c5104D49f2861ea1DaAd2B03DaD0"
}
}
39 changes: 39 additions & 0 deletions contracts/script/output/hoodi/eigenlayer_deployment_output.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"addresses": {
"avsDirectory": "0xD58f6844f79eB1fbd9f7091d05f7cb30d3363926",
"avsDirectoryImplementation": "0xd2905B858cA5Ded115B61dd9E98F7dcF9aEE2d5c",
"baseStrategyImplementation": "0x65147e9916152C1EbdBaD8A6f3e145b4BDeE2D6F",
"beaconOracle": "",
"delayedWithdrawalRouter": "",
"delayedWithdrawalRouterImplementation": "",
"delegationManager": "0x867837a9722C512e0862d8c2E15b8bE220E8b87d",
"delegationManagerImplementation": "0xcC305562B01bec562D13A40ef8781e313AFE7940",
"eigenLayerPauserReg": "0x64D78399B0fa32EA72959f33edCF313159F3c13D",
"eigenLayerProxyAdmin": "0xE7f4E30D2619273468afe9EC0Acf805E55532257",
"eigenPodBeacon": "0x5e1577f8efB21b229cD5Eb4C5Aa3d6C4b228f650",
"eigenPodImplementation": "0x2D6c7f9862BD80Cf0d9d93FC6b513D69E7Db7869",
"eigenPodManager": "0xcd1442415Fc5C29Aa848A49d2e232720BE07976c",
"eigenPodManagerImplementation": "0x59B11b191B572888703E150E45F5015e0fFcf525",
"emptyContract": "",
"rewardsCoordinator": "0x29e8572678e0c272350aa0b4B8f304E47EBcd5e7",
"rewardsCoordinatorImplementation": "0xe786FD0dE8a6001772386700318187Dc438a2832",
"strategies": "",
"strategyManager": "0xeE45e76ddbEDdA2918b8C7E3035cd37Eab3b5D41",
"strategyManagerImplementation": "0x742A228482701d693061BfE9C5B3Eb3959Ea927b",
"allocationManager": "0x95a7431400F362F3647a69535C5666cA0133CAA0",
"allocationManagerImplementation": "0x8b1DBbAa79507CD6b6e1d9FBe90E3FB18EFf11a0",
"permissionController": "0xdcCF401fD121d8C542E96BC1d0078884422aFAD2",
"permissionControllerImplementation": "0x2D731E7993a100afd19454B98eEEC7b90366eA27",
"keyRegistrar": "",
"keyRegistrarImplementation": ""
},
"chainInfo": {
"chainId": 560048,
"deploymentBlock": 164921
},
"parameters": {
"executorMultisig": "0x58c468A9A50673693D0f0e1DfBf5DF280b99b36E",
"operationsMultisig": "0xfB7d94501E4d4ACC264833Ef4ede70a11517422B",
"pauserMultisig": "0x58c468A9A50673693D0f0e1DfBf5DF280b99b36E"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"addresses": {
"alignedProofAggregationService": "0xEFeD2fd949995BE1a1C7f61AbFC0A33412c37f95",
"alignedProofAggregationServiceImplementation": "0x11F1aB1521074868fC3c2EFf78c2cD228eA58EdC"
}
}
11 changes: 11 additions & 0 deletions contracts/scripts/.env.hoodi
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
RPC_URL=https://ethereum-hoodi-rpc.publicnode.com
PRIVATE_KEY=<YOUR_PRIVATE_KEY>
EXISTING_DEPLOYMENT_INFO_PATH=./script/output/hoodi/eigenlayer_deployment_output.json
DEPLOY_CONFIG_PATH=./script/deploy/config/hoodi/aligned.hoodi.config.json
BATCHER_PAYMENT_SERVICE_CONFIG_PATH=./script/deploy/config/hoodi/batcher-payment-service.hoodi.config.json
BATCHER_PAYMENT_SERVICE_OUTPUT_PATH=./script/output/hoodi/batcher_deployment_output.json
OUTPUT_PATH=./script/output/hoodi/alignedlayer_deployment_output.json
PROOF_AGGREGATOR_DEPLOY_CONFIG_PATH=./script/deploy/config/hoodi/proof-aggregator-service.hoodi.config.json
PROOF_AGGREGATOR_OUTPUT_PATH=./script/output/hoodi/proof_aggregation_service_deployment_output.json
ETHERSCAN_API_KEY=<YOUR_ETHERSCAN_API_KEY>
MULTISIG=false
2 changes: 2 additions & 0 deletions contracts/scripts/.env.sepolia
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,7 @@ DEPLOY_CONFIG_PATH=./script/deploy/config/sepolia/aligned.sepolia.config.json
BATCHER_PAYMENT_SERVICE_CONFIG_PATH=./script/deploy/config/sepolia/batcher-payment-service.sepolia.config.json
BATCHER_PAYMENT_SERVICE_OUTPUT_PATH=./script/output/sepolia/batcher_deployment_output.json
OUTPUT_PATH=./script/output/sepolia/alignedlayer_deployment_output.json
PROOF_AGGREGATOR_DEPLOY_CONFIG_PATH=./script/deploy/config/sepolia/proof-aggregator-service.sepolia.config.json
PROOF_AGGREGATOR_OUTPUT_PATH=./script/output/sepolia/proof_aggregation_service_deployment_output.json
ETHERSCAN_API_KEY=<YOUR_ETHERSCAN_API_KEY>
MULTISIG=false
8 changes: 6 additions & 2 deletions crates/cli/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,7 @@ enum NetworkNameArg {
Devnet,
Holesky,
HoleskyStage,
Hoodi,
Mainnet,
MainnetStage,
Sepolia,
Expand All @@ -393,11 +394,12 @@ impl FromStr for NetworkNameArg {
"devnet" => Ok(NetworkNameArg::Devnet),
"holesky" => Ok(NetworkNameArg::Holesky),
"holesky-stage" => Ok(NetworkNameArg::HoleskyStage),
"hoodi" => Ok(NetworkNameArg::Hoodi),
"mainnet" => Ok(NetworkNameArg::Mainnet),
"mainnet-stage" => Ok(NetworkNameArg::MainnetStage),
"sepolia" => Ok(NetworkNameArg::Sepolia),
_ => Err(
"Unknown network. Possible values: devnet, holesky, holesky-stage, mainnet, mainnet-stage, sepolia"
"Unknown network. Possible values: devnet, holesky, holesky-stage, hoodi, mainnet, mainnet-stage, sepolia"
.to_string(),
),
}
Expand All @@ -410,7 +412,7 @@ struct NetworkArg {
name = "The working network's name",
long = "network",
default_value = "devnet",
help = "[possible values: devnet, holesky, holesky-stage, mainnet, mainnet-stage, sepolia]"
help = "[possible values: devnet, holesky, holesky-stage, hoodi, mainnet, mainnet-stage, sepolia]"
)]
network: Option<NetworkNameArg>,

Expand Down Expand Up @@ -462,6 +464,7 @@ impl From<NetworkArg> for Network {
Some(NetworkNameArg::Devnet) => Network::Devnet,
Some(NetworkNameArg::Holesky) => Network::Holesky,
Some(NetworkNameArg::HoleskyStage) => Network::HoleskyStage,
Some(NetworkNameArg::Hoodi) => Network::Hoodi,
Some(NetworkNameArg::Mainnet) => Network::Mainnet,
Some(NetworkNameArg::MainnetStage) => Network::MainnetStage,
Some(NetworkNameArg::Sepolia) => Network::Sepolia,
Expand Down Expand Up @@ -634,6 +637,7 @@ async fn main() -> Result<(), AlignedError> {
let base_url = match used_network {
Network::Holesky => "https://holesky.explorer.alignedlayer.com/batches/0x",
Network::HoleskyStage => "https://stage.explorer.alignedlayer.com/batches/0x",
Network::Hoodi => "https://hoodi.explorer.alignedlayer.com/batches/0x",
Network::Mainnet => "https://explorer.alignedlayer.com/batches/0x",
Network::MainnetStage => {
"https://mainnetstage.explorer.alignedlayer.com/batches/0x"
Expand Down
5 changes: 5 additions & 0 deletions crates/sdk/src/common/constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ pub const BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY: &str =
"0x815aeCA64a974297942D2Bbf034ABEe22a38A003";
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY_STAGE: &str =
"0x7577Ec4ccC1E6C529162ec8019A49C13F6DAd98b";
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_HOODI: &str =
"0x041af25Fce2413570aaa0029D36DeA1eFdeff083";
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET: &str =
"0xb0567184A52cB40956df6333510d6eF35B89C8de";
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET_STAGE: &str =
Expand All @@ -69,6 +71,7 @@ pub const ALIGNED_SERVICE_MANAGER_DEVNET: &str = "0x1613beB3B2C4f22Ee086B2b38C14
pub const ALIGNED_SERVICE_MANAGER_HOLESKY: &str = "0x58F280BeBE9B34c9939C3C39e0890C81f163B623";
pub const ALIGNED_SERVICE_MANAGER_HOLESKY_STAGE: &str =
"0x9C5231FC88059C086Ea95712d105A2026048c39B";
pub const ALIGNED_SERVICE_MANAGER_HOODI: &str = "0x87CD431F160e88EC34fA48EC6F6cF7F2C0E8248c";
pub const ALIGNED_SERVICE_MANAGER_MAINNET: &str = "0xeF2A435e5EE44B2041100EF8cbC8ae035166606c";
pub const ALIGNED_SERVICE_MANAGER_MAINNET_STAGE: &str =
"0x96b6a29D7B98519Ae66E6398BD27A76B30a5dC3f";
Expand All @@ -81,6 +84,7 @@ pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY_STAGE: &str =
"0x7Eace34A8d4C4CacE633946C6F7CF4BeF3F33513";
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY: &str =
"0xe84CD4084d8131841CE6DC265361f81F4C59a1d4";
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOODI: &str = "0x0"; // TODO: Update with actual Hoodi aggregation service address
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_DEVNET: &str =
"0xFD471836031dc5108809D173A067e8486B9047A3";
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_SEPOLIA: &str =
Expand All @@ -90,6 +94,7 @@ pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_SEPOLIA: &str =
pub const BATCHER_URL_DEVNET: &str = "ws://localhost:8080";
pub const BATCHER_URL_HOLESKY: &str = "wss://batcher.alignedlayer.com";
pub const BATCHER_URL_HOLESKY_STAGE: &str = "wss://stage.batcher.alignedlayer.com";
pub const BATCHER_URL_HOODI: &str = "wss://hoodi.batcher.alignedlayer.com";
pub const BATCHER_URL_MAINNET: &str = "wss://mainnet.batcher.alignedlayer.com";
pub const BATCHER_URL_MAINNET_STAGE: &str = "wss://mainnetstage.batcher.alignedlayer.com";
pub const BATCHER_URL_SEPOLIA: &str = "wss://sepolia.batcher.alignedlayer.com";
Loading
Loading