Skip to content

Commit ed1c631

Browse files
committed
feat(SDK/CLI): add Hoodi support to SDK and CLI
1 parent 45b4847 commit ed1c631

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

crates/cli/src/main.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ enum NetworkNameArg {
380380
Devnet,
381381
Holesky,
382382
HoleskyStage,
383+
Hoodi,
383384
Mainnet,
384385
MainnetStage,
385386
Sepolia,
@@ -393,11 +394,12 @@ impl FromStr for NetworkNameArg {
393394
"devnet" => Ok(NetworkNameArg::Devnet),
394395
"holesky" => Ok(NetworkNameArg::Holesky),
395396
"holesky-stage" => Ok(NetworkNameArg::HoleskyStage),
397+
"hoodi" => Ok(NetworkNameArg::Hoodi),
396398
"mainnet" => Ok(NetworkNameArg::Mainnet),
397399
"mainnet-stage" => Ok(NetworkNameArg::MainnetStage),
398400
"sepolia" => Ok(NetworkNameArg::Sepolia),
399401
_ => Err(
400-
"Unknown network. Possible values: devnet, holesky, holesky-stage, mainnet, mainnet-stage, sepolia"
402+
"Unknown network. Possible values: devnet, holesky, holesky-stage, hoodi, mainnet, mainnet-stage, sepolia"
401403
.to_string(),
402404
),
403405
}
@@ -410,7 +412,7 @@ struct NetworkArg {
410412
name = "The working network's name",
411413
long = "network",
412414
default_value = "devnet",
413-
help = "[possible values: devnet, holesky, holesky-stage, mainnet, mainnet-stage, sepolia]"
415+
help = "[possible values: devnet, holesky, holesky-stage, hoodi, mainnet, mainnet-stage, sepolia]"
414416
)]
415417
network: Option<NetworkNameArg>,
416418

