diff --git a/Cargo.lock b/Cargo.lock index adbf9d1..3163cac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1634,7 +1634,7 @@ dependencies = [ [[package]] name = "eql_core" -version = "0.1.17" +version = "0.1.18" dependencies = [ "alloy", "anyhow", diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index ee4c39a..5ec8a81 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "eql_core" -version = "0.1.17" +version = "0.1.18" rust-version.workspace = true edition.workspace = true authors.workspace = true @@ -13,7 +13,7 @@ readme = "README.md" alloy = { version = "0.2", features = ["std", "contract", "provider-http", "network", "rpc-types"] } pest = "2.7.10" pest_derive = "2.6" -tokio = { version = "1", features = ["macros"] } +tokio = { version = "1", features = ["macros", "rt"] } serde = { version = "1" } serde_json = { version = "1" } serde_with = "1.14" diff --git a/crates/core/src/common/chain.rs b/crates/core/src/common/chain.rs index d2db8c6..3bab2f9 100644 --- a/crates/core/src/common/chain.rs +++ b/crates/core/src/common/chain.rs @@ -62,6 +62,9 @@ pub enum Chain { Fantom, Kava, Gnosis, + + // Short-lived Pectra testnet + Mekong, } #[derive(thiserror::Error, Debug)] @@ -137,6 +140,7 @@ impl Chain { Chain::Fantom => "https://fantom.drpc.org", Chain::Kava => "https://evm.kava.io", Chain::Gnosis => "https://gnosis.drpc.org", + Chain::Mekong => "https://rpc.mekong.ethpandaops.io", } } } @@ -174,6 +178,7 @@ impl TryFrom<&str> for Chain { "fantom" => Ok(Chain::Fantom), "kava" => Ok(Chain::Kava), "gnosis" => Ok(Chain::Gnosis), + "mekong" => Ok(Chain::Mekong), _ => Err(ChainError::InvalidChain(chain.to_string())), } } @@ -204,6 +209,7 @@ impl From<&Chain> for u64 { Chain::Fantom => 250, Chain::Kava => 2222, Chain::Gnosis => 100, + Chain::Mekong => 7078815900, } } } @@ -265,6 +271,7 @@ impl fmt::Display for Chain { Chain::Fantom => "fantom", Chain::Kava => "kava", Chain::Gnosis => "gnosis", + Chain::Mekong => "mekong", }; write!(f, "{}", chain_str) } diff --git a/crates/core/src/interpreter/frontend/productions.pest b/crates/core/src/interpreter/frontend/productions.pest index ca33f4a..aea2dff 100644 --- a/crates/core/src/interpreter/frontend/productions.pest +++ b/crates/core/src/interpreter/frontend/productions.pest @@ -272,7 +272,8 @@ chain = { "ronin" | "fantom" | "kava" | - "gnosis" + "gnosis" | + "mekong" } rpc_url = { ("http://" | "https://") ~ (ASCII_ALPHANUMERIC | "." | "-" | ":" | "/")+ } address = { "0x" ~ (ASCII_HEX_DIGIT){40} } diff --git a/eqlup/default-config.json b/eqlup/default-config.json index d9b418e..83e3e66 100644 --- a/eqlup/default-config.json +++ b/eqlup/default-config.json @@ -140,6 +140,12 @@ "rpcs": [ "https://gnosis.drpc.org" ] + }, + "mekong": { + "default": "https://rpc.mekong.ethpandaops.io", + "rpcs": [ + "https://rpc.mekong.ethpandaops.io" + ] } } }