diff --git a/crates/bloom-proto/src/config.rs b/crates/bloom-proto/src/config.rs index 400aecb0..8d9bab08 100644 --- a/crates/bloom-proto/src/config.rs +++ b/crates/bloom-proto/src/config.rs @@ -91,6 +91,7 @@ fn default_preinstalled_petals() -> Vec { "polymarket".to_string(), "near-intents".to_string(), "enso".to_string(), + "hyperliquid".to_string(), ] } @@ -596,7 +597,7 @@ impl Config { let mut seen_preinstalled = std::collections::BTreeSet::new(); for name in &self.petals.preinstalled { validate_petal_runtime_name("preinstalled entry", name)?; - if !matches!(name.as_str(), "polymarket" | "near-intents" | "enso") { + if !matches!(name.as_str(), "polymarket" | "near-intents" | "enso" | "hyperliquid") { return Err(ConfigError::Invalid(format!( "unknown preinstalled Petal {name:?}" ))); @@ -677,7 +678,7 @@ mod tests { assert!(cfg.enso.is_none()); assert_eq!( cfg.petals.preinstalled, - ["polymarket", "near-intents", "enso"] + ["polymarket", "near-intents", "enso", "hyperliquid"] ); let hyperliquid = cfg .hyperliquid @@ -917,7 +918,7 @@ allow_broadcast = false let explicitly_enabled = Config::load(&path).unwrap(); assert_eq!( explicitly_enabled.petals.preinstalled, - vec!["polymarket", "near-intents", "enso"] + vec!["polymarket", "near-intents", "enso", "hyperliquid"] ); } diff --git a/crates/bloom/src/github_source.rs b/crates/bloom/src/github_source.rs index 922bf6c8..f7a6756b 100644 --- a/crates/bloom/src/github_source.rs +++ b/crates/bloom/src/github_source.rs @@ -17,6 +17,7 @@ const TRUSTED_GITHUB_OWNER: &str = "bloom-directory"; const POLYMARKET_PARITY_COMMIT: &str = "e2e898b69046c9f5d905dd2cd66b3a57ef195542"; const NEAR_INTENTS_RELEASE_COMMIT: &str = "08e9bd83786425656bdd87e35031030cb7f3dc14"; const ENSO_RELEASE_COMMIT: &str = "59e3c884f83c9c97b69b1b415becf8572791273b"; +const HYPERLIQUID_RELEASE_COMMIT: &str = "fa722a986c2a0a23977e9e00df54ebd291a686db"; #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub(crate) struct PreinstalledPetal { @@ -55,6 +56,15 @@ const PREINSTALLED_ENSO: PreinstalledPetal = PreinstalledPetal { expected_hash: Some("82e541b237cd8dde0a566dfca7f3d20d6e688aacd23f62b1d0f1306f9c76ecb7"), }; +const PREINSTALLED_HYPERLIQUID: PreinstalledPetal = PreinstalledPetal { + name: "hyperliquid", + repository: "https://github.com/bloom-directory/bloom-petal-hyperliquid", + commit: HYPERLIQUID_RELEASE_COMMIT, + release_tag: "v0.1.4", + archive: "hyperliquid-v0.1.4.petal.tar.gz", + expected_hash: Some("1de2eb50b7ce0f0da03d3ef1ae6554c6f1b89393096d50183fe4f2dbca6b2af7"), +}; + #[derive(Debug, Clone, PartialEq, Eq)] pub(crate) struct GitHubRepo { pub owner: String, @@ -571,6 +581,7 @@ fn preinstalled_petal(name: &str) -> Option<&'static PreinstalledPetal> { "polymarket" => Some(&PREINSTALLED_POLYMARKET), "near-intents" => Some(&PREINSTALLED_NEAR_INTENTS), "enso" => Some(&PREINSTALLED_ENSO), + "hyperliquid" => Some(&PREINSTALLED_HYPERLIQUID), _ => None, } }