@@ -462,6 +464,7 @@ impl From<NetworkArg> for Network {
462464
Some(NetworkNameArg::Devnet) => Network::Devnet,
463465
Some(NetworkNameArg::Holesky) => Network::Holesky,
464466
Some(NetworkNameArg::HoleskyStage) => Network::HoleskyStage,
467+
Some(NetworkNameArg::Hoodi) => Network::Hoodi,
465468
Some(NetworkNameArg::Mainnet) => Network::Mainnet,
466469
Some(NetworkNameArg::MainnetStage) => Network::MainnetStage,
467470
Some(NetworkNameArg::Sepolia) => Network::Sepolia,
@@ -634,6 +637,7 @@ async fn main() -> Result<(), AlignedError> {
634637
let base_url = match used_network {
635638
Network::Holesky => "https://holesky.explorer.alignedlayer.com/batches/0x",
636639
Network::HoleskyStage => "https://stage.explorer.alignedlayer.com/batches/0x",
640+
Network::Hoodi => "https://hoodi.explorer.alignedlayer.com/batches/0x",
637641
Network::Mainnet => "https://explorer.alignedlayer.com/batches/0x",
638642
Network::MainnetStage => {
639643
"https://mainnetstage.explorer.alignedlayer.com/batches/0x"

crates/sdk/src/common/constants.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ pub const BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY: &str =
5757
"0x815aeCA64a974297942D2Bbf034ABEe22a38A003";
5858
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY_STAGE: &str =
5959
"0x7577Ec4ccC1E6C529162ec8019A49C13F6DAd98b";
60+
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_HOODI: &str =
61+
"0x041af25Fce2413570aaa0029D36DeA1eFdeff083";
6062
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET: &str =
6163
"0xb0567184A52cB40956df6333510d6eF35B89C8de";
6264
pub const BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET_STAGE: &str =
@@ -69,6 +71,7 @@ pub const ALIGNED_SERVICE_MANAGER_DEVNET: &str = "0x1613beB3B2C4f22Ee086B2b38C14
6971
pub const ALIGNED_SERVICE_MANAGER_HOLESKY: &str = "0x58F280BeBE9B34c9939C3C39e0890C81f163B623";
7072
pub const ALIGNED_SERVICE_MANAGER_HOLESKY_STAGE: &str =
7173
"0x9C5231FC88059C086Ea95712d105A2026048c39B";
74+
pub const ALIGNED_SERVICE_MANAGER_HOODI: &str = "0x87CD431F160e88EC34fA48EC6F6cF7F2C0E8248c";
7275
pub const ALIGNED_SERVICE_MANAGER_MAINNET: &str = "0xeF2A435e5EE44B2041100EF8cbC8ae035166606c";
7376
pub const ALIGNED_SERVICE_MANAGER_MAINNET_STAGE: &str =
7477
"0x96b6a29D7B98519Ae66E6398BD27A76B30a5dC3f";
@@ -81,6 +84,7 @@ pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY_STAGE: &str =
8184
"0x7Eace34A8d4C4CacE633946C6F7CF4BeF3F33513";
8285
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY: &str =
8386
"0xe84CD4084d8131841CE6DC265361f81F4C59a1d4";
87+
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOODI: &str = "0x0"; // TODO: Update with actual Hoodi aggregation service address
8488
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_DEVNET: &str =
8589
"0xFD471836031dc5108809D173A067e8486B9047A3";
8690
pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_SEPOLIA: &str =
@@ -90,6 +94,7 @@ pub const ALIGNED_PROOF_AGG_SERVICE_ADDRESS_SEPOLIA: &str =
9094
pub const BATCHER_URL_DEVNET: &str = "ws://localhost:8080";
9195
pub const BATCHER_URL_HOLESKY: &str = "wss://batcher.alignedlayer.com";
9296
pub const BATCHER_URL_HOLESKY_STAGE: &str = "wss://stage.batcher.alignedlayer.com";
97+
pub const BATCHER_URL_HOODI: &str = "wss://hoodi.batcher.alignedlayer.com";
9398
pub const BATCHER_URL_MAINNET: &str = "wss://mainnet.batcher.alignedlayer.com";
9499
pub const BATCHER_URL_MAINNET_STAGE: &str = "wss://mainnetstage.batcher.alignedlayer.com";
95100
pub const BATCHER_URL_SEPOLIA: &str = "wss://sepolia.batcher.alignedlayer.com";

crates/sdk/src/common/types.rs

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,18 @@ use sha3::{Digest, Keccak256};
2020

2121
use super::constants::{
2222
ALIGNED_PROOF_AGG_SERVICE_ADDRESS_DEVNET, ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY,
23-
ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY_STAGE, ALIGNED_PROOF_AGG_SERVICE_ADDRESS_MAINNET,
24-
ALIGNED_PROOF_AGG_SERVICE_ADDRESS_MAINNET_STAGE, ALIGNED_PROOF_AGG_SERVICE_ADDRESS_SEPOLIA,
25-
ALIGNED_SERVICE_MANAGER_DEVNET, ALIGNED_SERVICE_MANAGER_HOLESKY,
26-
ALIGNED_SERVICE_MANAGER_HOLESKY_STAGE, ALIGNED_SERVICE_MANAGER_MAINNET,
23+
ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY_STAGE, ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOODI,
24+
ALIGNED_PROOF_AGG_SERVICE_ADDRESS_MAINNET, ALIGNED_PROOF_AGG_SERVICE_ADDRESS_MAINNET_STAGE,
25+
ALIGNED_PROOF_AGG_SERVICE_ADDRESS_SEPOLIA, ALIGNED_SERVICE_MANAGER_DEVNET,
26+
ALIGNED_SERVICE_MANAGER_HOLESKY, ALIGNED_SERVICE_MANAGER_HOLESKY_STAGE,
27+
ALIGNED_SERVICE_MANAGER_HOODI, ALIGNED_SERVICE_MANAGER_MAINNET,
2728
ALIGNED_SERVICE_MANAGER_MAINNET_STAGE, ALIGNED_SERVICE_MANAGER_SEPOLIA,
2829
BATCHER_PAYMENT_SERVICE_ADDRESS_DEVNET, BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY,
29-
BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY_STAGE, BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET,
30-
BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET_STAGE, BATCHER_PAYMENT_SERVICE_ADDRESS_SEPOLIA,
31-
BATCHER_URL_DEVNET, BATCHER_URL_HOLESKY, BATCHER_URL_HOLESKY_STAGE, BATCHER_URL_MAINNET,
32-
BATCHER_URL_MAINNET_STAGE, BATCHER_URL_SEPOLIA,
30+
BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY_STAGE, BATCHER_PAYMENT_SERVICE_ADDRESS_HOODI,
31+
BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET, BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET_STAGE,
32+
BATCHER_PAYMENT_SERVICE_ADDRESS_SEPOLIA, BATCHER_URL_DEVNET, BATCHER_URL_HOLESKY,
33+
BATCHER_URL_HOLESKY_STAGE, BATCHER_URL_HOODI, BATCHER_URL_MAINNET, BATCHER_URL_MAINNET_STAGE,
34+
BATCHER_URL_SEPOLIA,
3335
};
3436
use super::errors::VerifySignatureError;
3537

@@ -447,6 +449,7 @@ pub enum Network {
447449
Devnet,
448450
Holesky,
449451
HoleskyStage,
452+
Hoodi,
450453
Mainnet,
451454
MainnetStage,
452455
Sepolia,
@@ -459,6 +462,7 @@ impl Network {
459462
Self::Devnet => H160::from_str(ALIGNED_SERVICE_MANAGER_DEVNET).unwrap(),
460463
Self::Holesky => H160::from_str(ALIGNED_SERVICE_MANAGER_HOLESKY).unwrap(),
461464
Self::HoleskyStage => H160::from_str(ALIGNED_SERVICE_MANAGER_HOLESKY_STAGE).unwrap(),
465+
Self::Hoodi => H160::from_str(ALIGNED_SERVICE_MANAGER_HOODI).unwrap(),
462466
Self::Mainnet => H160::from_str(ALIGNED_SERVICE_MANAGER_MAINNET).unwrap(),
463467
Self::MainnetStage => H160::from_str(ALIGNED_SERVICE_MANAGER_MAINNET_STAGE).unwrap(),
464468
Self::Sepolia => H160::from_str(ALIGNED_SERVICE_MANAGER_SEPOLIA).unwrap(),
@@ -473,6 +477,7 @@ impl Network {
473477
Self::HoleskyStage => {
474478
H160::from_str(BATCHER_PAYMENT_SERVICE_ADDRESS_HOLESKY_STAGE).unwrap()
475479
}
480+
Self::Hoodi => H160::from_str(BATCHER_PAYMENT_SERVICE_ADDRESS_HOODI).unwrap(),
476481
Self::Mainnet => H160::from_str(BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET).unwrap(),
477482
Self::MainnetStage => {
478483
H160::from_str(BATCHER_PAYMENT_SERVICE_ADDRESS_MAINNET_STAGE).unwrap()
@@ -489,6 +494,7 @@ impl Network {
489494
Self::HoleskyStage => {
490495
H160::from_str(ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOLESKY_STAGE).unwrap()
491496
}
497+
Self::Hoodi => H160::from_str(ALIGNED_PROOF_AGG_SERVICE_ADDRESS_HOODI).unwrap(),
492498
Self::Mainnet => H160::from_str(ALIGNED_PROOF_AGG_SERVICE_ADDRESS_MAINNET).unwrap(),
493499
Self::MainnetStage => {
494500
H160::from_str(ALIGNED_PROOF_AGG_SERVICE_ADDRESS_MAINNET_STAGE).unwrap()
@@ -503,6 +509,7 @@ impl Network {
503509
Self::Devnet => BATCHER_URL_DEVNET,
504510
Self::Holesky => BATCHER_URL_HOLESKY,
505511
Self::HoleskyStage => BATCHER_URL_HOLESKY_STAGE,
512+
Self::Hoodi => BATCHER_URL_HOODI,
506513
Self::Mainnet => BATCHER_URL_MAINNET,
507514
Self::MainnetStage => BATCHER_URL_MAINNET_STAGE,
508515
Self::Sepolia => BATCHER_URL_SEPOLIA,

0 commit comments

Comments
 (0)