diff --git a/Cargo.lock b/Cargo.lock index cc230f8a46..615f5f34d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2233,6 +2233,7 @@ dependencies = [ "ibc-union-msg", "ics23", "lazy_static", + "serde", "serde_json", "tendermint-light-client", "tendermint-verifier", @@ -11280,20 +11281,6 @@ dependencies = [ "unionlabs", ] -[[package]] -name = "state-lens-ics23-move-light-client-types" -version = "0.1.0" -dependencies = [ - "alloy", - "bincode 2.0.0-rc.3", - "hex-literal", - "protos", - "serde", - "state-lens-light-client-types", - "thiserror", - "unionlabs", -] - [[package]] name = "state-lens-ics23-mpt-light-client" version = "0.1.0" @@ -11330,6 +11317,20 @@ dependencies = [ "unionlabs", ] +[[package]] +name = "state-lens-ics23-smt-light-client-types" +version = "0.1.0" +dependencies = [ + "alloy", + "bincode 2.0.0-rc.3", + "hex-literal", + "protos", + "serde", + "state-lens-light-client-types", + "thiserror", + "unionlabs", +] + [[package]] name = "state-lens-light-client-types" version = "0.1.0" @@ -13019,6 +13020,7 @@ dependencies = [ "aptos-move-ibc", "aptos-rest-client", "chain-utils", + "cosmwasm-std 2.1.4", "jsonrpsee", "movement-light-client-types", "serde", @@ -13072,6 +13074,27 @@ dependencies = [ "voyager-vm", ] +[[package]] +name = "voyager-client-bootstrap-module-state-lens-ics23-smt" +version = "0.1.0" +dependencies = [ + "alloy", + "beacon-api", + "beacon-api-types", + "cometbft-rpc", + "ibc-union-spec", + "jsonrpsee", + "movement-light-client-types", + "serde", + "serde_json", + "state-lens-ics23-smt-light-client-types", + "tokio", + "tracing", + "unionlabs", + "voyager-message", + "voyager-vm", +] + [[package]] name = "voyager-client-bootstrap-module-tendermint" version = "0.1.0" @@ -13196,6 +13219,32 @@ dependencies = [ "voyager-vm", ] +[[package]] +name = "voyager-client-module-state-lens-ics23-smt" +version = "0.1.0" +dependencies = [ + "beacon-api-types", + "chain-utils", + "enumorph", + "ethereum-light-client-types", + "futures", + "jsonrpsee", + "macros", + "prost 0.12.6", + "serde", + "serde-utils", + "serde_json", + "state-lens-ics23-smt-light-client-types", + "state-lens-light-client-types", + "thiserror", + "tokio", + "tracing", + "tracing-subscriber 0.3.18", + "unionlabs", + "voyager-message", + "voyager-vm", +] + [[package]] name = "voyager-client-module-tendermint" version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml index 77f26838ac..1893721905 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -79,7 +79,7 @@ members = [ "lib/state-lens-ics23-mpt-light-client-types", "lib/state-lens-ics23-mpt-light-client-types", "lib/state-lens-ics23-ics23-light-client-types", - "lib/state-lens-ics23-move-light-client-types", + "lib/state-lens-ics23-smt-light-client-types", # these will all be re enabled and updated once ethereum-light-client is updated @@ -120,12 +120,14 @@ members = [ "voyager/modules/client/tendermint", "voyager/modules/client/state-lens/ics23-mpt", "voyager/modules/client/state-lens/ics23-ics23", + "voyager/modules/client/state-lens/ics23-smt", "voyager/modules/client-bootstrap/cometbls", "voyager/modules/client-bootstrap/ethereum", "voyager/modules/client-bootstrap/movement", "voyager/modules/client-bootstrap/tendermint", "voyager/modules/client-bootstrap/state-lens/ics23-mpt", + "voyager/modules/client-bootstrap/state-lens/ics23-smt", "voyager/modules/client-bootstrap/state-lens/ics23-ics23", "voyager/modules/consensus/berachain", @@ -225,7 +227,7 @@ scroll-rpc = { path = "lib/scroll-rpc", default-features = fal state-lens-ics23-ics23-light-client-types = { path = "lib/state-lens-ics23-ics23-light-client-types", default-features = false } state-lens-ics23-mpt-light-client-types = { path = "lib/state-lens-ics23-mpt-light-client-types", default-features = false } -state-lens-ics23-move-light-client-types = { path = "lib/state-lens-ics23-move-light-client-types", default-features = false } +state-lens-ics23-smt-light-client-types = { path = "lib/state-lens-ics23-smt-light-client-types", default-features = false } tendermint-light-client = { path = "cosmwasm/ibc-union/light-clients/tendermint", default-features = false } tendermint-light-client-types = { path = "lib/tendermint-light-client-types", default-features = false } diff --git a/voyager/modules/state/movement/src/main.rs b/voyager/modules/state/movement/src/main.rs index 09b3a9eda8..0926b6d78f 100644 --- a/voyager/modules/state/movement/src/main.rs +++ b/voyager/modules/state/movement/src/main.rs @@ -163,9 +163,13 @@ impl Module { #[async_trait] impl StateModuleServer for Module { #[instrument(skip_all, fields(chain_id = %self.chain_id))] - async fn client_info(&self, _: &Extensions, _client_id: u32) -> RpcResult { + async fn client_info(&self, _: &Extensions, client_id: u32) -> RpcResult { + let client_type = self + .client_id_to_type(self.ibc_handler_address.into(), None, (client_id,)) + .await + .map_err(rest_error_to_rpc_error)?; Ok(ClientInfo { - client_type: ClientType::new(ClientType::COMETBLS_GROTH16), + client_type: ClientType::new(client_type), ibc_interface: IbcInterface::new(IbcInterface::IBC_MOVE_APTOS), metadata: Default::default(), })