diff --git a/Cargo.lock b/Cargo.lock index 30b69b4066..e08588e2f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2248,7 +2248,6 @@ dependencies = [ "beacon-api-types", "bincode 2.0.0-rc.3", "ethereum-light-client-types", - "protos", "serde", "unionlabs", ] @@ -3369,18 +3368,6 @@ dependencies = [ "unionlabs", ] -[[package]] -name = "cosmos-state-lens-light-client-types" -version = "0.1.0" -dependencies = [ - "alloy", - "hex-literal", - "protos", - "serde", - "thiserror", - "unionlabs", -] - [[package]] name = "cosmwasm-core" version = "2.1.4" @@ -4910,7 +4897,6 @@ dependencies = [ "cometbls-light-client", "cosmwasm-std 2.1.4", "ethereum-light-client-types", - "evm-state-lens-light-client-types", "evm-storage-verifier", "ibc-union-light-client", "ibc-union-msg", @@ -4918,18 +4904,7 @@ dependencies = [ "ics23", "rlp", "serde", - "thiserror", - "unionlabs", -] - -[[package]] -name = "evm-state-lens-light-client-types" -version = "0.1.0" -dependencies = [ - "alloy", - "bincode 2.0.0-rc.3", - "protos", - "serde", + "state-lens-ics23-mpt-light-client-types", "thiserror", "unionlabs", ] @@ -11345,6 +11320,30 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +[[package]] +name = "state-lens-ics23-ics23-light-client-types" +version = "0.1.0" +dependencies = [ + "alloy", + "hex-literal", + "protos", + "serde", + "thiserror", + "unionlabs", +] + +[[package]] +name = "state-lens-ics23-mpt-light-client-types" +version = "0.1.0" +dependencies = [ + "alloy", + "bincode 2.0.0-rc.3", + "protos", + "serde", + "thiserror", + "unionlabs", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -13069,11 +13068,11 @@ dependencies = [ "beacon-api-types", "cometbft-rpc", "ethereum-light-client-types", - "evm-state-lens-light-client-types", "ibc-union-spec", "jsonrpsee", "serde", "serde_json", + "state-lens-ics23-mpt-light-client-types", "tokio", "tracing", "unionlabs", @@ -13089,11 +13088,11 @@ dependencies = [ "beacon-api", "beacon-api-types", "cometbft-rpc", - "cosmos-state-lens-light-client-types", "ibc-union-spec", "jsonrpsee", "serde", "serde_json", + "state-lens-ics23-ics23-light-client-types", "tendermint-light-client-types", "tokio", "tracing", @@ -13185,7 +13184,6 @@ dependencies = [ "chain-utils", "enumorph", "ethereum-light-client-types", - "evm-state-lens-light-client-types", "futures", "jsonrpsee", "macros", @@ -13193,6 +13191,7 @@ dependencies = [ "serde", "serde-utils", "serde_json", + "state-lens-ics23-mpt-light-client-types", "thiserror", "tokio", "tracing", @@ -13207,13 +13206,13 @@ name = "voyager-client-module-state-lens-ics23-ics23" version = "0.1.0" dependencies = [ "alloy", - "cosmos-state-lens-light-client-types", "futures", "jsonrpsee", "macros", "protos", "serde", "serde_json", + "state-lens-ics23-ics23-light-client-types", "thiserror", "tokio", "tracing", @@ -13350,7 +13349,6 @@ dependencies = [ "cometbft-types", "dashmap 5.5.3", "enumorph", - "evm-state-lens-light-client-types", "futures", "ibc-union-spec", "ics23", @@ -13361,6 +13359,7 @@ dependencies = [ "protos", "serde", "serde_json", + "state-lens-ics23-mpt-light-client-types", "thiserror", "tokio", "tracing", @@ -13377,7 +13376,6 @@ dependencies = [ "alloy", "cometbft-rpc", "cometbft-types", - "cosmos-state-lens-light-client-types", "dashmap 5.5.3", "enumorph", "futures", @@ -13390,6 +13388,7 @@ dependencies = [ "protos", "serde", "serde_json", + "state-lens-ics23-ics23-light-client-types", "thiserror", "tokio", "tracing", diff --git a/Cargo.toml b/Cargo.toml index 753749c514..8624fcc77c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,8 +77,9 @@ members = [ "lib/tendermint-light-client-types", "lib/linea-light-client-types", "lib/movement-light-client-types", - "lib/state-lens/evm-light-client-types", - "lib/state-lens/cosmos-light-client-types", + "lib/state-lens-ics23-mpt-light-client-types", + "lib/state-lens-ics23-mpt-light-client-types", + "lib/state-lens-ics23-ics23-light-client-types", # these will all be re enabled and updated once ethereum-light-client is updated @@ -86,7 +87,7 @@ members = [ "cosmwasm/ibc-union/light-clients/arbitrum", "cosmwasm/ibc-union/light-clients/berachain", "cosmwasm/ibc-union/light-clients/cometbls", - "cosmwasm/ibc-union/light-clients/evm-in-cosmos", + "cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt", # "cosmwasm/ibc-union/light-clients/scroll", "cosmwasm/ibc-union/light-clients/tendermint", # "cosmwasm/ibc-union/light-clients/linea", @@ -218,8 +219,8 @@ scroll-api = { path = "lib/scroll-api", default-features = fal scroll-codec = { path = "lib/scroll-codec", default-features = false } scroll-rpc = { path = "lib/scroll-rpc", default-features = false } -cosmos-state-lens-light-client-types = { path = "lib/state-lens/cosmos-light-client-types", default-features = false } -evm-state-lens-light-client-types = { path = "lib/state-lens/evm-light-client-types", default-features = false } +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 } 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/cosmwasm/ibc-union/light-clients/ethereum/src/contract.rs b/cosmwasm/ibc-union/light-clients/ethereum/src/contract.rs index 73ae64d57c..f3d555461f 100644 --- a/cosmwasm/ibc-union/light-clients/ethereum/src/contract.rs +++ b/cosmwasm/ibc-union/light-clients/ethereum/src/contract.rs @@ -1,21 +1,11 @@ #[cfg(not(feature = "library"))] use cosmwasm_std::entry_point; -use cosmwasm_std::{ - from_json, to_json_binary, Binary, CosmosMsg, Deps, DepsMut, Env, MessageInfo, Response, - StdResult, SubMsg, -}; -use ethereum_light_client_types::ClientState; +use cosmwasm_std::{Binary, Deps, DepsMut, Env, MessageInfo, Response, StdResult}; use ibc_union_light_client::{ msg::{InstantiateMsg, QueryMsg}, - read_consensus_state, - state::IBC_HOST, - IbcClientError, CLIENT_STATES, + IbcClientError, }; use serde::{Deserialize, Serialize}; -use unionlabs::{ - encoding::{Bincode, EncodeAs, EthAbi}, - primitives::{encoding::Base64, Bytes}, -}; use crate::client::EthereumLightClient; @@ -35,56 +25,13 @@ pub fn query(deps: Deps, env: Env, msg: QueryMsg) -> StdResult { } #[derive(Debug, Clone, Serialize, Deserialize)] -pub struct MigrateMsg { - client_ids: Vec, -} +pub struct MigrateMsg {} #[cfg_attr(not(feature = "library"), entry_point)] pub fn migrate( - deps: DepsMut, + _deps: DepsMut, _env: Env, - msg: MigrateMsg, + _msg: MigrateMsg, ) -> Result> { - let ibc_host = IBC_HOST.load(deps.storage)?; - - let mut msgs = vec![]; - - for client_id in msg.client_ids { - let client_state_bytes = from_json::>( - deps.querier - .query_wasm_raw(ibc_host.to_string(), CLIENT_STATES.key(client_id).to_vec())? - .ok_or_else(|| { - IbcClientError::Std(cosmwasm_std::StdError::generic_err(format!( - "unable to read client state of client {client_id}" - ))) - })?, - )?; - - let client_state: ClientState = bincode_1::deserialize(&client_state_bytes).unwrap(); - - let consensus_state = read_consensus_state::( - deps.querier, - &ibc_host, - client_id, - client_state.latest_height, - )?; - - msgs.push(SubMsg::new(CosmosMsg::Wasm( - cosmwasm_std::WasmMsg::Execute { - contract_addr: ibc_host.to_string(), - msg: to_json_binary(&ibc_union_msg::msg::ExecuteMsg::MigrateState( - ibc_union_msg::msg::MsgMigrateState { - client_id, - height: client_state.latest_height, - client_state: client_state.encode_as::().into(), - consensus_state: consensus_state.encode_as::().into(), - }, - )) - .unwrap(), - funds: vec![], - }, - ))) - } - - Ok(Response::new().add_submessages(msgs)) + Ok(Response::new()) } diff --git a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/Cargo.toml b/cosmwasm/ibc-union/light-clients/evm-in-cosmos/Cargo.toml deleted file mode 100644 index 7ad6fd1974..0000000000 --- a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/Cargo.toml +++ /dev/null @@ -1,33 +0,0 @@ -[package] -authors = ["Union Labs"] -edition = "2021" -license-file = { workspace = true } -name = "evm-in-cosmos-light-client" -publish = false -version = "0.1.0" - -[lints] -workspace = true - -[lib] -crate-type = ["cdylib", "rlib"] - -[dependencies] -cometbls-light-client = { workspace = true, features = ["library"] } -cosmwasm-std = { workspace = true, features = ["abort"] } -ethereum-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } -evm-state-lens-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } -evm-storage-verifier = { workspace = true } -ibc-union-light-client = { workspace = true } -ibc-union-msg = { workspace = true } -ibc-union-spec = { workspace = true } -ics23 = { workspace = true } -rlp = { workspace = true } -serde = { workspace = true, features = ["derive"] } -thiserror = { workspace = true } -unionlabs = { workspace = true, features = ["ethabi", "stargate", "bincode"] } - -[features] -default = [] -# enabling this feature disables exposing the entrypoints and setting `#[global_allocator]` -library = [] diff --git a/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/Cargo.toml b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/Cargo.toml new file mode 100644 index 0000000000..1af619f6bc --- /dev/null +++ b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/Cargo.toml @@ -0,0 +1,33 @@ +[package] +authors = ["Union Labs"] +edition = "2021" +license-file = { workspace = true } +name = "evm-in-cosmos-light-client" +publish = false +version = "0.1.0" + +[lints] +workspace = true + +[lib] +crate-type = ["cdylib", "rlib"] + +[dependencies] +cometbls-light-client = { workspace = true, features = ["library"] } +cosmwasm-std = { workspace = true, features = ["abort"] } +ethereum-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } +evm-storage-verifier = { workspace = true } +ibc-union-light-client = { workspace = true } +ibc-union-msg = { workspace = true } +ibc-union-spec = { workspace = true } +ics23 = { workspace = true } +rlp = { workspace = true } +serde = { workspace = true, features = ["derive"] } +state-lens-ics23-mpt-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } +thiserror = { workspace = true } +unionlabs = { workspace = true, features = ["ethabi", "stargate", "bincode"] } + +[features] +default = [] +# enabling this feature disables exposing the entrypoints and setting `#[global_allocator]` +library = [] diff --git a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/evm-in-cosmos-light-client.nix b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/evm-in-cosmos-light-client.nix similarity index 100% rename from cosmwasm/ibc-union/light-clients/evm-in-cosmos/evm-in-cosmos-light-client.nix rename to cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/evm-in-cosmos-light-client.nix diff --git a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/client.rs b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/client.rs similarity index 97% rename from cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/client.rs rename to cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/client.rs index 573a09fee4..26e962e8c4 100644 --- a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/client.rs +++ b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/client.rs @@ -1,10 +1,10 @@ use cometbls_light_client::client::CometblsLightClient; use cosmwasm_std::Empty; use ethereum_light_client_types::StorageProof; -use evm_state_lens_light_client_types::{ClientState, ConsensusState, Header}; use ibc_union_light_client::IbcClient; use ibc_union_msg::lightclient::Status; use ibc_union_spec::ConsensusStatePath; +use state_lens_ics23_mpt_light_client_types::{ClientState, ConsensusState, Header}; use unionlabs::{ encoding::Bincode, ethereum::{ibc_commitment_key, keccak256}, @@ -14,9 +14,9 @@ use unionlabs::{ use crate::errors::Error; -pub struct EvmInCosmosLightClient; +pub struct StateLensIcs23MptLightClient; -impl IbcClient for EvmInCosmosLightClient { +impl IbcClient for StateLensIcs23MptLightClient { type Error = Error; type CustomQuery = Empty; diff --git a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/contract.rs b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/contract.rs similarity index 73% rename from cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/contract.rs rename to cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/contract.rs index 0c4bf8b08b..6598a3b222 100644 --- a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/contract.rs +++ b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/contract.rs @@ -6,7 +6,7 @@ use ibc_union_light_client::{ IbcClientError, }; -use crate::client::EvmInCosmosLightClient; +use crate::client::StateLensIcs23MptLightClient; #[cfg_attr(not(feature = "library"), entry_point)] pub fn instantiate( @@ -14,13 +14,14 @@ pub fn instantiate( env: Env, info: MessageInfo, msg: InstantiateMsg, -) -> Result> { +) -> Result> { ibc_union_light_client::instantiate(deps, env, info, msg) } #[cfg_attr(not(feature = "library"), entry_point)] pub fn query(deps: Deps, env: Env, msg: QueryMsg) -> StdResult { - ibc_union_light_client::query::(deps, env, msg).map_err(Into::into) + ibc_union_light_client::query::(deps, env, msg) + .map_err(Into::into) } #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)] @@ -31,6 +32,6 @@ pub fn migrate( _deps: DepsMut, _env: Env, _msg: MigrateMsg, -) -> Result> { +) -> Result> { Ok(Response::new()) } diff --git a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/errors.rs b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/errors.rs similarity index 93% rename from cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/errors.rs rename to cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/errors.rs index 3e29b15ca5..6591bd1cef 100644 --- a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/errors.rs +++ b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/errors.rs @@ -3,7 +3,7 @@ use cosmwasm_std::StdError; use ibc_union_light_client::IbcClientError; use unionlabs::{ibc::core::client::height::Height, primitives::H256, uint::U256}; -use crate::client::EvmInCosmosLightClient; +use crate::client::StateLensIcs23MptLightClient; #[derive(thiserror::Error, Debug)] pub enum Error { @@ -44,7 +44,7 @@ pub enum Error { CounterpartyStorageNotNil, } -impl From for IbcClientError { +impl From for IbcClientError { fn from(value: Error) -> Self { IbcClientError::ClientSpecific(value) } diff --git a/cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/lib.rs b/cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/lib.rs similarity index 100% rename from cosmwasm/ibc-union/light-clients/evm-in-cosmos/src/lib.rs rename to cosmwasm/ibc-union/light-clients/state-lens-ics23-mpt/src/lib.rs diff --git a/evm/contracts/clients/CosmosInCosmosClient.sol b/evm/contracts/clients/StateLensIcs23Ics23Client.sol similarity index 94% rename from evm/contracts/clients/CosmosInCosmosClient.sol rename to evm/contracts/clients/StateLensIcs23Ics23Client.sol index 68e205512b..dd43acedbe 100644 --- a/evm/contracts/clients/CosmosInCosmosClient.sol +++ b/evm/contracts/clients/StateLensIcs23Ics23Client.sol @@ -39,7 +39,7 @@ struct ConsensusState { bytes32 appHash; } -library CosmosInCosmosLib { +library StateLensIcs23Ics23Lib { error ErrNotIBC(); error ErrTrustedConsensusStateNotFound(); error ErrClientFrozen(); @@ -78,14 +78,14 @@ library CosmosInCosmosLib { } } -contract CosmosInCosmosClient is +contract StateLensIcs23Ics23Client is ILightClient, Initializable, UUPSUpgradeable, OwnableUpgradeable, PausableUpgradeable { - using CosmosInCosmosLib for *; + using StateLensIcs23Ics23Lib for *; address private ibcHandler; @@ -120,7 +120,7 @@ contract CosmosInCosmosClient is consensusState := consensusStateBytes.offset } if (clientState.l2LatestHeight == 0 || consensusState.timestamp == 0) { - revert CosmosInCosmosLib.ErrInvalidInitialConsensusState(); + revert StateLensIcs23Ics23Lib.ErrInvalidInitialConsensusState(); } clientStates[clientId] = clientState; consensusStates[clientId][clientState.l2LatestHeight] = consensusState; @@ -165,7 +165,7 @@ contract CosmosInCosmosClient is abi.encodePacked(keccak256(header.l2ConsensusState)) ) ) { - revert CosmosInCosmosLib.ErrInvalidL1Proof(); + revert StateLensIcs23Ics23Lib.ErrInvalidL1Proof(); } TendermintConsensusState calldata l2ConsensusState; @@ -203,7 +203,7 @@ contract CosmosInCosmosClient is uint32 clientId, bytes calldata clientMessageBytes ) external override onlyIBC { - revert CosmosInCosmosLib.ErrInvalidMisbehaviour(); + revert StateLensIcs23Ics23Lib.ErrInvalidMisbehaviour(); } function verifyMembership( @@ -214,7 +214,7 @@ contract CosmosInCosmosClient is bytes calldata value ) external virtual returns (bool) { if (isFrozenImpl(clientId)) { - revert CosmosInCosmosLib.ErrClientFrozen(); + revert StateLensIcs23Ics23Lib.ErrClientFrozen(); } bytes32 contractAddress = clientStates[clientId].contractAddress; bytes32 appHash = consensusStates[clientId][height].appHash; @@ -236,7 +236,7 @@ contract CosmosInCosmosClient is bytes calldata path ) external virtual returns (bool) { if (isFrozenImpl(clientId)) { - revert CosmosInCosmosLib.ErrClientFrozen(); + revert StateLensIcs23Ics23Lib.ErrClientFrozen(); } bytes32 contractAddress = clientStates[clientId].contractAddress; bytes32 appHash = consensusStates[clientId][height].appHash; @@ -295,7 +295,7 @@ contract CosmosInCosmosClient is function _onlyIBC() internal view { if (msg.sender != ibcHandler) { - revert CosmosInCosmosLib.ErrNotIBC(); + revert StateLensIcs23Ics23Lib.ErrNotIBC(); } } diff --git a/evm/contracts/clients/EvmInCosmosClient.sol b/evm/contracts/clients/StateLensIcs23MptClient.sol similarity index 91% rename from evm/contracts/clients/EvmInCosmosClient.sol rename to evm/contracts/clients/StateLensIcs23MptClient.sol index fa9437d627..b5335c04eb 100644 --- a/evm/contracts/clients/EvmInCosmosClient.sol +++ b/evm/contracts/clients/StateLensIcs23MptClient.sol @@ -35,7 +35,7 @@ struct ConsensusState { bytes32 storageRoot; } -library EvmInCosmosLib { +library StateLensIcs23MptLib { uint256 public constant EVM_IBC_COMMITMENT_SLOT = 0; event CreateLensClient( @@ -83,14 +83,14 @@ library EvmInCosmosLib { } } -contract EvmInCosmosClient is +contract StateLensIcs23MptClient is ILightClient, Initializable, UUPSUpgradeable, OwnableUpgradeable, PausableUpgradeable { - using EvmInCosmosLib for *; + using StateLensIcs23MptLib for *; address private ibcHandler; @@ -123,12 +123,12 @@ contract EvmInCosmosClient is consensusState := consensusStateBytes.offset } if (clientState.l2LatestHeight == 0 || consensusState.timestamp == 0) { - revert EvmInCosmosLib.ErrInvalidInitialConsensusState(); + revert StateLensIcs23MptLib.ErrInvalidInitialConsensusState(); } clientStates[clientId] = clientState; consensusStates[clientId][clientState.l2LatestHeight] = consensusState; - emit EvmInCosmosLib.CreateLensClient( + emit StateLensIcs23MptLib.CreateLensClient( clientId, clientState.l1ClientId, clientState.l2ClientId, @@ -171,21 +171,21 @@ contract EvmInCosmosClient is abi.encodePacked(keccak256(header.l2ConsensusState)) ) ) { - revert EvmInCosmosLib.ErrInvalidL1Proof(); + revert StateLensIcs23MptLib.ErrInvalidL1Proof(); } bytes calldata rawL2ConsensusState = header.l2ConsensusState; uint64 l2Timestamp = uint64( uint256( - EvmInCosmosLib.extract( + StateLensIcs23MptLib.extract( rawL2ConsensusState, clientState.timestampOffset ) ) ); - bytes32 l2StateRoot = EvmInCosmosLib.extract( + bytes32 l2StateRoot = StateLensIcs23MptLib.extract( rawL2ConsensusState, clientState.stateRootOffset ); - bytes32 l2StorageRoot = EvmInCosmosLib.extract( + bytes32 l2StorageRoot = StateLensIcs23MptLib.extract( rawL2ConsensusState, clientState.storageRootOffset ); @@ -213,7 +213,7 @@ contract EvmInCosmosClient is uint32 clientId, bytes calldata clientMessageBytes ) external override onlyIBC { - revert EvmInCosmosLib.ErrUnsupported(); + revert StateLensIcs23MptLib.ErrUnsupported(); } function verifyMembership( @@ -224,11 +224,11 @@ contract EvmInCosmosClient is bytes calldata value ) external virtual returns (bool) { if (isFrozenImpl(clientId)) { - revert EvmInCosmosLib.ErrClientFrozen(); + revert StateLensIcs23MptLib.ErrClientFrozen(); } bytes32 storageRoot = consensusStates[clientId][height].storageRoot; bytes32 slot = keccak256( - abi.encodePacked(path, EvmInCosmosLib.EVM_IBC_COMMITMENT_SLOT) + abi.encodePacked(path, StateLensIcs23MptLib.EVM_IBC_COMMITMENT_SLOT) ); (bool exists, bytes calldata provenValue) = MPTVerifier.verifyTrieValue( proof, keccak256(abi.encodePacked(slot)), storageRoot @@ -245,11 +245,11 @@ contract EvmInCosmosClient is bytes calldata path ) external virtual returns (bool) { if (isFrozenImpl(clientId)) { - revert EvmInCosmosLib.ErrClientFrozen(); + revert StateLensIcs23MptLib.ErrClientFrozen(); } bytes32 storageRoot = consensusStates[clientId][height].storageRoot; bytes32 slot = keccak256( - abi.encodePacked(path, EvmInCosmosLib.EVM_IBC_COMMITMENT_SLOT) + abi.encodePacked(path, StateLensIcs23MptLib.EVM_IBC_COMMITMENT_SLOT) ); (bool exists,) = MPTVerifier.verifyTrieValue( proof, keccak256(abi.encodePacked(slot)), storageRoot @@ -302,7 +302,7 @@ contract EvmInCosmosClient is function _onlyIBC() internal view { if (msg.sender != ibcHandler) { - revert EvmInCosmosLib.ErrNotIBC(); + revert StateLensIcs23MptLib.ErrNotIBC(); } } diff --git a/evm/evm.nix b/evm/evm.nix index 1e55241121..152d09d696 100644 --- a/evm/evm.nix +++ b/evm/evm.nix @@ -600,8 +600,8 @@ _: { ${contracts}/out/Zkgm.sol/UCS03Zkgm.json > ucs-03.json jq --compact-output --slurp 'map(.abi) | add' \ - ${contracts}/out/EvmInCosmosClient.sol/EvmInCosmosClient.json \ - ${contracts}/out/EvmInCosmosClient.sol/EvmInCosmosLib.json > evm-in-cosmos-client.json + ${contracts}/out/StateLensIcs23MptClient.sol/StateLensIcs23MptClient.json \ + ${contracts}/out/StateLensIcs23MptClient.sol/StateLensIcs23MptLib.json > state-lens-ics23-mpt-client.json '' ); @@ -697,8 +697,8 @@ _: { ) // builtins.listToAttrs ( builtins.map (args: { - name = "eth-deploy-${args.network}-evm-lens"; - value = eth-deploy-single ({ kind = "EvmLens"; } // args); + name = "eth-deploy-${args.network}-state-lens-ics23-mpt-client"; + value = eth-deploy-single ({ kind = "StateLensIcs23MptClient"; } // args); }) networks ) // builtins.listToAttrs ( @@ -751,11 +751,11 @@ _: { ) // builtins.listToAttrs ( builtins.map (args: { - name = "eth-upgrade-${args.network}-evm-lens-client"; + name = "eth-upgrade-${args.network}-state-lens-ics23-mpt-client"; value = eth-upgrade ( { dry = false; - protocol = "EvmInCosmosClient"; + protocol = "StateLensIcs23MptClient"; } // args ); @@ -763,11 +763,11 @@ _: { ) // builtins.listToAttrs ( builtins.map (args: { - name = "eth-upgrade-${args.network}-cosmos-lens-client"; + name = "eth-upgrade-${args.network}-state-lens-ics23-ics23-client"; value = eth-upgrade ( { dry = false; - protocol = "CosmosInCosmosClient"; + protocol = "StateLensIcs23Ics23Client"; } // args ); diff --git a/evm/scripts/Deploy.s.sol b/evm/scripts/Deploy.s.sol index 6075ccc8b8..ef3aca944d 100644 --- a/evm/scripts/Deploy.s.sol +++ b/evm/scripts/Deploy.s.sol @@ -14,9 +14,10 @@ import "@openzeppelin/access/Ownable.sol"; import "../contracts/Multicall.sol"; import "../contracts/core/OwnableIBCHandler.sol"; import "../contracts/clients/CometblsClient.sol"; -import {CosmosInCosmosClient} from - "../contracts/clients/CosmosInCosmosClient.sol"; -import {EvmInCosmosClient} from "../contracts/clients/EvmInCosmosClient.sol"; +import {StateLensIcs23Ics23Client} from + "../contracts/clients/StateLensIcs23Ics23Client.sol"; +import {StateLensIcs23MptClient} from + "../contracts/clients/StateLensIcs23MptClient.sol"; import "../contracts/apps/ucs/00-pingpong/PingPong.sol"; import "../contracts/apps/ucs/01-relay/Relay.sol"; import "../contracts/apps/ucs/02-nft/NFT.sol"; @@ -109,34 +110,35 @@ abstract contract UnionScript is UnionBase { ); } - function deployEvmLens( + function deployStateLensIcs23MptClient( IBCHandler handler, address owner - ) internal returns (EvmInCosmosClient) { - return EvmInCosmosClient( + ) internal returns (StateLensIcs23MptClient) { + return StateLensIcs23MptClient( deploy( LightClients.make(LightClients.STATE_LENS_EVM), abi.encode( - address(new EvmInCosmosClient()), + address(new StateLensIcs23MptClient()), abi.encodeCall( - EvmInCosmosClient.initialize, (address(handler), owner) + StateLensIcs23MptClient.initialize, + (address(handler), owner) ) ) ) ); } - function deployCosmosLens( + function deployStateLensIcs23Ics23Client( IBCHandler handler, address owner - ) internal returns (CosmosInCosmosClient) { - return CosmosInCosmosClient( + ) internal returns (StateLensIcs23Ics23Client) { + return StateLensIcs23Ics23Client( deploy( LightClients.make(LightClients.STATE_LENS_COSMOS), abi.encode( - address(new CosmosInCosmosClient()), + address(new StateLensIcs23Ics23Client()), abi.encodeCall( - CosmosInCosmosClient.initialize, + StateLensIcs23Ics23Client.initialize, (address(handler), owner) ) ) @@ -231,8 +233,8 @@ abstract contract UnionScript is UnionBase { returns ( IBCHandler, CometblsClient, - EvmInCosmosClient, - CosmosInCosmosClient, + StateLensIcs23MptClient, + StateLensIcs23Ics23Client, PingPong, UCS01Relay, UCS02NFT, @@ -241,8 +243,10 @@ abstract contract UnionScript is UnionBase { { IBCHandler handler = deployIBCHandler(owner); CometblsClient cometblsClient = deployCometbls(handler, owner); - EvmInCosmosClient evmLensClient = deployEvmLens(handler, owner); - CosmosInCosmosClient cosmosLensClient = deployCosmosLens(handler, owner); + StateLensIcs23MptClient stateLensIcs23MptClient = + deployStateLensIcs23MptClient(handler, owner); + StateLensIcs23Ics23Client stateLensIcs23Ics23Client = + deployStateLensIcs23Ics23Client(handler, owner); PingPong pingpong = deployUCS00(handler, owner, 100000000000000); UCS01Relay relay = deployUCS01(handler, owner); UCS02NFT nft = deployUCS02(handler, owner); @@ -250,8 +254,8 @@ abstract contract UnionScript is UnionBase { return ( handler, cometblsClient, - evmLensClient, - cosmosLensClient, + stateLensIcs23MptClient, + stateLensIcs23Ics23Client, pingpong, relay, nft, @@ -292,7 +296,7 @@ contract DeployMulticall is UnionScript { } } -contract DeployEvmLens is UnionScript { +contract DeployStateLensIcs23MptClient is UnionScript { using LibString for *; address immutable deployer; @@ -325,12 +329,14 @@ contract DeployEvmLens is UnionScript { vm.startBroadcast(privateKey); - EvmInCosmosClient evmLensClient = - deployEvmLens(IBCHandler(handler), owner); + StateLensIcs23MptClient stateLensIcs23MptClient = + deployStateLensIcs23MptClient(IBCHandler(handler), owner); vm.stopBroadcast(); - console.log("EvmInCosmosClient: ", address(evmLensClient)); + console.log( + "StateLensIcs23MptClient: ", address(stateLensIcs23MptClient) + ); } } @@ -375,7 +381,7 @@ contract DeployUCS03 is UnionScript { } } -contract DeployCosmosLens is UnionScript { +contract DeployStateLensIcs23Ics23Client is UnionScript { using LibString for *; address immutable deployer; @@ -408,12 +414,14 @@ contract DeployCosmosLens is UnionScript { vm.startBroadcast(privateKey); - CosmosInCosmosClient cosmosLensClient = - deployCosmosLens(IBCHandler(handler), owner); + StateLensIcs23Ics23Client stateLensIcs23Ics23Client = + deployStateLensIcs23Ics23Client(IBCHandler(handler), owner); vm.stopBroadcast(); - console.log("CosmosInCosmosClient: ", address(cosmosLensClient)); + console.log( + "StateLensIcs23Ics23Client: ", address(stateLensIcs23Ics23Client) + ); } } @@ -435,16 +443,20 @@ contract DeployIBC is UnionScript { ( IBCHandler handler, CometblsClient cometblsClient, - EvmInCosmosClient evmLensClient, - CosmosInCosmosClient cosmosLensClient, + StateLensIcs23MptClient stateLensIcs23MptClient, + StateLensIcs23Ics23Client stateLensIcs23Ics23Client, PingPong pingpong, UCS01Relay relay, UCS02NFT nft, Multicall multicall ) = deployIBC(vm.addr(privateKey)); handler.registerClient(LightClients.COMETBLS, cometblsClient); - handler.registerClient(LightClients.STATE_LENS_EVM, evmLensClient); - handler.registerClient(LightClients.STATE_LENS_COSMOS, cosmosLensClient); + handler.registerClient( + LightClients.STATE_LENS_EVM, stateLensIcs23MptClient + ); + handler.registerClient( + LightClients.STATE_LENS_COSMOS, stateLensIcs23Ics23Client + ); vm.stopBroadcast(); @@ -452,8 +464,12 @@ contract DeployIBC is UnionScript { console.log("Sender: ", vm.addr(privateKey)); console.log("IBCHandler: ", address(handler)); console.log("CometblsClient: ", address(cometblsClient)); - console.log("EvmInCosmosClient: ", address(evmLensClient)); - console.log("CosmosInCosmosClient: ", address(cosmosLensClient)); + console.log( + "StateLensIcs23MptClient: ", address(stateLensIcs23MptClient) + ); + console.log( + "StateLensIcs23Ics23Client: ", address(stateLensIcs23Ics23Client) + ); console.log("UCS00: ", address(pingpong)); console.log("UCS01: ", address(relay)); console.log("UCS02: ", address(nft)); @@ -478,16 +494,20 @@ contract DeployDeployerAndIBC is UnionScript { ( IBCHandler handler, CometblsClient cometblsClient, - EvmInCosmosClient evmLensClient, - CosmosInCosmosClient cosmosLensClient, + StateLensIcs23MptClient stateLensIcs23MptClient, + StateLensIcs23Ics23Client stateLensIcs23Ics23Client, PingPong pingpong, UCS01Relay relay, UCS02NFT nft, Multicall multicall ) = deployIBC(vm.addr(privateKey)); handler.registerClient(LightClients.COMETBLS, cometblsClient); - handler.registerClient(LightClients.STATE_LENS_EVM, evmLensClient); - handler.registerClient(LightClients.STATE_LENS_COSMOS, cosmosLensClient); + handler.registerClient( + LightClients.STATE_LENS_EVM, stateLensIcs23MptClient + ); + handler.registerClient( + LightClients.STATE_LENS_COSMOS, stateLensIcs23Ics23Client + ); vm.stopBroadcast(); @@ -495,8 +515,12 @@ contract DeployDeployerAndIBC is UnionScript { console.log("Sender: ", vm.addr(privateKey)); console.log("IBCHandler: ", address(handler)); console.log("CometblsClient: ", address(cometblsClient)); - console.log("EvmInCosmosClient: ", address(evmLensClient)); - console.log("CosmosInCosmosClient: ", address(cosmosLensClient)); + console.log( + "StateLensIcs23MptClient: ", address(stateLensIcs23MptClient) + ); + console.log( + "StateLensIcs23Ics23Client: ", address(stateLensIcs23Ics23Client) + ); console.log("UCS00: ", address(pingpong)); console.log("UCS01: ", address(relay)); console.log("UCS02: ", address(nft)); @@ -537,9 +561,9 @@ contract GetDeployed is Script { address handler = getDeployed(IBC.BASED); address cometblsClient = getDeployed(LightClients.make(LightClients.COMETBLS)); - address evmLensClient = + address stateLensIcs23MptClient = getDeployed(LightClients.make(LightClients.STATE_LENS_EVM)); - address cosmosLensClient = + address stateLensIcs23Ics23Client = getDeployed(LightClients.make(LightClients.STATE_LENS_COSMOS)); address ucs00 = getDeployed(Protocols.make(Protocols.UCS00)); address ucs01 = getDeployed(Protocols.make(Protocols.UCS01)); @@ -561,13 +585,17 @@ contract GetDeployed is Script { ); console.log( string( - abi.encodePacked("EvmLensClient: ", evmLensClient.toHexString()) + abi.encodePacked( + "StateLensIcs23MptClient: ", + stateLensIcs23MptClient.toHexString() + ) ) ); console.log( string( abi.encodePacked( - "CosmosLensClient: ", cosmosLensClient.toHexString() + "StateLensIcs23Ics23Client: ", + stateLensIcs23Ics23Client.toHexString() ) ) ); @@ -609,21 +637,26 @@ contract GetDeployed is Script { ); impls.serialize(cometblsClient.toHexString(), proxyComet); - string memory proxyEvmLens = "proxyEvmLens"; - proxyEvmLens.serialize( + string memory proxyStateLensIcs23MptClient = + "proxyStateLensIcs23MptClient"; + proxyStateLensIcs23MptClient.serialize( "contract", string( "libs/@openzeppelin/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy" ) ); - proxyEvmLens = proxyEvmLens.serialize( + proxyStateLensIcs23MptClient = proxyStateLensIcs23MptClient.serialize( "args", abi.encode( - implOf(evmLensClient), - abi.encodeCall(EvmInCosmosClient.initialize, (handler, sender)) + implOf(stateLensIcs23MptClient), + abi.encodeCall( + StateLensIcs23MptClient.initialize, (handler, sender) + ) ) ); - impls.serialize(evmLensClient.toHexString(), proxyEvmLens); + impls.serialize( + stateLensIcs23MptClient.toHexString(), proxyStateLensIcs23MptClient + ); string memory proxyUCS00 = "proxyUCS00"; proxyUCS00.serialize( @@ -721,13 +754,20 @@ contract GetDeployed is Script { implComet = implComet.serialize("args", bytes(hex"")); impls.serialize(implOf(cometblsClient).toHexString(), implComet); - string memory implEvmLens = "implEvmLens"; - implEvmLens.serialize( + string memory implStateLensIcs23MptClient = + "implStateLensIcs23MptClient"; + implStateLensIcs23MptClient.serialize( "contract", - string("contracts/clients/EvmInCosmosClient.sol:EvmInCosmosClient") + string( + "contracts/clients/StateLensIcs23MptClient.sol:StateLensIcs23MptClient" + ) + ); + implStateLensIcs23MptClient = + implStateLensIcs23MptClient.serialize("args", bytes(hex"")); + impls.serialize( + implOf(stateLensIcs23MptClient).toHexString(), + implStateLensIcs23MptClient ); - implEvmLens = implEvmLens.serialize("args", bytes(hex"")); - impls.serialize(implOf(evmLensClient).toHexString(), implEvmLens); string memory implUCS00 = "implUCS00"; implUCS00.serialize( @@ -1044,7 +1084,7 @@ contract UpgradeCometblsClient is Script { } } -contract UpgradeEvmInCosmosClient is Script { +contract UpgradeStateLensIcs23MptClient is Script { using LibString for *; address immutable deployer; @@ -1067,23 +1107,26 @@ contract UpgradeEvmInCosmosClient is Script { } function run() public { - address evmLensClient = + address stateLensIcs23MptClient = getDeployed(LightClients.make(LightClients.STATE_LENS_EVM)); console.log( string( - abi.encodePacked("EvmLensClient: ", evmLensClient.toHexString()) + abi.encodePacked( + "StateLensIcs23MptClient: ", + stateLensIcs23MptClient.toHexString() + ) ) ); vm.startBroadcast(privateKey); - address newImplementation = address(new EvmInCosmosClient()); - CometblsClient(evmLensClient).upgradeToAndCall( + address newImplementation = address(new StateLensIcs23MptClient()); + CometblsClient(stateLensIcs23MptClient).upgradeToAndCall( newImplementation, new bytes(0) ); vm.stopBroadcast(); } } -contract UpgradeCosmosInCosmosClient is Script { +contract UpgradeStateLensIcs23Ics23Client is Script { using LibString for *; address immutable deployer; @@ -1106,18 +1149,19 @@ contract UpgradeCosmosInCosmosClient is Script { } function run() public { - address cosmosLensClient = + address stateLensIcs23Ics23Client = getDeployed(LightClients.make(LightClients.STATE_LENS_COSMOS)); console.log( string( abi.encodePacked( - "CosmosInCosmos: ", cosmosLensClient.toHexString() + "StateLensIcs23Ics23Client: ", + stateLensIcs23Ics23Client.toHexString() ) ) ); vm.startBroadcast(privateKey); - address newImplementation = address(new CosmosInCosmosClient()); - CosmosInCosmosClient(cosmosLensClient).upgradeToAndCall( + address newImplementation = address(new StateLensIcs23Ics23Client()); + StateLensIcs23Ics23Client(stateLensIcs23Ics23Client).upgradeToAndCall( newImplementation, new bytes(0) ); vm.stopBroadcast(); diff --git a/evm/tests/src/02-client/CosmosInCosmosClient.t.sol b/evm/tests/src/02-client/StateLensIcs23Ics23Client.t.sol similarity index 94% rename from evm/tests/src/02-client/CosmosInCosmosClient.t.sol rename to evm/tests/src/02-client/StateLensIcs23Ics23Client.t.sol index 3697b61974..953c3e29ed 100644 --- a/evm/tests/src/02-client/CosmosInCosmosClient.t.sol +++ b/evm/tests/src/02-client/StateLensIcs23Ics23Client.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.27; import "forge-std/Test.sol"; import "../core/IBCHandler.sol"; import "../core/Relay.sol"; -import "../../../contracts/clients/CosmosInCosmosClient.sol"; +import "../../../contracts/clients/StateLensIcs23Ics23Client.sol"; import "@openzeppelin/proxy/ERC1967/ERC1967Proxy.sol"; import "solady/utils/LibString.sol"; import "@openzeppelin/token/ERC20/ERC20.sol"; @@ -122,25 +122,26 @@ contract MockIbcStore { } } -contract CosmosInCosmosClientTest is Test { - CosmosInCosmosClient client; +contract StateLensIcs23Ics23ClientTest is Test { + StateLensIcs23Ics23Client client; address admin = address(0xABcD); address ibcHandler; // = address(0x1234); MockIbcStore ibcStore; MockLightClient lightClient; function setUp() public { - // Deploy and initialize the CosmosInCosmosClient contract + // Deploy and initialize the StateLensIcs23Ics23Client contract ibcStore = new MockIbcStore(); ibcHandler = address(ibcStore); - CosmosInCosmosClient implementation = new CosmosInCosmosClient(); + StateLensIcs23Ics23Client implementation = + new StateLensIcs23Ics23Client(); ERC1967Proxy proxy = new ERC1967Proxy( address(implementation), abi.encodeWithSelector( - CosmosInCosmosClient.initialize.selector, ibcHandler, admin + StateLensIcs23Ics23Client.initialize.selector, ibcHandler, admin ) ); - client = CosmosInCosmosClient(address(proxy)); + client = StateLensIcs23Ics23Client(address(proxy)); lightClient = new MockLightClient(); ibcStore.setClient(address(lightClient)); } @@ -238,7 +239,7 @@ contract CosmosInCosmosClientTest is Test { vm.prank(ibcHandler); // Simulate call from the IBC handler vm.expectRevert( abi.encodeWithSelector( - CosmosInCosmosLib.ErrInvalidInitialConsensusState.selector + StateLensIcs23Ics23Lib.ErrInvalidInitialConsensusState.selector ) ); @@ -373,7 +374,9 @@ contract CosmosInCosmosClientTest is Test { // Update client vm.prank(address(ibcHandler)); vm.expectRevert( - abi.encodeWithSelector(CosmosInCosmosLib.ErrInvalidL1Proof.selector) + abi.encodeWithSelector( + StateLensIcs23Ics23Lib.ErrInvalidL1Proof.selector + ) ); client.updateClient(clientId, clientMessageBytes); } @@ -382,7 +385,7 @@ contract CosmosInCosmosClientTest is Test { vm.prank(ibcHandler); // Simulate call from the IBC handler vm.expectRevert( abi.encodeWithSelector( - CosmosInCosmosLib.ErrInvalidMisbehaviour.selector + StateLensIcs23Ics23Lib.ErrInvalidMisbehaviour.selector ) ); client.misbehaviour(1, bytes("")); @@ -497,7 +500,9 @@ contract CosmosInCosmosClientTest is Test { lightClient.setIsFrozenReturn(true); vm.prank(address(ibcHandler)); vm.expectRevert( - abi.encodeWithSelector(CosmosInCosmosLib.ErrClientFrozen.selector) + abi.encodeWithSelector( + StateLensIcs23Ics23Lib.ErrClientFrozen.selector + ) ); client.verifyMembership(1, 1, bytes(""), bytes(""), bytes("")); } @@ -555,7 +560,9 @@ contract CosmosInCosmosClientTest is Test { lightClient.setIsFrozenReturn(true); vm.prank(address(ibcHandler)); vm.expectRevert( - abi.encodeWithSelector(CosmosInCosmosLib.ErrClientFrozen.selector) + abi.encodeWithSelector( + StateLensIcs23Ics23Lib.ErrClientFrozen.selector + ) ); client.verifyNonMembership(1, 1, bytes(""), bytes("")); } diff --git a/evm/tests/src/02-client/EvmInCosmosClient.t.sol b/evm/tests/src/02-client/StateLensIcs23MptClient.t.sol similarity index 59% rename from evm/tests/src/02-client/EvmInCosmosClient.t.sol rename to evm/tests/src/02-client/StateLensIcs23MptClient.t.sol index 7355f98bfc..8d6002401d 100644 --- a/evm/tests/src/02-client/EvmInCosmosClient.t.sol +++ b/evm/tests/src/02-client/StateLensIcs23MptClient.t.sol @@ -3,24 +3,24 @@ pragma solidity ^0.8.27; import "forge-std/Test.sol"; import "../core/IBCHandler.sol"; import "../core/Relay.sol"; -import "../../../contracts/clients/EvmInCosmosClient.sol"; +import "../../../contracts/clients/StateLensIcs23MptClient.sol"; import "@openzeppelin/proxy/ERC1967/ERC1967Proxy.sol"; -contract EvmInCosmosClientTest is Test { - EvmInCosmosClient client; +contract StateLensIcs23MptClientTest is Test { + StateLensIcs23MptClient client; address admin = address(0xABCD); address ibcHandler; function setUp() public { ibcHandler = address(0xC0DE); - EvmInCosmosClient implementation = new EvmInCosmosClient(); + StateLensIcs23MptClient implementation = new StateLensIcs23MptClient(); ERC1967Proxy proxy = new ERC1967Proxy( address(implementation), abi.encodeWithSelector( - EvmInCosmosClient.initialize.selector, ibcHandler, admin + StateLensIcs23MptClient.initialize.selector, ibcHandler, admin ) ); - client = EvmInCosmosClient(address(proxy)); + client = StateLensIcs23MptClient(address(proxy)); } function test_initialize_ok() public { diff --git a/generated/rust/protos/Cargo.toml b/generated/rust/protos/Cargo.toml index 9b288bb669..f2511fbc32 100644 --- a/generated/rust/protos/Cargo.toml +++ b/generated/rust/protos/Cargo.toml @@ -26,6 +26,7 @@ workspace = true # @@protoc_deletion_point(features) # This section is automatically generated by protoc-gen-prost-crate. # Changes in this area may be lost on regeneration. +"amino" = [] "capability+v1" = [] "cometbft+abci+v1" = ["cometbft+crypto+v1", "cometbft+types+v1", "google+protobuf"] "cometbft+abci+v1beta1" = ["cometbft+crypto+v1", "cometbft+types+v1beta1", "google+protobuf"] @@ -200,14 +201,15 @@ workspace = true ] "ibc+lightclients+solomachine+v3" = ["google+protobuf"] "ibc+lightclients+tendermint+v1" = [ + "cometbft+types+v1", "cosmos+ics23+v1", "google+protobuf", "ibc+core+client+v1", "ibc+core+commitment+v1", - "tendermint+types", ] "ibc+lightclients+wasm+v1" = ["cosmos+base+query+v1beta1", "ibc+core+client+v1"] proto_full = [ + "amino", "capability+v1", "cometbft+abci+v1", "cometbft+abci+v1beta1", @@ -320,15 +322,7 @@ proto_full = [ "tendermint+version", "tokenfactory+v1beta1", "union+galois+api+v3", - "union+ibc+lightclients+arbitrum+v1", - "union+ibc+lightclients+berachain+v1", "union+ibc+lightclients+cometbls+v1", - "union+ibc+lightclients+cosmosincosmos+v1", - "union+ibc+lightclients+ethereum+v1", - "union+ibc+lightclients+evmincosmos+v1", - "union+ibc+lightclients+linea+v1", - "union+ibc+lightclients+movement+v1", - "union+ibc+lightclients+scroll+v1", "union+ics23+v1", "union+staking+v1", ] @@ -356,30 +350,11 @@ proto_full = [ "tendermint+version" = [] "tokenfactory+v1beta1" = ["cosmos+bank+v1beta1", "cosmos+base+v1beta1"] "union+galois+api+v3" = ["cometbft+types+v1"] -"union+ibc+lightclients+arbitrum+v1" = ["ibc+core+client+v1", "union+ibc+lightclients+ethereum+v1"] -"union+ibc+lightclients+berachain+v1" = [ - "cosmos+ics23+v1", - "google+protobuf", - "ibc+core+client+v1", - "ibc+core+commitment+v1", - "ibc+lightclients+tendermint+v1", - "union+ibc+lightclients+ethereum+v1", -] "union+ibc+lightclients+cometbls+v1" = [ "google+protobuf", "ibc+core+client+v1", "ibc+core+commitment+v1", ] -"union+ibc+lightclients+cosmosincosmos+v1" = ["ibc+core+client+v1", "ibc+core+commitment+v1"] -"union+ibc+lightclients+ethereum+v1" = ["ibc+core+client+v1"] -"union+ibc+lightclients+evmincosmos+v1" = [ - "ibc+core+client+v1", - "ibc+core+commitment+v1", - "union+ibc+lightclients+ethereum+v1", -] -"union+ibc+lightclients+linea+v1" = ["ibc+core+client+v1", "union+ibc+lightclients+ethereum+v1"] -"union+ibc+lightclients+movement+v1" = ["ibc+core+client+v1", "union+ibc+lightclients+ethereum+v1"] -"union+ibc+lightclients+scroll+v1" = ["ibc+core+client+v1", "union+ibc+lightclients+ethereum+v1"] "union+ics23+v1" = [] "union+staking+v1" = ["cosmos+staking+v1beta1"] ## @@protoc_insertion_point(features) diff --git a/generated/rust/protos/src/amino.rs b/generated/rust/protos/src/amino.rs new file mode 100644 index 0000000000..8e2ac1beb9 --- /dev/null +++ b/generated/rust/protos/src/amino.rs @@ -0,0 +1,2 @@ +// @generated +// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/cosmos.auth.v1beta1.rs b/generated/rust/protos/src/cosmos.auth.v1beta1.rs index e5818ab433..b1a96d5622 100644 --- a/generated/rust/protos/src/cosmos.auth.v1beta1.rs +++ b/generated/rust/protos/src/cosmos.auth.v1beta1.rs @@ -84,128 +84,6 @@ impl ::prost::Name for Params { ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) } } -/// MsgUpdateParams is the Msg/UpdateParams request type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParams { - /// authority is the address that controls the module (defaults to x/gov unless overwritten). - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// params defines the x/auth parameters to update. - /// - /// NOTE: All parameters must be supplied. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -impl ::prost::Name for MsgUpdateParams { - const NAME: &'static str = "MsgUpdateParams"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// MsgUpdateParamsResponse defines the response structure for executing a -/// MsgUpdateParams message. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParamsResponse {} -impl ::prost::Name for MsgUpdateParamsResponse { - const NAME: &'static str = "MsgUpdateParamsResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// MsgNonAtomicExec defines the Msg/NonAtomicExec request type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgNonAtomicExec { - #[prost(string, tag = "1")] - pub signer: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub msgs: ::prost::alloc::vec::Vec<::pbjson_types::Any>, -} -impl ::prost::Name for MsgNonAtomicExec { - const NAME: &'static str = "MsgNonAtomicExec"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// NonAtomicExecResult defines the response structure for executing a -/// MsgNonAtomicExec. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NonAtomicExecResult { - #[prost(string, tag = "1")] - pub error: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub resp: ::core::option::Option<::pbjson_types::Any>, -} -impl ::prost::Name for NonAtomicExecResult { - const NAME: &'static str = "NonAtomicExecResult"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// MsgNonAtomicExecResponse defines the response of MsgNonAtomicExec. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgNonAtomicExecResponse { - #[prost(message, repeated, tag = "1")] - pub results: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgNonAtomicExecResponse { - const NAME: &'static str = "MsgNonAtomicExecResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// MsgMigrateAccount defines a message which allows users to migrate from BaseAccount -/// to other x/accounts types. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgMigrateAccount { - #[prost(string, tag = "1")] - pub signer: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub account_type: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub account_init_msg: ::core::option::Option<::pbjson_types::Any>, -} -impl ::prost::Name for MsgMigrateAccount { - const NAME: &'static str = "MsgMigrateAccount"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// MsgMigrateAccountResponse defines the response given when migrating to -/// an x/accounts account. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgMigrateAccountResponse { - /// init_response defines the response returned by the x/account account - /// initialization. - #[prost(message, optional, tag = "1")] - pub init_response: ::core::option::Option<::pbjson_types::Any>, -} -impl ::prost::Name for MsgMigrateAccountResponse { - const NAME: &'static str = "MsgMigrateAccountResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} /// QueryAccountsRequest is the request type for the Query/Accounts RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] @@ -516,6 +394,128 @@ impl ::prost::Name for QueryAccountInfoResponse { ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) } } +/// MsgUpdateParams is the Msg/UpdateParams request type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgUpdateParams { + /// authority is the address that controls the module (defaults to x/gov unless overwritten). + #[prost(string, tag = "1")] + pub authority: ::prost::alloc::string::String, + /// params defines the x/auth parameters to update. + /// + /// NOTE: All parameters must be supplied. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, +} +impl ::prost::Name for MsgUpdateParams { + const NAME: &'static str = "MsgUpdateParams"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// MsgUpdateParamsResponse defines the response structure for executing a +/// MsgUpdateParams message. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgUpdateParamsResponse {} +impl ::prost::Name for MsgUpdateParamsResponse { + const NAME: &'static str = "MsgUpdateParamsResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// MsgNonAtomicExec defines the Msg/NonAtomicExec request type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgNonAtomicExec { + #[prost(string, tag = "1")] + pub signer: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub msgs: ::prost::alloc::vec::Vec<::pbjson_types::Any>, +} +impl ::prost::Name for MsgNonAtomicExec { + const NAME: &'static str = "MsgNonAtomicExec"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// NonAtomicExecResult defines the response structure for executing a +/// MsgNonAtomicExec. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct NonAtomicExecResult { + #[prost(string, tag = "1")] + pub error: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub resp: ::core::option::Option<::pbjson_types::Any>, +} +impl ::prost::Name for NonAtomicExecResult { + const NAME: &'static str = "NonAtomicExecResult"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// MsgNonAtomicExecResponse defines the response of MsgNonAtomicExec. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgNonAtomicExecResponse { + #[prost(message, repeated, tag = "1")] + pub results: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgNonAtomicExecResponse { + const NAME: &'static str = "MsgNonAtomicExecResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// MsgMigrateAccount defines a message which allows users to migrate from BaseAccount +/// to other x/accounts types. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgMigrateAccount { + #[prost(string, tag = "1")] + pub signer: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub account_type: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub account_init_msg: ::core::option::Option<::pbjson_types::Any>, +} +impl ::prost::Name for MsgMigrateAccount { + const NAME: &'static str = "MsgMigrateAccount"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// MsgMigrateAccountResponse defines the response given when migrating to +/// an x/accounts account. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgMigrateAccountResponse { + /// init_response defines the response returned by the x/account account + /// initialization. + #[prost(message, optional, tag = "1")] + pub init_response: ::core::option::Option<::pbjson_types::Any>, +} +impl ::prost::Name for MsgMigrateAccountResponse { + const NAME: &'static str = "MsgMigrateAccountResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} /// QueryLegacyAccount defines a query that can be implemented by an x/account /// to return an auth understandable representation of an account. /// This query is only used for accounts retro-compatibility at gRPC diff --git a/generated/rust/protos/src/cosmos.auth.v1beta1.tonic.rs b/generated/rust/protos/src/cosmos.auth.v1beta1.tonic.rs index b38b1dc285..1642974e05 100644 --- a/generated/rust/protos/src/cosmos.auth.v1beta1.tonic.rs +++ b/generated/rust/protos/src/cosmos.auth.v1beta1.tonic.rs @@ -1,146 +1,6 @@ // @generated /// Generated client implementations. #[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::{http::Uri, *}; - #[derive(Debug, Clone)] - pub struct MsgClient { - inner: tonic::client::Grpc, - } - impl MsgClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl MsgClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - >>::Error: - Into + Send + Sync, - { - MsgClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn update_params( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.auth.v1beta1.Msg/UpdateParams"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Msg", "UpdateParams")); - self.inner.unary(req, path, codec).await - } - pub async fn non_atomic_exec( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.auth.v1beta1.Msg/NonAtomicExec"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Msg", "NonAtomicExec")); - self.inner.unary(req, path, codec).await - } - pub async fn migrate_account( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.auth.v1beta1.Msg/MigrateAccount"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Msg", "MigrateAccount")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated client implementations. -#[cfg(feature = "client")] pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; @@ -430,3 +290,143 @@ pub mod query_client { } } } +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::{http::Uri, *}; + #[derive(Debug, Clone)] + pub struct MsgClient { + inner: tonic::client::Grpc, + } + impl MsgClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl MsgClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + MsgClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + pub async fn update_params( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.auth.v1beta1.Msg/UpdateParams"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Msg", "UpdateParams")); + self.inner.unary(req, path, codec).await + } + pub async fn non_atomic_exec( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.auth.v1beta1.Msg/NonAtomicExec"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Msg", "NonAtomicExec")); + self.inner.unary(req, path, codec).await + } + pub async fn migrate_account( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.auth.v1beta1.Msg/MigrateAccount"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Msg", "MigrateAccount")); + self.inner.unary(req, path, codec).await + } + } +} diff --git a/generated/rust/protos/src/cosmos.bank.v1beta1.rs b/generated/rust/protos/src/cosmos.bank.v1beta1.rs index 19366b3d97..a8f0b1bdf2 100644 --- a/generated/rust/protos/src/cosmos.bank.v1beta1.rs +++ b/generated/rust/protos/src/cosmos.bank.v1beta1.rs @@ -159,6 +159,241 @@ impl ::prost::Name for Metadata { ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) } } +/// SendAuthorization allows the grantee to spend up to spend_limit coins from +/// the granter's account. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SendAuthorization { + #[prost(message, repeated, tag = "1")] + pub spend_limit: ::prost::alloc::vec::Vec, + /// allow_list specifies an optional list of addresses to whom the grantee can send tokens on behalf of the + /// granter. If omitted, any recipient is allowed. + #[prost(string, repeated, tag = "2")] + pub allow_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for SendAuthorization { + const NAME: &'static str = "SendAuthorization"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// GenesisState defines the bank module's genesis state. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// params defines all the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// balances is an array containing the balances of all the accounts. + #[prost(message, repeated, tag = "2")] + pub balances: ::prost::alloc::vec::Vec, + /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided + /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. + #[prost(message, repeated, tag = "3")] + pub supply: ::prost::alloc::vec::Vec, + /// denom_metadata defines the metadata of the different coins. + #[prost(message, repeated, tag = "4")] + pub denom_metadata: ::prost::alloc::vec::Vec, + /// send_enabled defines the denoms where send is enabled or disabled. + #[prost(message, repeated, tag = "5")] + pub send_enabled: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// Balance defines an account address and balance pair used in the bank module's +/// genesis state. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Balance { + /// address is the address of the balance holder. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// coins defines the different coins this balance holds. + #[prost(message, repeated, tag = "2")] + pub coins: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Balance { + const NAME: &'static str = "Balance"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgSend represents a message to send coins from one account to another. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSend { + #[prost(string, tag = "1")] + pub from_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub to_address: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub amount: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgSend { + const NAME: &'static str = "MsgSend"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgSendResponse defines the Msg/Send response type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSendResponse {} +impl ::prost::Name for MsgSendResponse { + const NAME: &'static str = "MsgSendResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgMultiSend represents an arbitrary multi-in, multi-out send message. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgMultiSend { + /// Inputs, despite being `repeated`, only allows one sender input. This is + /// checked in MsgMultiSend's ValidateBasic. + #[prost(message, repeated, tag = "1")] + pub inputs: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub outputs: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgMultiSend { + const NAME: &'static str = "MsgMultiSend"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgMultiSendResponse defines the Msg/MultiSend response type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgMultiSendResponse {} +impl ::prost::Name for MsgMultiSendResponse { + const NAME: &'static str = "MsgMultiSendResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgUpdateParams is the Msg/UpdateParams request type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgUpdateParams { + /// authority is the address that controls the module (defaults to x/gov unless overwritten). + #[prost(string, tag = "1")] + pub authority: ::prost::alloc::string::String, + /// params defines the x/bank parameters to update. + /// + /// NOTE: All parameters must be supplied. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, +} +impl ::prost::Name for MsgUpdateParams { + const NAME: &'static str = "MsgUpdateParams"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgUpdateParamsResponse defines the response structure for executing a +/// MsgUpdateParams message. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgUpdateParamsResponse {} +impl ::prost::Name for MsgUpdateParamsResponse { + const NAME: &'static str = "MsgUpdateParamsResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgSetSendEnabled is the Msg/SetSendEnabled request type. +/// +/// Only entries to add/update/delete need to be included. +/// Existing SendEnabled entries that are not included in this +/// message are left unchanged. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSetSendEnabled { + /// authority is the address that controls the module. + #[prost(string, tag = "1")] + pub authority: ::prost::alloc::string::String, + /// send_enabled is the list of entries to add or update. + #[prost(message, repeated, tag = "2")] + pub send_enabled: ::prost::alloc::vec::Vec, + /// use_default_for is a list of denoms that should use the params.default_send_enabled value. + /// Denoms listed here will have their SendEnabled entries deleted. + /// If a denom is included that doesn't have a SendEnabled entry, + /// it will be ignored. + #[prost(string, repeated, tag = "3")] + pub use_default_for: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for MsgSetSendEnabled { + const NAME: &'static str = "MsgSetSendEnabled"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSetSendEnabledResponse {} +impl ::prost::Name for MsgSetSendEnabledResponse { + const NAME: &'static str = "MsgSetSendEnabledResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgBurn defines a message for burning coins. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgBurn { + #[prost(string, tag = "1")] + pub from_address: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub amount: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgBurn { + const NAME: &'static str = "MsgBurn"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// MsgBurnResponse defines the Msg/Burn response type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgBurnResponse {} +impl ::prost::Name for MsgBurnResponse { + const NAME: &'static str = "MsgBurnResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} /// QueryBalanceRequest is the request type for the Query/Balance RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] @@ -651,240 +886,5 @@ impl ::prost::Name for QuerySendEnabledResponse { ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) } } -/// MsgSend represents a message to send coins from one account to another. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSend { - #[prost(string, tag = "1")] - pub from_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub to_address: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub amount: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgSend { - const NAME: &'static str = "MsgSend"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgSendResponse defines the Msg/Send response type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSendResponse {} -impl ::prost::Name for MsgSendResponse { - const NAME: &'static str = "MsgSendResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgMultiSend represents an arbitrary multi-in, multi-out send message. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgMultiSend { - /// Inputs, despite being `repeated`, only allows one sender input. This is - /// checked in MsgMultiSend's ValidateBasic. - #[prost(message, repeated, tag = "1")] - pub inputs: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "2")] - pub outputs: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgMultiSend { - const NAME: &'static str = "MsgMultiSend"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgMultiSendResponse defines the Msg/MultiSend response type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgMultiSendResponse {} -impl ::prost::Name for MsgMultiSendResponse { - const NAME: &'static str = "MsgMultiSendResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgUpdateParams is the Msg/UpdateParams request type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParams { - /// authority is the address that controls the module (defaults to x/gov unless overwritten). - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// params defines the x/bank parameters to update. - /// - /// NOTE: All parameters must be supplied. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -impl ::prost::Name for MsgUpdateParams { - const NAME: &'static str = "MsgUpdateParams"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgUpdateParamsResponse defines the response structure for executing a -/// MsgUpdateParams message. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParamsResponse {} -impl ::prost::Name for MsgUpdateParamsResponse { - const NAME: &'static str = "MsgUpdateParamsResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgSetSendEnabled is the Msg/SetSendEnabled request type. -/// -/// Only entries to add/update/delete need to be included. -/// Existing SendEnabled entries that are not included in this -/// message are left unchanged. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSetSendEnabled { - /// authority is the address that controls the module. - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// send_enabled is the list of entries to add or update. - #[prost(message, repeated, tag = "2")] - pub send_enabled: ::prost::alloc::vec::Vec, - /// use_default_for is a list of denoms that should use the params.default_send_enabled value. - /// Denoms listed here will have their SendEnabled entries deleted. - /// If a denom is included that doesn't have a SendEnabled entry, - /// it will be ignored. - #[prost(string, repeated, tag = "3")] - pub use_default_for: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for MsgSetSendEnabled { - const NAME: &'static str = "MsgSetSendEnabled"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgSetSendEnabledResponse defines the Msg/SetSendEnabled response type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSetSendEnabledResponse {} -impl ::prost::Name for MsgSetSendEnabledResponse { - const NAME: &'static str = "MsgSetSendEnabledResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgBurn defines a message for burning coins. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgBurn { - #[prost(string, tag = "1")] - pub from_address: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub amount: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgBurn { - const NAME: &'static str = "MsgBurn"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// MsgBurnResponse defines the Msg/Burn response type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgBurnResponse {} -impl ::prost::Name for MsgBurnResponse { - const NAME: &'static str = "MsgBurnResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// GenesisState defines the bank module's genesis state. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// params defines all the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// balances is an array containing the balances of all the accounts. - #[prost(message, repeated, tag = "2")] - pub balances: ::prost::alloc::vec::Vec, - /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided - /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. - #[prost(message, repeated, tag = "3")] - pub supply: ::prost::alloc::vec::Vec, - /// denom_metadata defines the metadata of the different coins. - #[prost(message, repeated, tag = "4")] - pub denom_metadata: ::prost::alloc::vec::Vec, - /// send_enabled defines the denoms where send is enabled or disabled. - #[prost(message, repeated, tag = "5")] - pub send_enabled: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// Balance defines an account address and balance pair used in the bank module's -/// genesis state. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Balance { - /// address is the address of the balance holder. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// coins defines the different coins this balance holds. - #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Balance { - const NAME: &'static str = "Balance"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// SendAuthorization allows the grantee to spend up to spend_limit coins from -/// the granter's account. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SendAuthorization { - #[prost(message, repeated, tag = "1")] - pub spend_limit: ::prost::alloc::vec::Vec, - /// allow_list specifies an optional list of addresses to whom the grantee can send tokens on behalf of the - /// granter. If omitted, any recipient is allowed. - #[prost(string, repeated, tag = "2")] - pub allow_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for SendAuthorization { - const NAME: &'static str = "SendAuthorization"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} include!("cosmos.bank.v1beta1.tonic.rs"); // @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/cosmos.bank.v1beta1.tonic.rs b/generated/rust/protos/src/cosmos.bank.v1beta1.tonic.rs index d6f09e9bbd..344d943c56 100644 --- a/generated/rust/protos/src/cosmos.bank.v1beta1.tonic.rs +++ b/generated/rust/protos/src/cosmos.bank.v1beta1.tonic.rs @@ -1,6 +1,179 @@ // @generated /// Generated client implementations. #[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::{http::Uri, *}; + #[derive(Debug, Clone)] + pub struct MsgClient { + inner: tonic::client::Grpc, + } + impl MsgClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl MsgClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + MsgClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + pub async fn send( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/Send"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "Send")); + self.inner.unary(req, path, codec).await + } + pub async fn multi_send( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/MultiSend"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "MultiSend")); + self.inner.unary(req, path, codec).await + } + pub async fn burn( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/Burn"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "Burn")); + self.inner.unary(req, path, codec).await + } + pub async fn update_params( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/UpdateParams"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "UpdateParams")); + self.inner.unary(req, path, codec).await + } + pub async fn set_send_enabled( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/SetSendEnabled"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "SetSendEnabled")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated client implementations. +#[cfg(feature = "client")] pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; @@ -353,176 +526,3 @@ pub mod query_client { } } } -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::{http::Uri, *}; - #[derive(Debug, Clone)] - pub struct MsgClient { - inner: tonic::client::Grpc, - } - impl MsgClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl MsgClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - >>::Error: - Into + Send + Sync, - { - MsgClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn send( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/Send"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "Send")); - self.inner.unary(req, path, codec).await - } - pub async fn multi_send( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/MultiSend"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "MultiSend")); - self.inner.unary(req, path, codec).await - } - pub async fn burn( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/Burn"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "Burn")); - self.inner.unary(req, path, codec).await - } - pub async fn update_params( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/UpdateParams"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "UpdateParams")); - self.inner.unary(req, path, codec).await - } - pub async fn set_send_enabled( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.bank.v1beta1.Msg/SetSendEnabled"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Msg", "SetSendEnabled")); - self.inner.unary(req, path, codec).await - } - } -} diff --git a/generated/rust/protos/src/cosmos.staking.v1beta1.rs b/generated/rust/protos/src/cosmos.staking.v1beta1.rs index effeaacaeb..249e3c1d2f 100644 --- a/generated/rust/protos/src/cosmos.staking.v1beta1.rs +++ b/generated/rust/protos/src/cosmos.staking.v1beta1.rs @@ -596,394 +596,439 @@ impl Infraction { } } } -/// QueryValidatorsRequest is request type for Query/Validators RPC method. +/// MsgCreateValidator defines a SDK message for creating a new validator. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorsRequest { - /// status enables to query for validators matching a given status. - #[prost(string, tag = "1")] - pub status: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. +pub struct MsgCreateValidator { + #[prost(message, optional, tag = "1")] + pub description: ::core::option::Option, #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for QueryValidatorsRequest { - const NAME: &'static str = "QueryValidatorsRequest"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// ValidatorInfo contains the validator's address and public key. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorInfo { - /// consensus_address is the consensus address of the validator. - #[prost(string, tag = "1")] - pub consensus_address: ::prost::alloc::string::String, + pub commission: ::core::option::Option, + #[prost(string, tag = "3")] + pub min_self_delegation: ::prost::alloc::string::String, + /// Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. + /// The validator address bytes and delegator address bytes refer to the same account while creating validator (defer + /// only in bech32 notation). + #[deprecated] + #[prost(string, tag = "4")] + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub validator_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub pubkey: ::core::option::Option<::pbjson_types::Any>, + #[prost(message, optional, tag = "7")] + pub value: ::core::option::Option, } -impl ::prost::Name for ValidatorInfo { - const NAME: &'static str = "ValidatorInfo"; +impl ::prost::Name for MsgCreateValidator { + const NAME: &'static str = "MsgCreateValidator"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorsResponse is response type for the Query/Validators RPC method +/// MsgCreateValidatorResponse defines the Msg/CreateValidator response type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorsResponse { - #[prost(message, repeated, tag = "1")] - pub validators: ::prost::alloc::vec::Vec, - /// validator_info contains additional information for each validator. - /// The order of the elements in this list corresponds to the order of the elements in the validators list. - /// For example, if you want the ValidatorInfo for the third validator in the validators list, - /// you should look at the third element in the validator_info list. - #[prost(message, repeated, tag = "2")] - pub validator_info: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for QueryValidatorsResponse { - const NAME: &'static str = "QueryValidatorsResponse"; +pub struct MsgCreateValidatorResponse {} +impl ::prost::Name for MsgCreateValidatorResponse { + const NAME: &'static str = "MsgCreateValidatorResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorRequest is response type for the Query/Validator RPC method +/// MsgEditValidator defines a SDK message for editing an existing validator. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorRequest { - /// validator_addr defines the validator address to query for. - #[prost(string, tag = "1")] - pub validator_addr: ::prost::alloc::string::String, +pub struct MsgEditValidator { + #[prost(message, optional, tag = "1")] + pub description: ::core::option::Option, + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + /// We pass a reference to the new commission rate and min self delegation as + /// it's not mandatory to update. If not updated, the deserialized rate will be + /// zero with no way to distinguish if an update was intended. + /// REF: #2373 + #[prost(string, tag = "3")] + pub commission_rate: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub min_self_delegation: ::prost::alloc::string::String, } -impl ::prost::Name for QueryValidatorRequest { - const NAME: &'static str = "QueryValidatorRequest"; +impl ::prost::Name for MsgEditValidator { + const NAME: &'static str = "MsgEditValidator"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorResponse is response type for the Query/Validator RPC method +/// MsgEditValidatorResponse defines the Msg/EditValidator response type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorResponse { - /// validator defines the validator info. - #[prost(message, optional, tag = "1")] - pub validator: ::core::option::Option, -} -impl ::prost::Name for QueryValidatorResponse { - const NAME: &'static str = "QueryValidatorResponse"; +pub struct MsgEditValidatorResponse {} +impl ::prost::Name for MsgEditValidatorResponse { + const NAME: &'static str = "MsgEditValidatorResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorDelegationsRequest is request type for the -/// Query/ValidatorDelegations RPC method +/// MsgDelegate defines a SDK message for performing a delegation of coins +/// from a delegator to a validator. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorDelegationsRequest { - /// validator_addr defines the validator address to query for. +pub struct MsgDelegate { #[prost(string, tag = "1")] - pub validator_addr: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub amount: ::core::option::Option, } -impl ::prost::Name for QueryValidatorDelegationsRequest { - const NAME: &'static str = "QueryValidatorDelegationsRequest"; +impl ::prost::Name for MsgDelegate { + const NAME: &'static str = "MsgDelegate"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorDelegationsResponse is response type for the -/// Query/ValidatorDelegations RPC method +/// MsgDelegateResponse defines the Msg/Delegate response type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorDelegationsResponse { - #[prost(message, repeated, tag = "1")] - pub delegation_responses: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for QueryValidatorDelegationsResponse { - const NAME: &'static str = "QueryValidatorDelegationsResponse"; +pub struct MsgDelegateResponse {} +impl ::prost::Name for MsgDelegateResponse { + const NAME: &'static str = "MsgDelegateResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorUnbondingDelegationsRequest is required type for the -/// Query/ValidatorUnbondingDelegations RPC method +/// MsgBeginRedelegate defines a SDK message for performing a redelegation +/// of coins from a delegator and source validator to a destination validator. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorUnbondingDelegationsRequest { - /// validator_addr defines the validator address to query for. +pub struct MsgBeginRedelegate { #[prost(string, tag = "1")] - pub validator_addr: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub validator_src_address: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub validator_dst_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub amount: ::core::option::Option, } -impl ::prost::Name for QueryValidatorUnbondingDelegationsRequest { - const NAME: &'static str = "QueryValidatorUnbondingDelegationsRequest"; +impl ::prost::Name for MsgBeginRedelegate { + const NAME: &'static str = "MsgBeginRedelegate"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryValidatorUnbondingDelegationsResponse is response type for the -/// Query/ValidatorUnbondingDelegations RPC method. +/// MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorUnbondingDelegationsResponse { - #[prost(message, repeated, tag = "1")] - pub unbonding_responses: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, +pub struct MsgBeginRedelegateResponse { + #[prost(message, optional, tag = "1")] + pub completion_time: ::core::option::Option<::pbjson_types::Timestamp>, } -impl ::prost::Name for QueryValidatorUnbondingDelegationsResponse { - const NAME: &'static str = "QueryValidatorUnbondingDelegationsResponse"; +impl ::prost::Name for MsgBeginRedelegateResponse { + const NAME: &'static str = "MsgBeginRedelegateResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegationRequest is request type for the Query/Delegation RPC method. +/// MsgUndelegate defines a SDK message for performing an undelegation from a +/// delegate and a validator. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegationRequest { - /// delegator_addr defines the delegator address to query for. +pub struct MsgUndelegate { #[prost(string, tag = "1")] - pub delegator_addr: ::prost::alloc::string::String, - /// validator_addr defines the validator address to query for. + pub delegator_address: ::prost::alloc::string::String, #[prost(string, tag = "2")] - pub validator_addr: ::prost::alloc::string::String, + pub validator_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub amount: ::core::option::Option, } -impl ::prost::Name for QueryDelegationRequest { - const NAME: &'static str = "QueryDelegationRequest"; +impl ::prost::Name for MsgUndelegate { + const NAME: &'static str = "MsgUndelegate"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegationResponse is response type for the Query/Delegation RPC method. +/// MsgUndelegateResponse defines the Msg/Undelegate response type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegationResponse { - /// delegation_responses defines the delegation info of a delegation. +pub struct MsgUndelegateResponse { #[prost(message, optional, tag = "1")] - pub delegation_response: ::core::option::Option, + pub completion_time: ::core::option::Option<::pbjson_types::Timestamp>, + /// amount returns the amount of undelegated coins + #[prost(message, optional, tag = "2")] + pub amount: ::core::option::Option, } -impl ::prost::Name for QueryDelegationResponse { - const NAME: &'static str = "QueryDelegationResponse"; +impl ::prost::Name for MsgUndelegateResponse { + const NAME: &'static str = "MsgUndelegateResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryUnbondingDelegationRequest is request type for the -/// Query/UnbondingDelegation RPC method. +/// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUnbondingDelegationRequest { - /// delegator_addr defines the delegator address to query for. +pub struct MsgCancelUnbondingDelegation { #[prost(string, tag = "1")] - pub delegator_addr: ::prost::alloc::string::String, - /// validator_addr defines the validator address to query for. + pub delegator_address: ::prost::alloc::string::String, #[prost(string, tag = "2")] - pub validator_addr: ::prost::alloc::string::String, + pub validator_address: ::prost::alloc::string::String, + /// amount is always less than or equal to unbonding delegation entry balance + #[prost(message, optional, tag = "3")] + pub amount: ::core::option::Option, + /// creation_height is the height which the unbonding took place. + #[prost(int64, tag = "4")] + pub creation_height: i64, } -impl ::prost::Name for QueryUnbondingDelegationRequest { - const NAME: &'static str = "QueryUnbondingDelegationRequest"; +impl ::prost::Name for MsgCancelUnbondingDelegation { + const NAME: &'static str = "MsgCancelUnbondingDelegation"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegationResponse is response type for the Query/UnbondingDelegation -/// RPC method. +/// MsgCancelUnbondingDelegationResponse #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUnbondingDelegationResponse { - /// unbond defines the unbonding information of a delegation. - #[prost(message, optional, tag = "1")] - pub unbond: ::core::option::Option, -} -impl ::prost::Name for QueryUnbondingDelegationResponse { - const NAME: &'static str = "QueryUnbondingDelegationResponse"; +pub struct MsgCancelUnbondingDelegationResponse {} +impl ::prost::Name for MsgCancelUnbondingDelegationResponse { + const NAME: &'static str = "MsgCancelUnbondingDelegationResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorDelegationsRequest is request type for the -/// Query/DelegatorDelegations RPC method. +/// MsgUpdateParams is the Msg/UpdateParams request type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorDelegationsRequest { - /// delegator_addr defines the delegator address to query for. +pub struct MsgUpdateParams { + /// authority is the address that controls the module (defaults to x/gov unless overwritten). #[prost(string, tag = "1")] - pub delegator_addr: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. + pub authority: ::prost::alloc::string::String, + /// params defines the x/staking parameters to update. + /// + /// NOTE: All parameters must be supplied. #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, + pub params: ::core::option::Option, } -impl ::prost::Name for QueryDelegatorDelegationsRequest { - const NAME: &'static str = "QueryDelegatorDelegationsRequest"; +impl ::prost::Name for MsgUpdateParams { + const NAME: &'static str = "MsgUpdateParams"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorDelegationsResponse is response type for the -/// Query/DelegatorDelegations RPC method. +/// MsgUpdateParamsResponse defines the response structure for executing a +/// MsgUpdateParams message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorDelegationsResponse { - /// delegation_responses defines all the delegations' info of a delegator. - #[prost(message, repeated, tag = "1")] - pub delegation_responses: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. +pub struct MsgUpdateParamsResponse {} +impl ::prost::Name for MsgUpdateParamsResponse { + const NAME: &'static str = "MsgUpdateParamsResponse"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// MsgRotateConsPubKey is the Msg/RotateConsPubKey request type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRotateConsPubKey { + #[prost(string, tag = "1")] + pub validator_address: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, + pub new_pubkey: ::core::option::Option<::pbjson_types::Any>, } -impl ::prost::Name for QueryDelegatorDelegationsResponse { - const NAME: &'static str = "QueryDelegatorDelegationsResponse"; +impl ::prost::Name for MsgRotateConsPubKey { + const NAME: &'static str = "MsgRotateConsPubKey"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorUnbondingDelegationsRequest is request type for the -/// Query/DelegatorUnbondingDelegations RPC method. +/// MsgRotateConsPubKeyResponse defines the response structure for executing a +/// MsgRotateConsPubKey message. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorUnbondingDelegationsRequest { - /// delegator_addr defines the delegator address to query for. +pub struct MsgRotateConsPubKeyResponse {} +impl ::prost::Name for MsgRotateConsPubKeyResponse { + const NAME: &'static str = "MsgRotateConsPubKeyResponse"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// QueryValidatorsRequest is request type for Query/Validators RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorsRequest { + /// status enables to query for validators matching a given status. #[prost(string, tag = "1")] - pub delegator_addr: ::prost::alloc::string::String, + pub status: ::prost::alloc::string::String, /// pagination defines an optional pagination for the request. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryDelegatorUnbondingDelegationsRequest { - const NAME: &'static str = "QueryDelegatorUnbondingDelegationsRequest"; +impl ::prost::Name for QueryValidatorsRequest { + const NAME: &'static str = "QueryValidatorsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryUnbondingDelegatorDelegationsResponse is response type for the -/// Query/UnbondingDelegatorDelegations RPC method. +/// ValidatorInfo contains the validator's address and public key. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorUnbondingDelegationsResponse { +pub struct ValidatorInfo { + /// consensus_address is the consensus address of the validator. + #[prost(string, tag = "1")] + pub consensus_address: ::prost::alloc::string::String, +} +impl ::prost::Name for ValidatorInfo { + const NAME: &'static str = "ValidatorInfo"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// QueryValidatorsResponse is response type for the Query/Validators RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorsResponse { #[prost(message, repeated, tag = "1")] - pub unbonding_responses: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] + pub validators: ::prost::alloc::vec::Vec, + /// validator_info contains additional information for each validator. + /// The order of the elements in this list corresponds to the order of the elements in the validators list. + /// For example, if you want the ValidatorInfo for the third validator in the validators list, + /// you should look at the third element in the validator_info list. + #[prost(message, repeated, tag = "2")] + pub validator_info: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryDelegatorUnbondingDelegationsResponse { - const NAME: &'static str = "QueryDelegatorUnbondingDelegationsResponse"; +impl ::prost::Name for QueryValidatorsResponse { + const NAME: &'static str = "QueryValidatorsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryRedelegationsRequest is request type for the Query/Redelegations RPC -/// method. +/// QueryValidatorRequest is response type for the Query/Validator RPC method #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryRedelegationsRequest { - /// delegator_addr defines the delegator address to query for. +pub struct QueryValidatorRequest { + /// validator_addr defines the validator address to query for. #[prost(string, tag = "1")] - pub delegator_addr: ::prost::alloc::string::String, - /// src_validator_addr defines the validator address to redelegate from. - #[prost(string, tag = "2")] - pub src_validator_addr: ::prost::alloc::string::String, - /// dst_validator_addr defines the validator address to redelegate to. - #[prost(string, tag = "3")] - pub dst_validator_addr: ::prost::alloc::string::String, + pub validator_addr: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryValidatorRequest { + const NAME: &'static str = "QueryValidatorRequest"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// QueryValidatorResponse is response type for the Query/Validator RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorResponse { + /// validator defines the validator info. + #[prost(message, optional, tag = "1")] + pub validator: ::core::option::Option, +} +impl ::prost::Name for QueryValidatorResponse { + const NAME: &'static str = "QueryValidatorResponse"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// QueryValidatorDelegationsRequest is request type for the +/// Query/ValidatorDelegations RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorDelegationsRequest { + /// validator_addr defines the validator address to query for. + #[prost(string, tag = "1")] + pub validator_addr: ::prost::alloc::string::String, /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "4")] + #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryRedelegationsRequest { - const NAME: &'static str = "QueryRedelegationsRequest"; +impl ::prost::Name for QueryValidatorDelegationsRequest { + const NAME: &'static str = "QueryValidatorDelegationsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryRedelegationsResponse is response type for the Query/Redelegations RPC -/// method. +/// QueryValidatorDelegationsResponse is response type for the +/// Query/ValidatorDelegations RPC method #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryRedelegationsResponse { +pub struct QueryValidatorDelegationsResponse { #[prost(message, repeated, tag = "1")] - pub redelegation_responses: ::prost::alloc::vec::Vec, + pub delegation_responses: ::prost::alloc::vec::Vec, /// pagination defines the pagination in the response. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryRedelegationsResponse { - const NAME: &'static str = "QueryRedelegationsResponse"; +impl ::prost::Name for QueryValidatorDelegationsResponse { + const NAME: &'static str = "QueryValidatorDelegationsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorValidatorsRequest is request type for the -/// Query/DelegatorValidators RPC method. +/// QueryValidatorUnbondingDelegationsRequest is required type for the +/// Query/ValidatorUnbondingDelegations RPC method #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorValidatorsRequest { - /// delegator_addr defines the delegator address to query for. +pub struct QueryValidatorUnbondingDelegationsRequest { + /// validator_addr defines the validator address to query for. #[prost(string, tag = "1")] - pub delegator_addr: ::prost::alloc::string::String, + pub validator_addr: ::prost::alloc::string::String, /// pagination defines an optional pagination for the request. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryDelegatorValidatorsRequest { - const NAME: &'static str = "QueryDelegatorValidatorsRequest"; +impl ::prost::Name for QueryValidatorUnbondingDelegationsRequest { + const NAME: &'static str = "QueryValidatorUnbondingDelegationsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorValidatorsResponse is response type for the -/// Query/DelegatorValidators RPC method. +/// QueryValidatorUnbondingDelegationsResponse is response type for the +/// Query/ValidatorUnbondingDelegations RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorValidatorsResponse { - /// validators defines the validators' info of a delegator. +pub struct QueryValidatorUnbondingDelegationsResponse { #[prost(message, repeated, tag = "1")] - pub validators: ::prost::alloc::vec::Vec, + pub unbonding_responses: ::prost::alloc::vec::Vec, /// pagination defines the pagination in the response. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryDelegatorValidatorsResponse { - const NAME: &'static str = "QueryDelegatorValidatorsResponse"; +impl ::prost::Name for QueryValidatorUnbondingDelegationsResponse { + const NAME: &'static str = "QueryValidatorUnbondingDelegationsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorValidatorRequest is request type for the -/// Query/DelegatorValidator RPC method. +/// QueryDelegationRequest is request type for the Query/Delegation RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorValidatorRequest { +pub struct QueryDelegationRequest { /// delegator_addr defines the delegator address to query for. #[prost(string, tag = "1")] pub delegator_addr: ::prost::alloc::string::String, @@ -991,472 +1036,427 @@ pub struct QueryDelegatorValidatorRequest { #[prost(string, tag = "2")] pub validator_addr: ::prost::alloc::string::String, } -impl ::prost::Name for QueryDelegatorValidatorRequest { - const NAME: &'static str = "QueryDelegatorValidatorRequest"; +impl ::prost::Name for QueryDelegationRequest { + const NAME: &'static str = "QueryDelegationRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryDelegatorValidatorResponse response type for the -/// Query/DelegatorValidator RPC method. +/// QueryDelegationResponse is response type for the Query/Delegation RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegatorValidatorResponse { - /// validator defines the validator info. +pub struct QueryDelegationResponse { + /// delegation_responses defines the delegation info of a delegation. #[prost(message, optional, tag = "1")] - pub validator: ::core::option::Option, + pub delegation_response: ::core::option::Option, } -impl ::prost::Name for QueryDelegatorValidatorResponse { - const NAME: &'static str = "QueryDelegatorValidatorResponse"; +impl ::prost::Name for QueryDelegationResponse { + const NAME: &'static str = "QueryDelegationResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC -/// method. +/// QueryUnbondingDelegationRequest is request type for the +/// Query/UnbondingDelegation RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryHistoricalInfoRequest { - /// height defines at which height to query the historical info. - #[prost(int64, tag = "1")] - pub height: i64, +pub struct QueryUnbondingDelegationRequest { + /// delegator_addr defines the delegator address to query for. + #[prost(string, tag = "1")] + pub delegator_addr: ::prost::alloc::string::String, + /// validator_addr defines the validator address to query for. + #[prost(string, tag = "2")] + pub validator_addr: ::prost::alloc::string::String, } -impl ::prost::Name for QueryHistoricalInfoRequest { - const NAME: &'static str = "QueryHistoricalInfoRequest"; +impl ::prost::Name for QueryUnbondingDelegationRequest { + const NAME: &'static str = "QueryUnbondingDelegationRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC -/// method. +/// QueryDelegationResponse is response type for the Query/UnbondingDelegation +/// RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryHistoricalInfoResponse { - /// hist defines the historical info at the given height. - #[deprecated] +pub struct QueryUnbondingDelegationResponse { + /// unbond defines the unbonding information of a delegation. #[prost(message, optional, tag = "1")] - pub hist: ::core::option::Option, + pub unbond: ::core::option::Option, } -impl ::prost::Name for QueryHistoricalInfoResponse { - const NAME: &'static str = "QueryHistoricalInfoResponse"; +impl ::prost::Name for QueryUnbondingDelegationResponse { + const NAME: &'static str = "QueryUnbondingDelegationResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryPoolRequest is request type for the Query/Pool RPC method. +/// QueryDelegatorDelegationsRequest is request type for the +/// Query/DelegatorDelegations RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPoolRequest {} -impl ::prost::Name for QueryPoolRequest { - const NAME: &'static str = "QueryPoolRequest"; +pub struct QueryDelegatorDelegationsRequest { + /// delegator_addr defines the delegator address to query for. + #[prost(string, tag = "1")] + pub delegator_addr: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, +} +impl ::prost::Name for QueryDelegatorDelegationsRequest { + const NAME: &'static str = "QueryDelegatorDelegationsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryPoolResponse is response type for the Query/Pool RPC method. +/// QueryDelegatorDelegationsResponse is response type for the +/// Query/DelegatorDelegations RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPoolResponse { - /// pool defines the pool info. - #[prost(message, optional, tag = "1")] - pub pool: ::core::option::Option, -} -impl ::prost::Name for QueryPoolResponse { - const NAME: &'static str = "QueryPoolResponse"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } +pub struct QueryDelegatorDelegationsResponse { + /// delegation_responses defines all the delegations' info of a delegator. + #[prost(message, repeated, tag = "1")] + pub delegation_responses: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, } -/// QueryParamsRequest is request type for the Query/Params RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryParamsRequest {} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; +impl ::prost::Name for QueryDelegatorDelegationsResponse { + const NAME: &'static str = "QueryDelegatorDelegationsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// QueryParamsResponse is response type for the Query/Params RPC method. +/// QueryDelegatorUnbondingDelegationsRequest is request type for the +/// Query/DelegatorUnbondingDelegations RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryParamsResponse { - /// params holds all the parameters of this module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, +pub struct QueryDelegatorUnbondingDelegationsRequest { + /// delegator_addr defines the delegator address to query for. + #[prost(string, tag = "1")] + pub delegator_addr: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, } -impl ::prost::Name for QueryParamsResponse { - const NAME: &'static str = "QueryParamsResponse"; +impl ::prost::Name for QueryDelegatorUnbondingDelegationsRequest { + const NAME: &'static str = "QueryDelegatorUnbondingDelegationsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// GenesisState defines the staking module's genesis state. +/// QueryUnbondingDelegatorDelegationsResponse is response type for the +/// Query/UnbondingDelegatorDelegations RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// params defines all the parameters of related to deposit. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// last_total_power tracks the total amounts of bonded tokens recorded during - /// the previous end block. - #[prost(bytes = "vec", tag = "2")] - pub last_total_power: ::prost::alloc::vec::Vec, - /// last_validator_powers is a special index that provides a historical list - /// of the last-block's bonded validators. - #[prost(message, repeated, tag = "3")] - pub last_validator_powers: ::prost::alloc::vec::Vec, - /// validators defines the validator set at genesis. - #[prost(message, repeated, tag = "4")] - pub validators: ::prost::alloc::vec::Vec, - /// delegations defines the delegations active at genesis. - #[prost(message, repeated, tag = "5")] - pub delegations: ::prost::alloc::vec::Vec, - /// unbonding_delegations defines the unbonding delegations active at genesis. - #[prost(message, repeated, tag = "6")] - pub unbonding_delegations: ::prost::alloc::vec::Vec, - /// redelegations defines the redelegations active at genesis. - #[prost(message, repeated, tag = "7")] - pub redelegations: ::prost::alloc::vec::Vec, - /// exported defines a bool to identify whether the chain dealing with exported or initialized genesis. - #[prost(bool, tag = "8")] - pub exported: bool, - #[prost(message, repeated, tag = "9")] - pub rotation_index_records: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "10")] - pub rotation_history: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "11")] - pub rotation_queue: ::prost::alloc::vec::Vec, +pub struct QueryDelegatorUnbondingDelegationsResponse { + #[prost(message, repeated, tag = "1")] + pub unbonding_responses: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, } -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; +impl ::prost::Name for QueryDelegatorUnbondingDelegationsResponse { + const NAME: &'static str = "QueryDelegatorUnbondingDelegationsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// LastValidatorPower required for validator set update logic. +/// QueryRedelegationsRequest is request type for the Query/Redelegations RPC +/// method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct LastValidatorPower { - /// address is the address of the validator. +pub struct QueryRedelegationsRequest { + /// delegator_addr defines the delegator address to query for. #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// power defines the power of the validator. - #[prost(int64, tag = "2")] - pub power: i64, + pub delegator_addr: ::prost::alloc::string::String, + /// src_validator_addr defines the validator address to redelegate from. + #[prost(string, tag = "2")] + pub src_validator_addr: ::prost::alloc::string::String, + /// dst_validator_addr defines the validator address to redelegate to. + #[prost(string, tag = "3")] + pub dst_validator_addr: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "4")] + pub pagination: ::core::option::Option, } -impl ::prost::Name for LastValidatorPower { - const NAME: &'static str = "LastValidatorPower"; +impl ::prost::Name for QueryRedelegationsRequest { + const NAME: &'static str = "QueryRedelegationsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// contains address as bytes and time as int64 +/// QueryRedelegationsResponse is response type for the Query/Redelegations RPC +/// method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct RotationIndexRecord { - #[prost(bytes = "vec", tag = "1")] - pub address: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "6")] - pub time: ::core::option::Option<::pbjson_types::Timestamp>, +pub struct QueryRedelegationsResponse { + #[prost(message, repeated, tag = "1")] + pub redelegation_responses: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, } -impl ::prost::Name for RotationIndexRecord { - const NAME: &'static str = "RotationIndexRecord"; +impl ::prost::Name for QueryRedelegationsResponse { + const NAME: &'static str = "QueryRedelegationsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } +/// QueryDelegatorValidatorsRequest is request type for the +/// Query/DelegatorValidators RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct RotationQueueRecord { - #[prost(message, optional, tag = "1")] - pub val_addrs: ::core::option::Option, +pub struct QueryDelegatorValidatorsRequest { + /// delegator_addr defines the delegator address to query for. + #[prost(string, tag = "1")] + pub delegator_addr: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. #[prost(message, optional, tag = "2")] - pub time: ::core::option::Option<::pbjson_types::Timestamp>, + pub pagination: ::core::option::Option, } -impl ::prost::Name for RotationQueueRecord { - const NAME: &'static str = "RotationQueueRecord"; +impl ::prost::Name for QueryDelegatorValidatorsRequest { + const NAME: &'static str = "QueryDelegatorValidatorsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgCreateValidator defines a SDK message for creating a new validator. +/// QueryDelegatorValidatorsResponse is response type for the +/// Query/DelegatorValidators RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCreateValidator { - #[prost(message, optional, tag = "1")] - pub description: ::core::option::Option, +pub struct QueryDelegatorValidatorsResponse { + /// validators defines the validators' info of a delegator. + #[prost(message, repeated, tag = "1")] + pub validators: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. #[prost(message, optional, tag = "2")] - pub commission: ::core::option::Option, - #[prost(string, tag = "3")] - pub min_self_delegation: ::prost::alloc::string::String, - /// Deprecated: Use of Delegator Address in MsgCreateValidator is deprecated. - /// The validator address bytes and delegator address bytes refer to the same account while creating validator (defer - /// only in bech32 notation). - #[deprecated] - #[prost(string, tag = "4")] - pub delegator_address: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub validator_address: ::prost::alloc::string::String, - #[prost(message, optional, tag = "6")] - pub pubkey: ::core::option::Option<::pbjson_types::Any>, - #[prost(message, optional, tag = "7")] - pub value: ::core::option::Option, -} -impl ::prost::Name for MsgCreateValidator { - const NAME: &'static str = "MsgCreateValidator"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } + pub pagination: ::core::option::Option, } -/// MsgCreateValidatorResponse defines the Msg/CreateValidator response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCreateValidatorResponse {} -impl ::prost::Name for MsgCreateValidatorResponse { - const NAME: &'static str = "MsgCreateValidatorResponse"; +impl ::prost::Name for QueryDelegatorValidatorsResponse { + const NAME: &'static str = "QueryDelegatorValidatorsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgEditValidator defines a SDK message for editing an existing validator. +/// QueryDelegatorValidatorRequest is request type for the +/// Query/DelegatorValidator RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgEditValidator { - #[prost(message, optional, tag = "1")] - pub description: ::core::option::Option, +pub struct QueryDelegatorValidatorRequest { + /// delegator_addr defines the delegator address to query for. + #[prost(string, tag = "1")] + pub delegator_addr: ::prost::alloc::string::String, + /// validator_addr defines the validator address to query for. #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, - /// We pass a reference to the new commission rate and min self delegation as - /// it's not mandatory to update. If not updated, the deserialized rate will be - /// zero with no way to distinguish if an update was intended. - /// REF: #2373 - #[prost(string, tag = "3")] - pub commission_rate: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub min_self_delegation: ::prost::alloc::string::String, + pub validator_addr: ::prost::alloc::string::String, } -impl ::prost::Name for MsgEditValidator { - const NAME: &'static str = "MsgEditValidator"; +impl ::prost::Name for QueryDelegatorValidatorRequest { + const NAME: &'static str = "QueryDelegatorValidatorRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgEditValidatorResponse defines the Msg/EditValidator response type. +/// QueryDelegatorValidatorResponse response type for the +/// Query/DelegatorValidator RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgEditValidatorResponse {} -impl ::prost::Name for MsgEditValidatorResponse { - const NAME: &'static str = "MsgEditValidatorResponse"; +pub struct QueryDelegatorValidatorResponse { + /// validator defines the validator info. + #[prost(message, optional, tag = "1")] + pub validator: ::core::option::Option, +} +impl ::prost::Name for QueryDelegatorValidatorResponse { + const NAME: &'static str = "QueryDelegatorValidatorResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgDelegate defines a SDK message for performing a delegation of coins -/// from a delegator to a validator. +/// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC +/// method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDelegate { - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub amount: ::core::option::Option, +pub struct QueryHistoricalInfoRequest { + /// height defines at which height to query the historical info. + #[prost(int64, tag = "1")] + pub height: i64, } -impl ::prost::Name for MsgDelegate { - const NAME: &'static str = "MsgDelegate"; +impl ::prost::Name for QueryHistoricalInfoRequest { + const NAME: &'static str = "QueryHistoricalInfoRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgDelegateResponse defines the Msg/Delegate response type. +/// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC +/// method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDelegateResponse {} -impl ::prost::Name for MsgDelegateResponse { - const NAME: &'static str = "MsgDelegateResponse"; +pub struct QueryHistoricalInfoResponse { + /// hist defines the historical info at the given height. + #[deprecated] + #[prost(message, optional, tag = "1")] + pub hist: ::core::option::Option, +} +impl ::prost::Name for QueryHistoricalInfoResponse { + const NAME: &'static str = "QueryHistoricalInfoResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgBeginRedelegate defines a SDK message for performing a redelegation -/// of coins from a delegator and source validator to a destination validator. +/// QueryPoolRequest is request type for the Query/Pool RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgBeginRedelegate { - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub validator_src_address: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub validator_dst_address: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub amount: ::core::option::Option, -} -impl ::prost::Name for MsgBeginRedelegate { - const NAME: &'static str = "MsgBeginRedelegate"; +pub struct QueryPoolRequest {} +impl ::prost::Name for QueryPoolRequest { + const NAME: &'static str = "QueryPoolRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. +/// QueryPoolResponse is response type for the Query/Pool RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgBeginRedelegateResponse { +pub struct QueryPoolResponse { + /// pool defines the pool info. #[prost(message, optional, tag = "1")] - pub completion_time: ::core::option::Option<::pbjson_types::Timestamp>, + pub pool: ::core::option::Option, } -impl ::prost::Name for MsgBeginRedelegateResponse { - const NAME: &'static str = "MsgBeginRedelegateResponse"; +impl ::prost::Name for QueryPoolResponse { + const NAME: &'static str = "QueryPoolResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgUndelegate defines a SDK message for performing an undelegation from a -/// delegate and a validator. +/// QueryParamsRequest is request type for the Query/Params RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUndelegate { - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub amount: ::core::option::Option, -} -impl ::prost::Name for MsgUndelegate { - const NAME: &'static str = "MsgUndelegate"; +pub struct QueryParamsRequest {} +impl ::prost::Name for QueryParamsRequest { + const NAME: &'static str = "QueryParamsRequest"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgUndelegateResponse defines the Msg/Undelegate response type. +/// QueryParamsResponse is response type for the Query/Params RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUndelegateResponse { +pub struct QueryParamsResponse { + /// params holds all the parameters of this module. #[prost(message, optional, tag = "1")] - pub completion_time: ::core::option::Option<::pbjson_types::Timestamp>, - /// amount returns the amount of undelegated coins - #[prost(message, optional, tag = "2")] - pub amount: ::core::option::Option, + pub params: ::core::option::Option, } -impl ::prost::Name for MsgUndelegateResponse { - const NAME: &'static str = "MsgUndelegateResponse"; +impl ::prost::Name for QueryParamsResponse { + const NAME: &'static str = "QueryParamsResponse"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator +/// GenesisState defines the staking module's genesis state. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCancelUnbondingDelegation { - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, - /// amount is always less than or equal to unbonding delegation entry balance - #[prost(message, optional, tag = "3")] - pub amount: ::core::option::Option, - /// creation_height is the height which the unbonding took place. - #[prost(int64, tag = "4")] - pub creation_height: i64, -} -impl ::prost::Name for MsgCancelUnbondingDelegation { - const NAME: &'static str = "MsgCancelUnbondingDelegation"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } +pub struct GenesisState { + /// params defines all the parameters of related to deposit. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// last_total_power tracks the total amounts of bonded tokens recorded during + /// the previous end block. + #[prost(bytes = "vec", tag = "2")] + pub last_total_power: ::prost::alloc::vec::Vec, + /// last_validator_powers is a special index that provides a historical list + /// of the last-block's bonded validators. + #[prost(message, repeated, tag = "3")] + pub last_validator_powers: ::prost::alloc::vec::Vec, + /// validators defines the validator set at genesis. + #[prost(message, repeated, tag = "4")] + pub validators: ::prost::alloc::vec::Vec, + /// delegations defines the delegations active at genesis. + #[prost(message, repeated, tag = "5")] + pub delegations: ::prost::alloc::vec::Vec, + /// unbonding_delegations defines the unbonding delegations active at genesis. + #[prost(message, repeated, tag = "6")] + pub unbonding_delegations: ::prost::alloc::vec::Vec, + /// redelegations defines the redelegations active at genesis. + #[prost(message, repeated, tag = "7")] + pub redelegations: ::prost::alloc::vec::Vec, + /// exported defines a bool to identify whether the chain dealing with exported or initialized genesis. + #[prost(bool, tag = "8")] + pub exported: bool, + #[prost(message, repeated, tag = "9")] + pub rotation_index_records: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub rotation_history: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "11")] + pub rotation_queue: ::prost::alloc::vec::Vec, } -/// MsgCancelUnbondingDelegationResponse -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCancelUnbondingDelegationResponse {} -impl ::prost::Name for MsgCancelUnbondingDelegationResponse { - const NAME: &'static str = "MsgCancelUnbondingDelegationResponse"; +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgUpdateParams is the Msg/UpdateParams request type. +/// LastValidatorPower required for validator set update logic. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParams { - /// authority is the address that controls the module (defaults to x/gov unless overwritten). +pub struct LastValidatorPower { + /// address is the address of the validator. #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// params defines the x/staking parameters to update. - /// - /// NOTE: All parameters must be supplied. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, + pub address: ::prost::alloc::string::String, + /// power defines the power of the validator. + #[prost(int64, tag = "2")] + pub power: i64, } -impl ::prost::Name for MsgUpdateParams { - const NAME: &'static str = "MsgUpdateParams"; +impl ::prost::Name for LastValidatorPower { + const NAME: &'static str = "LastValidatorPower"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgUpdateParamsResponse defines the response structure for executing a -/// MsgUpdateParams message. +/// contains address as bytes and time as int64 #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParamsResponse {} -impl ::prost::Name for MsgUpdateParamsResponse { - const NAME: &'static str = "MsgUpdateParamsResponse"; +pub struct RotationIndexRecord { + #[prost(bytes = "vec", tag = "1")] + pub address: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub time: ::core::option::Option<::pbjson_types::Timestamp>, +} +impl ::prost::Name for RotationIndexRecord { + const NAME: &'static str = "RotationIndexRecord"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) } } -/// MsgRotateConsPubKey is the Msg/RotateConsPubKey request type. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRotateConsPubKey { - #[prost(string, tag = "1")] - pub validator_address: ::prost::alloc::string::String, +pub struct RotationQueueRecord { + #[prost(message, optional, tag = "1")] + pub val_addrs: ::core::option::Option, #[prost(message, optional, tag = "2")] - pub new_pubkey: ::core::option::Option<::pbjson_types::Any>, -} -impl ::prost::Name for MsgRotateConsPubKey { - const NAME: &'static str = "MsgRotateConsPubKey"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } + pub time: ::core::option::Option<::pbjson_types::Timestamp>, } -/// MsgRotateConsPubKeyResponse defines the response structure for executing a -/// MsgRotateConsPubKey message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRotateConsPubKeyResponse {} -impl ::prost::Name for MsgRotateConsPubKeyResponse { - const NAME: &'static str = "MsgRotateConsPubKeyResponse"; +impl ::prost::Name for RotationQueueRecord { + const NAME: &'static str = "RotationQueueRecord"; const PACKAGE: &'static str = "cosmos.staking.v1beta1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) diff --git a/generated/rust/protos/src/cosmos.staking.v1beta1.tonic.rs b/generated/rust/protos/src/cosmos.staking.v1beta1.tonic.rs index 8b6037023e..82b16532a3 100644 --- a/generated/rust/protos/src/cosmos.staking.v1beta1.tonic.rs +++ b/generated/rust/protos/src/cosmos.staking.v1beta1.tonic.rs @@ -1,6 +1,256 @@ // @generated /// Generated client implementations. #[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::{http::Uri, *}; + #[derive(Debug, Clone)] + pub struct MsgClient { + inner: tonic::client::Grpc, + } + impl MsgClient { + /// Attempt to create a new client by connecting to a given endpoint. + pub async fn connect(dst: D) -> Result + where + D: TryInto, + D::Error: Into, + { + let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; + Ok(Self::new(conn)) + } + } + impl MsgClient + where + T: tonic::client::GrpcService, + T::Error: Into, + T::ResponseBody: Body + Send + 'static, + ::Error: Into + Send, + { + pub fn new(inner: T) -> Self { + let inner = tonic::client::Grpc::new(inner); + Self { inner } + } + pub fn with_origin(inner: T, origin: Uri) -> Self { + let inner = tonic::client::Grpc::with_origin(inner, origin); + Self { inner } + } + pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + >>::Error: + Into + Send + Sync, + { + MsgClient::new(InterceptedService::new(inner, interceptor)) + } + /// Compress requests with the given encoding. + /// + /// This requires the server to support it otherwise it might respond with an + /// error. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.send_compressed(encoding); + self + } + /// Enable decompressing responses. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.inner = self.inner.accept_compressed(encoding); + self + } + /// Limits the maximum size of a decoded message. + /// + /// Default: `4MB` + #[must_use] + pub fn max_decoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_decoding_message_size(limit); + self + } + /// Limits the maximum size of an encoded message. + /// + /// Default: `usize::MAX` + #[must_use] + pub fn max_encoding_message_size(mut self, limit: usize) -> Self { + self.inner = self.inner.max_encoding_message_size(limit); + self + } + pub async fn create_validator( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/CreateValidator"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "cosmos.staking.v1beta1.Msg", + "CreateValidator", + )); + self.inner.unary(req, path, codec).await + } + pub async fn edit_validator( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/EditValidator"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "cosmos.staking.v1beta1.Msg", + "EditValidator", + )); + self.inner.unary(req, path, codec).await + } + pub async fn delegate( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/Delegate"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Msg", "Delegate")); + self.inner.unary(req, path, codec).await + } + pub async fn begin_redelegate( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/BeginRedelegate"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "cosmos.staking.v1beta1.Msg", + "BeginRedelegate", + )); + self.inner.unary(req, path, codec).await + } + pub async fn undelegate( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/Undelegate"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Msg", "Undelegate")); + self.inner.unary(req, path, codec).await + } + pub async fn cancel_unbonding_delegation( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "cosmos.staking.v1beta1.Msg", + "CancelUnbondingDelegation", + )); + self.inner.unary(req, path, codec).await + } + pub async fn update_params( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/UpdateParams"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "cosmos.staking.v1beta1.Msg", + "UpdateParams", + )); + self.inner.unary(req, path, codec).await + } + pub async fn rotate_cons_pub_key( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "cosmos.staking.v1beta1.Msg", + "RotateConsPubKey", + )); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated client implementations. +#[cfg(feature = "client")] pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; @@ -392,253 +642,3 @@ pub mod query_client { } } } -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::{http::Uri, *}; - #[derive(Debug, Clone)] - pub struct MsgClient { - inner: tonic::client::Grpc, - } - impl MsgClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl MsgClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + Send + 'static, - ::Error: Into + Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - >>::Error: - Into + Send + Sync, - { - MsgClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn create_validator( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/CreateValidator"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "cosmos.staking.v1beta1.Msg", - "CreateValidator", - )); - self.inner.unary(req, path, codec).await - } - pub async fn edit_validator( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/EditValidator"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "cosmos.staking.v1beta1.Msg", - "EditValidator", - )); - self.inner.unary(req, path, codec).await - } - pub async fn delegate( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/Delegate"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Msg", "Delegate")); - self.inner.unary(req, path, codec).await - } - pub async fn begin_redelegate( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/BeginRedelegate"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "cosmos.staking.v1beta1.Msg", - "BeginRedelegate", - )); - self.inner.unary(req, path, codec).await - } - pub async fn undelegate( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/Undelegate"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Msg", "Undelegate")); - self.inner.unary(req, path, codec).await - } - pub async fn cancel_unbonding_delegation( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation", - ); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "cosmos.staking.v1beta1.Msg", - "CancelUnbondingDelegation", - )); - self.inner.unary(req, path, codec).await - } - pub async fn update_params( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/cosmos.staking.v1beta1.Msg/UpdateParams"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "cosmos.staking.v1beta1.Msg", - "UpdateParams", - )); - self.inner.unary(req, path, codec).await - } - pub async fn rotate_cons_pub_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", - ); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "cosmos.staking.v1beta1.Msg", - "RotateConsPubKey", - )); - self.inner.unary(req, path, codec).await - } - } -} diff --git a/generated/rust/protos/src/ibc.applications.fee.v1.rs b/generated/rust/protos/src/ibc.applications.fee.v1.rs index 7e373b7461..e224f586be 100644 --- a/generated/rust/protos/src/ibc.applications.fee.v1.rs +++ b/generated/rust/protos/src/ibc.applications.fee.v1.rs @@ -20,6 +20,25 @@ impl ::prost::Name for IncentivizedAcknowledgement { ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) } } +/// Metadata defines the ICS29 channel specific metadata encoded into the channel version bytestring +/// See ICS004: +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Metadata { + /// fee_version defines the ICS29 fee version + #[prost(string, tag = "1")] + pub fee_version: ::prost::alloc::string::String, + /// app_version defines the underlying application version, which may or may not be a JSON encoded bytestring + #[prost(string, tag = "2")] + pub app_version: ::prost::alloc::string::String, +} +impl ::prost::Name for Metadata { + const NAME: &'static str = "Metadata"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} /// Fee defines the ICS29 receive, acknowledgement and timeout fees #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -691,24 +710,5 @@ impl ::prost::Name for MsgPayPacketFeeAsyncResponse { ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) } } -/// Metadata defines the ICS29 channel specific metadata encoded into the channel version bytestring -/// See ICS004: -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Metadata { - /// fee_version defines the ICS29 fee version - #[prost(string, tag = "1")] - pub fee_version: ::prost::alloc::string::String, - /// app_version defines the underlying application version, which may or may not be a JSON encoded bytestring - #[prost(string, tag = "2")] - pub app_version: ::prost::alloc::string::String, -} -impl ::prost::Name for Metadata { - const NAME: &'static str = "Metadata"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} include!("ibc.applications.fee.v1.tonic.rs"); // @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/ibc.applications.interchain_accounts.v1.rs b/generated/rust/protos/src/ibc.applications.interchain_accounts.v1.rs index dba232b884..1232dc4f6f 100644 --- a/generated/rust/protos/src/ibc.applications.interchain_accounts.v1.rs +++ b/generated/rust/protos/src/ibc.applications.interchain_accounts.v1.rs @@ -64,24 +64,6 @@ impl Type { } } } -/// An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterchainAccount { - #[prost(message, optional, tag = "1")] - pub base_account: - ::core::option::Option, - #[prost(string, tag = "2")] - pub account_owner: ::prost::alloc::string::String, -} -impl ::prost::Name for InterchainAccount { - const NAME: &'static str = "InterchainAccount"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.interchain_accounts.v1.{}", Self::NAME) - } -} /// Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring /// See ICS004: #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] @@ -115,4 +97,22 @@ impl ::prost::Name for Metadata { ::prost::alloc::format!("ibc.applications.interchain_accounts.v1.{}", Self::NAME) } } +/// An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterchainAccount { + #[prost(message, optional, tag = "1")] + pub base_account: + ::core::option::Option, + #[prost(string, tag = "2")] + pub account_owner: ::prost::alloc::string::String, +} +impl ::prost::Name for InterchainAccount { + const NAME: &'static str = "InterchainAccount"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.interchain_accounts.v1.{}", Self::NAME) + } +} // @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/ibc.applications.transfer.v1.rs b/generated/rust/protos/src/ibc.applications.transfer.v1.rs index 228bf3f26c..2163e781d7 100644 --- a/generated/rust/protos/src/ibc.applications.transfer.v1.rs +++ b/generated/rust/protos/src/ibc.applications.transfer.v1.rs @@ -1,51 +1,4 @@ // @generated -/// Allocation defines the spend limit for a particular port and channel -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Allocation { - /// the port on which the packet will be sent - #[prost(string, tag = "1")] - pub source_port: ::prost::alloc::string::String, - /// the channel by which the packet will be sent - #[prost(string, tag = "2")] - pub source_channel: ::prost::alloc::string::String, - /// spend limitation on the channel - #[prost(message, repeated, tag = "3")] - pub spend_limit: - ::prost::alloc::vec::Vec, - /// allow list of receivers, an empty allow list permits any receiver address - #[prost(string, repeated, tag = "4")] - pub allow_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// allow list of memo strings, an empty list prohibits all memo strings; - /// a list only with "*" permits any memo string - #[prost(string, repeated, tag = "5")] - pub allowed_packet_data: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for Allocation { - const NAME: &'static str = "Allocation"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// TransferAuthorization allows the grantee to spend up to spend_limit coins from -/// the granter's account for ibc transfer on a specific channel -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TransferAuthorization { - /// port and channel amounts - #[prost(message, repeated, tag = "1")] - pub allocations: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TransferAuthorization { - const NAME: &'static str = "TransferAuthorization"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} /// DenomTrace contains the base denomination for ICS20 fungible tokens and the /// source tracing information path. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] @@ -182,6 +135,53 @@ impl ::prost::Name for MsgUpdateParamsResponse { ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) } } +/// Allocation defines the spend limit for a particular port and channel +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Allocation { + /// the port on which the packet will be sent + #[prost(string, tag = "1")] + pub source_port: ::prost::alloc::string::String, + /// the channel by which the packet will be sent + #[prost(string, tag = "2")] + pub source_channel: ::prost::alloc::string::String, + /// spend limitation on the channel + #[prost(message, repeated, tag = "3")] + pub spend_limit: + ::prost::alloc::vec::Vec, + /// allow list of receivers, an empty allow list permits any receiver address + #[prost(string, repeated, tag = "4")] + pub allow_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// allow list of memo strings, an empty list prohibits all memo strings; + /// a list only with "*" permits any memo string + #[prost(string, repeated, tag = "5")] + pub allowed_packet_data: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for Allocation { + const NAME: &'static str = "Allocation"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// TransferAuthorization allows the grantee to spend up to spend_limit coins from +/// the granter's account for ibc transfer on a specific channel +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TransferAuthorization { + /// port and channel amounts + #[prost(message, repeated, tag = "1")] + pub allocations: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TransferAuthorization { + const NAME: &'static str = "TransferAuthorization"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} /// QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC /// method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] diff --git a/generated/rust/protos/src/ibc.core.channel.v1.rs b/generated/rust/protos/src/ibc.core.channel.v1.rs index a474e47006..55b9f177fa 100644 --- a/generated/rust/protos/src/ibc.core.channel.v1.rs +++ b/generated/rust/protos/src/ibc.core.channel.v1.rs @@ -460,1542 +460,1542 @@ impl ::prost::Name for ErrorReceipt { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It -/// is called by a relayer on Chain A. +/// QueryChannelRequest is the request type for the Query/Channel RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenInit { +pub struct QueryChannelRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub channel: ::core::option::Option, - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, + /// channel unique identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, } -impl ::prost::Name for MsgChannelOpenInit { - const NAME: &'static str = "MsgChannelOpenInit"; +impl ::prost::Name for QueryChannelRequest { + const NAME: &'static str = "QueryChannelRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. +/// QueryChannelResponse is the response type for the Query/Channel RPC method. +/// Besides the Channel end, it includes a proof and the height from which the +/// proof was retrieved. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenInitResponse { - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub version: ::prost::alloc::string::String, +pub struct QueryChannelResponse { + /// channel associated with the request identifiers + #[prost(message, optional, tag = "1")] + pub channel: ::core::option::Option, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, } -impl ::prost::Name for MsgChannelOpenInitResponse { - const NAME: &'static str = "MsgChannelOpenInitResponse"; +impl ::prost::Name for QueryChannelResponse { + const NAME: &'static str = "QueryChannelResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel -/// on Chain B. The version field within the Channel field has been deprecated. Its -/// value will be ignored by core IBC. +/// QueryChannelsRequest is the request type for the Query/Channels RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenTry { - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC. - #[deprecated] - #[prost(string, tag = "2")] - pub previous_channel_id: ::prost::alloc::string::String, - /// NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. - #[prost(message, optional, tag = "3")] - pub channel: ::core::option::Option, - #[prost(string, tag = "4")] - pub counterparty_version: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "5")] - pub proof_init: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "6")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "7")] - pub signer: ::prost::alloc::string::String, +pub struct QueryChannelsRequest { + /// pagination request + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, } -impl ::prost::Name for MsgChannelOpenTry { - const NAME: &'static str = "MsgChannelOpenTry"; +impl ::prost::Name for QueryChannelsRequest { + const NAME: &'static str = "QueryChannelsRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. +/// QueryChannelsResponse is the response type for the Query/Channels RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenTryResponse { - #[prost(string, tag = "1")] - pub version: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, +pub struct QueryChannelsResponse { + /// list of stored channels of the chain. + #[prost(message, repeated, tag = "1")] + pub channels: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, + /// query block height + #[prost(message, optional, tag = "3")] + pub height: ::core::option::Option, } -impl ::prost::Name for MsgChannelOpenTryResponse { - const NAME: &'static str = "MsgChannelOpenTryResponse"; +impl ::prost::Name for QueryChannelsResponse { + const NAME: &'static str = "QueryChannelsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge -/// the change of channel state to TRYOPEN on Chain B. -/// WARNING: a channel upgrade MUST NOT initialize an upgrade for this channel -/// in the same block as executing this message otherwise the counterparty will -/// be incapable of opening. +/// QueryConnectionChannelsRequest is the request type for the +/// Query/QueryConnectionChannels RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenAck { +pub struct QueryConnectionChannelsRequest { + /// connection unique identifier #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub counterparty_channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub counterparty_version: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "5")] - pub proof_try: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "6")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "7")] - pub signer: ::prost::alloc::string::String, + pub connection: ::prost::alloc::string::String, + /// pagination request + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, } -impl ::prost::Name for MsgChannelOpenAck { - const NAME: &'static str = "MsgChannelOpenAck"; +impl ::prost::Name for QueryConnectionChannelsRequest { + const NAME: &'static str = "QueryConnectionChannelsRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. +/// QueryConnectionChannelsResponse is the Response type for the +/// Query/QueryConnectionChannels RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenAckResponse {} -impl ::prost::Name for MsgChannelOpenAckResponse { - const NAME: &'static str = "MsgChannelOpenAckResponse"; +pub struct QueryConnectionChannelsResponse { + /// list of channels associated with a connection. + #[prost(message, repeated, tag = "1")] + pub channels: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, + /// query block height + #[prost(message, optional, tag = "3")] + pub height: ::core::option::Option, +} +impl ::prost::Name for QueryConnectionChannelsResponse { + const NAME: &'static str = "QueryConnectionChannelsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to -/// acknowledge the change of channel state to OPEN on Chain A. +/// QueryChannelClientStateRequest is the request type for the Query/ClientState +/// RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenConfirm { +pub struct QueryChannelClientStateRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, + /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "3")] - pub proof_ack: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "4")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "5")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgChannelOpenConfirm { - const NAME: &'static str = "MsgChannelOpenConfirm"; +impl ::prost::Name for QueryChannelClientStateRequest { + const NAME: &'static str = "QueryChannelClientStateRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response -/// type. +/// QueryChannelClientStateResponse is the Response type for the +/// Query/QueryChannelClientState RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelOpenConfirmResponse {} -impl ::prost::Name for MsgChannelOpenConfirmResponse { - const NAME: &'static str = "MsgChannelOpenConfirmResponse"; +pub struct QueryChannelClientStateResponse { + /// client state associated with the channel + #[prost(message, optional, tag = "1")] + pub identified_client_state: + ::core::option::Option, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryChannelClientStateResponse { + const NAME: &'static str = "QueryChannelClientStateResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelCloseInit defines a msg sent by a Relayer to Chain A -/// to close a channel with Chain B. +/// QueryChannelConsensusStateRequest is the request type for the +/// Query/ConsensusState RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelCloseInit { +pub struct QueryChannelConsensusStateRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, + /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, + /// revision number of the consensus state + #[prost(uint64, tag = "3")] + pub revision_number: u64, + /// revision height of the consensus state + #[prost(uint64, tag = "4")] + pub revision_height: u64, } -impl ::prost::Name for MsgChannelCloseInit { - const NAME: &'static str = "MsgChannelCloseInit"; +impl ::prost::Name for QueryChannelConsensusStateRequest { + const NAME: &'static str = "QueryChannelConsensusStateRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type. +/// QueryChannelClientStateResponse is the Response type for the +/// Query/QueryChannelClientState RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelCloseInitResponse {} -impl ::prost::Name for MsgChannelCloseInitResponse { - const NAME: &'static str = "MsgChannelCloseInitResponse"; +pub struct QueryChannelConsensusStateResponse { + /// consensus state associated with the channel + #[prost(message, optional, tag = "1")] + pub consensus_state: ::core::option::Option<::pbjson_types::Any>, + /// client ID associated with the consensus state + #[prost(string, tag = "2")] + pub client_id: ::prost::alloc::string::String, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "3")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "4")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryChannelConsensusStateResponse { + const NAME: &'static str = "QueryChannelConsensusStateResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B -/// to acknowledge the change of channel state to CLOSED on Chain A. +/// QueryPacketCommitmentRequest is the request type for the +/// Query/PacketCommitment RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelCloseConfirm { +pub struct QueryPacketCommitmentRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, + /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "3")] - pub proof_init: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "4")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "5")] - pub signer: ::prost::alloc::string::String, - #[prost(uint64, tag = "6")] - pub counterparty_upgrade_sequence: u64, + /// packet sequence + #[prost(uint64, tag = "3")] + pub sequence: u64, } -impl ::prost::Name for MsgChannelCloseConfirm { - const NAME: &'static str = "MsgChannelCloseConfirm"; +impl ::prost::Name for QueryPacketCommitmentRequest { + const NAME: &'static str = "QueryPacketCommitmentRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response -/// type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelCloseConfirmResponse {} -impl ::prost::Name for MsgChannelCloseConfirmResponse { - const NAME: &'static str = "MsgChannelCloseConfirmResponse"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// MsgRecvPacket receives incoming IBC packet +/// QueryPacketCommitmentResponse defines the client query response for a packet +/// which also includes a proof and the height from which the proof was +/// retrieved #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRecvPacket { - #[prost(message, optional, tag = "1")] - pub packet: ::core::option::Option, +pub struct QueryPacketCommitmentResponse { + /// packet associated with the request fields + #[prost(bytes = "vec", tag = "1")] + pub commitment: ::prost::alloc::vec::Vec, + /// merkle proof of existence #[prost(bytes = "vec", tag = "2")] - pub proof_commitment: ::prost::alloc::vec::Vec, + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved #[prost(message, optional, tag = "3")] pub proof_height: ::core::option::Option, - #[prost(string, tag = "4")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgRecvPacket { - const NAME: &'static str = "MsgRecvPacket"; +impl ::prost::Name for QueryPacketCommitmentResponse { + const NAME: &'static str = "QueryPacketCommitmentResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgRecvPacketResponse defines the Msg/RecvPacket response type. +/// QueryPacketCommitmentsRequest is the request type for the +/// Query/QueryPacketCommitments RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRecvPacketResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, +pub struct QueryPacketCommitmentsRequest { + /// port unique identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// channel unique identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// pagination request + #[prost(message, optional, tag = "3")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, } -impl ::prost::Name for MsgRecvPacketResponse { - const NAME: &'static str = "MsgRecvPacketResponse"; +impl ::prost::Name for QueryPacketCommitmentsRequest { + const NAME: &'static str = "QueryPacketCommitmentsRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgTimeout receives timed-out packet +/// QueryPacketCommitmentsResponse is the request type for the +/// Query/QueryPacketCommitments RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgTimeout { - #[prost(message, optional, tag = "1")] - pub packet: ::core::option::Option, - #[prost(bytes = "vec", tag = "2")] - pub proof_unreceived: ::prost::alloc::vec::Vec, +pub struct QueryPacketCommitmentsResponse { + #[prost(message, repeated, tag = "1")] + pub commitments: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, + /// query block height #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, - #[prost(uint64, tag = "4")] - pub next_sequence_recv: u64, - #[prost(string, tag = "5")] - pub signer: ::prost::alloc::string::String, + pub height: ::core::option::Option, } -impl ::prost::Name for MsgTimeout { - const NAME: &'static str = "MsgTimeout"; +impl ::prost::Name for QueryPacketCommitmentsResponse { + const NAME: &'static str = "QueryPacketCommitmentsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgTimeoutResponse defines the Msg/Timeout response type. +/// QueryPacketReceiptRequest is the request type for the +/// Query/PacketReceipt RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgTimeoutResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, +pub struct QueryPacketReceiptRequest { + /// port unique identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// channel unique identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// packet sequence + #[prost(uint64, tag = "3")] + pub sequence: u64, } -impl ::prost::Name for MsgTimeoutResponse { - const NAME: &'static str = "MsgTimeoutResponse"; +impl ::prost::Name for QueryPacketReceiptRequest { + const NAME: &'static str = "QueryPacketReceiptRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgTimeoutOnClose timed-out packet upon counterparty channel closure. +/// QueryPacketReceiptResponse defines the client query response for a packet +/// receipt which also includes a proof, and the height from which the proof was +/// retrieved #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgTimeoutOnClose { - #[prost(message, optional, tag = "1")] - pub packet: ::core::option::Option, - #[prost(bytes = "vec", tag = "2")] - pub proof_unreceived: ::prost::alloc::vec::Vec, +pub struct QueryPacketReceiptResponse { + /// success flag for if receipt exists + #[prost(bool, tag = "2")] + pub received: bool, + /// merkle proof of existence #[prost(bytes = "vec", tag = "3")] - pub proof_close: ::prost::alloc::vec::Vec, + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved #[prost(message, optional, tag = "4")] pub proof_height: ::core::option::Option, - #[prost(uint64, tag = "5")] - pub next_sequence_recv: u64, - #[prost(string, tag = "6")] - pub signer: ::prost::alloc::string::String, - #[prost(uint64, tag = "7")] - pub counterparty_upgrade_sequence: u64, } -impl ::prost::Name for MsgTimeoutOnClose { - const NAME: &'static str = "MsgTimeoutOnClose"; +impl ::prost::Name for QueryPacketReceiptResponse { + const NAME: &'static str = "QueryPacketReceiptResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. +/// QueryPacketAcknowledgementRequest is the request type for the +/// Query/PacketAcknowledgement RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgTimeoutOnCloseResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, +pub struct QueryPacketAcknowledgementRequest { + /// port unique identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// channel unique identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// packet sequence + #[prost(uint64, tag = "3")] + pub sequence: u64, } -impl ::prost::Name for MsgTimeoutOnCloseResponse { - const NAME: &'static str = "MsgTimeoutOnCloseResponse"; +impl ::prost::Name for QueryPacketAcknowledgementRequest { + const NAME: &'static str = "QueryPacketAcknowledgementRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgAcknowledgement receives incoming IBC acknowledgement +/// QueryPacketAcknowledgementResponse defines the client query response for a +/// packet which also includes a proof and the height from which the +/// proof was retrieved #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgAcknowledgement { - #[prost(message, optional, tag = "1")] - pub packet: ::core::option::Option, - #[prost(bytes = "vec", tag = "2")] +pub struct QueryPacketAcknowledgementResponse { + /// packet associated with the request fields + #[prost(bytes = "vec", tag = "1")] pub acknowledgement: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - pub proof_acked: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "4")] + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] pub proof_height: ::core::option::Option, - #[prost(string, tag = "5")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgAcknowledgement { - const NAME: &'static str = "MsgAcknowledgement"; +impl ::prost::Name for QueryPacketAcknowledgementResponse { + const NAME: &'static str = "QueryPacketAcknowledgementResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. +/// QueryPacketAcknowledgementsRequest is the request type for the +/// Query/QueryPacketCommitments RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgAcknowledgementResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, +pub struct QueryPacketAcknowledgementsRequest { + /// port unique identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// channel unique identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// pagination request + #[prost(message, optional, tag = "3")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + /// list of packet sequences + #[prost(uint64, repeated, tag = "4")] + pub packet_commitment_sequences: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MsgAcknowledgementResponse { - const NAME: &'static str = "MsgAcknowledgementResponse"; +impl ::prost::Name for QueryPacketAcknowledgementsRequest { + const NAME: &'static str = "QueryPacketAcknowledgementsRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc -/// WARNING: Initializing a channel upgrade in the same block as opening the channel -/// may result in the counterparty being incapable of opening. +/// QueryPacketAcknowledgemetsResponse is the request type for the +/// Query/QueryPacketAcknowledgements RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeInit { - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, +pub struct QueryPacketAcknowledgementsResponse { + #[prost(message, repeated, tag = "1")] + pub acknowledgements: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, + /// query block height #[prost(message, optional, tag = "3")] - pub fields: ::core::option::Option, - #[prost(string, tag = "4")] - pub signer: ::prost::alloc::string::String, + pub height: ::core::option::Option, } -impl ::prost::Name for MsgChannelUpgradeInit { - const NAME: &'static str = "MsgChannelUpgradeInit"; +impl ::prost::Name for QueryPacketAcknowledgementsResponse { + const NAME: &'static str = "QueryPacketAcknowledgementsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type +/// QueryUnreceivedPacketsRequest is the request type for the +/// Query/UnreceivedPackets RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeInitResponse { - #[prost(message, optional, tag = "1")] - pub upgrade: ::core::option::Option, - #[prost(uint64, tag = "2")] - pub upgrade_sequence: u64, +pub struct QueryUnreceivedPacketsRequest { + /// port unique identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// channel unique identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// list of packet sequences + #[prost(uint64, repeated, tag = "3")] + pub packet_commitment_sequences: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MsgChannelUpgradeInitResponse { - const NAME: &'static str = "MsgChannelUpgradeInitResponse"; +impl ::prost::Name for QueryUnreceivedPacketsRequest { + const NAME: &'static str = "QueryUnreceivedPacketsRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc +/// QueryUnreceivedPacketsResponse is the response type for the +/// Query/UnreceivedPacketCommitments RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeTry { - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - #[prost(string, repeated, tag = "3")] - pub proposed_upgrade_connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub counterparty_upgrade_fields: ::core::option::Option, - #[prost(uint64, tag = "5")] - pub counterparty_upgrade_sequence: u64, - #[prost(bytes = "vec", tag = "6")] - pub proof_channel: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "7")] - pub proof_upgrade: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "8")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "9")] - pub signer: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgChannelUpgradeTry { - const NAME: &'static str = "MsgChannelUpgradeTry"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeTryResponse { - #[prost(message, optional, tag = "1")] - pub upgrade: ::core::option::Option, - #[prost(uint64, tag = "2")] - pub upgrade_sequence: u64, - #[prost(enumeration = "ResponseResultType", tag = "3")] - pub result: i32, +pub struct QueryUnreceivedPacketsResponse { + /// list of unreceived packet sequences + #[prost(uint64, repeated, tag = "1")] + pub sequences: ::prost::alloc::vec::Vec, + /// query block height + #[prost(message, optional, tag = "2")] + pub height: ::core::option::Option, } -impl ::prost::Name for MsgChannelUpgradeTryResponse { - const NAME: &'static str = "MsgChannelUpgradeTryResponse"; +impl ::prost::Name for QueryUnreceivedPacketsResponse { + const NAME: &'static str = "QueryUnreceivedPacketsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc +/// QueryUnreceivedAcks is the request type for the +/// Query/UnreceivedAcks RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeAck { +pub struct QueryUnreceivedAcksRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, + /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub counterparty_upgrade: ::core::option::Option, - #[prost(bytes = "vec", tag = "4")] - pub proof_channel: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "5")] - pub proof_upgrade: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "6")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "7")] - pub signer: ::prost::alloc::string::String, + /// list of acknowledgement sequences + #[prost(uint64, repeated, tag = "3")] + pub packet_ack_sequences: ::prost::alloc::vec::Vec, } -impl ::prost::Name for MsgChannelUpgradeAck { - const NAME: &'static str = "MsgChannelUpgradeAck"; +impl ::prost::Name for QueryUnreceivedAcksRequest { + const NAME: &'static str = "QueryUnreceivedAcksRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type +/// QueryUnreceivedAcksResponse is the response type for the +/// Query/UnreceivedAcks RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeAckResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, +pub struct QueryUnreceivedAcksResponse { + /// list of unreceived acknowledgement sequences + #[prost(uint64, repeated, tag = "1")] + pub sequences: ::prost::alloc::vec::Vec, + /// query block height + #[prost(message, optional, tag = "2")] + pub height: ::core::option::Option, } -impl ::prost::Name for MsgChannelUpgradeAckResponse { - const NAME: &'static str = "MsgChannelUpgradeAckResponse"; +impl ::prost::Name for QueryUnreceivedAcksResponse { + const NAME: &'static str = "QueryUnreceivedAcksResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc +/// QueryNextSequenceReceiveRequest is the request type for the +/// Query/QueryNextSequenceReceiveRequest RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeConfirm { +pub struct QueryNextSequenceReceiveRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, + /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(enumeration = "State", tag = "3")] - pub counterparty_channel_state: i32, - #[prost(message, optional, tag = "4")] - pub counterparty_upgrade: ::core::option::Option, - #[prost(bytes = "vec", tag = "5")] - pub proof_channel: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "6")] - pub proof_upgrade: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "7")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "8")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgChannelUpgradeConfirm { - const NAME: &'static str = "MsgChannelUpgradeConfirm"; +impl ::prost::Name for QueryNextSequenceReceiveRequest { + const NAME: &'static str = "QueryNextSequenceReceiveRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type +/// QuerySequenceResponse is the response type for the +/// Query/QueryNextSequenceReceiveResponse RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeConfirmResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, +pub struct QueryNextSequenceReceiveResponse { + /// next sequence receive number + #[prost(uint64, tag = "1")] + pub next_sequence_receive: u64, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, } -impl ::prost::Name for MsgChannelUpgradeConfirmResponse { - const NAME: &'static str = "MsgChannelUpgradeConfirmResponse"; +impl ::prost::Name for QueryNextSequenceReceiveResponse { + const NAME: &'static str = "QueryNextSequenceReceiveResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc +/// QueryNextSequenceSendRequest is the request type for the +/// Query/QueryNextSequenceSend RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeOpen { +pub struct QueryNextSequenceSendRequest { + /// port unique identifier #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, + /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(enumeration = "State", tag = "3")] - pub counterparty_channel_state: i32, - #[prost(uint64, tag = "4")] - pub counterparty_upgrade_sequence: u64, - #[prost(bytes = "vec", tag = "5")] - pub proof_channel: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "6")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "7")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgChannelUpgradeOpen { - const NAME: &'static str = "MsgChannelUpgradeOpen"; +impl ::prost::Name for QueryNextSequenceSendRequest { + const NAME: &'static str = "QueryNextSequenceSendRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type +/// QueryNextSequenceSendResponse is the request type for the +/// Query/QueryNextSequenceSend RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeOpenResponse {} -impl ::prost::Name for MsgChannelUpgradeOpenResponse { - const NAME: &'static str = "MsgChannelUpgradeOpenResponse"; +pub struct QueryNextSequenceSendResponse { + /// next sequence send number + #[prost(uint64, tag = "1")] + pub next_sequence_send: u64, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryNextSequenceSendResponse { + const NAME: &'static str = "QueryNextSequenceSendResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc +/// QueryUpgradeErrorRequest is the request type for the Query/QueryUpgradeError RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeTimeout { +pub struct QueryUpgradeErrorRequest { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub counterparty_channel: ::core::option::Option, - #[prost(bytes = "vec", tag = "4")] - pub proof_channel: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "5")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "6")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgChannelUpgradeTimeout { - const NAME: &'static str = "MsgChannelUpgradeTimeout"; +impl ::prost::Name for QueryUpgradeErrorRequest { + const NAME: &'static str = "QueryUpgradeErrorRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type +/// QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeTimeoutResponse {} -impl ::prost::Name for MsgChannelUpgradeTimeoutResponse { - const NAME: &'static str = "MsgChannelUpgradeTimeoutResponse"; +pub struct QueryUpgradeErrorResponse { + #[prost(message, optional, tag = "1")] + pub error_receipt: ::core::option::Option, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryUpgradeErrorResponse { + const NAME: &'static str = "QueryUpgradeErrorResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc +/// QueryUpgradeRequest is the request type for the QueryUpgradeRequest RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeCancel { +pub struct QueryUpgradeRequest { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub error_receipt: ::core::option::Option, - #[prost(bytes = "vec", tag = "4")] - pub proof_error_receipt: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "5")] - pub proof_height: ::core::option::Option, - #[prost(string, tag = "6")] - pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgChannelUpgradeCancel { - const NAME: &'static str = "MsgChannelUpgradeCancel"; +impl ::prost::Name for QueryUpgradeRequest { + const NAME: &'static str = "QueryUpgradeRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type +/// QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgChannelUpgradeCancelResponse {} -impl ::prost::Name for MsgChannelUpgradeCancelResponse { - const NAME: &'static str = "MsgChannelUpgradeCancelResponse"; +pub struct QueryUpgradeResponse { + #[prost(message, optional, tag = "1")] + pub upgrade: ::core::option::Option, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryUpgradeResponse { + const NAME: &'static str = "QueryUpgradeResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgUpdateParams is the MsgUpdateParams request type. +/// QueryChannelParamsRequest is the request type for the Query/ChannelParams RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParams { - /// authority is the address that controls the module (defaults to x/gov unless overwritten). - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// params defines the channel parameters to update. - /// - /// NOTE: All parameters must be supplied. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -impl ::prost::Name for MsgUpdateParams { - const NAME: &'static str = "MsgUpdateParams"; +pub struct QueryChannelParamsRequest {} +impl ::prost::Name for QueryChannelParamsRequest { + const NAME: &'static str = "QueryChannelParamsRequest"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgUpdateParamsResponse defines the MsgUpdateParams response type. +/// QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParamsResponse {} -impl ::prost::Name for MsgUpdateParamsResponse { - const NAME: &'static str = "MsgUpdateParamsResponse"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { +pub struct QueryChannelParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +impl ::prost::Name for QueryChannelParamsResponse { + const NAME: &'static str = "QueryChannelParamsResponse"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc. +/// MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It +/// is called by a relayer on Chain A. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgPruneAcknowledgements { +pub struct MsgChannelOpenInit { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - pub limit: u64, - #[prost(string, tag = "4")] + #[prost(message, optional, tag = "2")] + pub channel: ::core::option::Option, + #[prost(string, tag = "3")] pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for MsgPruneAcknowledgements { - const NAME: &'static str = "MsgPruneAcknowledgements"; +impl ::prost::Name for MsgChannelOpenInit { + const NAME: &'static str = "MsgChannelOpenInit"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc. +/// MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgPruneAcknowledgementsResponse { - /// Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate). - #[prost(uint64, tag = "1")] - pub total_pruned_sequences: u64, - /// Number of sequences left after pruning. - #[prost(uint64, tag = "2")] - pub total_remaining_sequences: u64, +pub struct MsgChannelOpenInitResponse { + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub version: ::prost::alloc::string::String, } -impl ::prost::Name for MsgPruneAcknowledgementsResponse { - const NAME: &'static str = "MsgPruneAcknowledgementsResponse"; +impl ::prost::Name for MsgChannelOpenInitResponse { + const NAME: &'static str = "MsgChannelOpenInitResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// ResponseResultType defines the possible outcomes of the execution of a message -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ResponseResultType { - /// Default zero value enumeration - Unspecified = 0, - /// The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) - Noop = 1, - /// The message was executed successfully - Success = 2, - /// The message was executed unsuccessfully - Failure = 3, -} -impl ResponseResultType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - ResponseResultType::Unspecified => "RESPONSE_RESULT_TYPE_UNSPECIFIED", - ResponseResultType::Noop => "RESPONSE_RESULT_TYPE_NOOP", - ResponseResultType::Success => "RESPONSE_RESULT_TYPE_SUCCESS", - ResponseResultType::Failure => "RESPONSE_RESULT_TYPE_FAILURE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "RESPONSE_RESULT_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "RESPONSE_RESULT_TYPE_NOOP" => Some(Self::Noop), - "RESPONSE_RESULT_TYPE_SUCCESS" => Some(Self::Success), - "RESPONSE_RESULT_TYPE_FAILURE" => Some(Self::Failure), - _ => None, - } - } -} -/// QueryChannelRequest is the request type for the Query/Channel RPC method +/// MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel +/// on Chain B. The version field within the Channel field has been deprecated. Its +/// value will be ignored by core IBC. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelRequest { - /// port unique identifier +pub struct MsgChannelOpenTry { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier + /// Deprecated: this field is unused. Crossing hello's are no longer supported in core IBC. + #[deprecated] #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, + pub previous_channel_id: ::prost::alloc::string::String, + /// NOTE: the version field within the channel has been deprecated. Its value will be ignored by core IBC. + #[prost(message, optional, tag = "3")] + pub channel: ::core::option::Option, + #[prost(string, tag = "4")] + pub counterparty_version: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "5")] + pub proof_init: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "7")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryChannelRequest { - const NAME: &'static str = "QueryChannelRequest"; +impl ::prost::Name for MsgChannelOpenTry { + const NAME: &'static str = "MsgChannelOpenTry"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelResponse is the response type for the Query/Channel RPC method. -/// Besides the Channel end, it includes a proof and the height from which the -/// proof was retrieved. +/// MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelResponse { - /// channel associated with the request identifiers - #[prost(message, optional, tag = "1")] - pub channel: ::core::option::Option, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, +pub struct MsgChannelOpenTryResponse { + #[prost(string, tag = "1")] + pub version: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, } -impl ::prost::Name for QueryChannelResponse { - const NAME: &'static str = "QueryChannelResponse"; +impl ::prost::Name for MsgChannelOpenTryResponse { + const NAME: &'static str = "MsgChannelOpenTryResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelsRequest is the request type for the Query/Channels RPC method +/// MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge +/// the change of channel state to TRYOPEN on Chain B. +/// WARNING: a channel upgrade MUST NOT initialize an upgrade for this channel +/// in the same block as executing this message otherwise the counterparty will +/// be incapable of opening. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelsRequest { - /// pagination request - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, +pub struct MsgChannelOpenAck { + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub counterparty_channel_id: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub counterparty_version: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "5")] + pub proof_try: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "7")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryChannelsRequest { - const NAME: &'static str = "QueryChannelsRequest"; +impl ::prost::Name for MsgChannelOpenAck { + const NAME: &'static str = "MsgChannelOpenAck"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelsResponse is the response type for the Query/Channels RPC method. +/// MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelsResponse { - /// list of stored channels of the chain. - #[prost(message, repeated, tag = "1")] - pub channels: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, - /// query block height - #[prost(message, optional, tag = "3")] - pub height: ::core::option::Option, -} -impl ::prost::Name for QueryChannelsResponse { - const NAME: &'static str = "QueryChannelsResponse"; +pub struct MsgChannelOpenAckResponse {} +impl ::prost::Name for MsgChannelOpenAckResponse { + const NAME: &'static str = "MsgChannelOpenAckResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryConnectionChannelsRequest is the request type for the -/// Query/QueryConnectionChannels RPC method +/// MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to +/// acknowledge the change of channel state to OPEN on Chain A. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConnectionChannelsRequest { - /// connection unique identifier +pub struct MsgChannelOpenConfirm { #[prost(string, tag = "1")] - pub connection: ::prost::alloc::string::String, - /// pagination request - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, + pub port_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "3")] + pub proof_ack: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "5")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryConnectionChannelsRequest { - const NAME: &'static str = "QueryConnectionChannelsRequest"; +impl ::prost::Name for MsgChannelOpenConfirm { + const NAME: &'static str = "MsgChannelOpenConfirm"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryConnectionChannelsResponse is the Response type for the -/// Query/QueryConnectionChannels RPC method +/// MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response +/// type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConnectionChannelsResponse { - /// list of channels associated with a connection. - #[prost(message, repeated, tag = "1")] - pub channels: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, - /// query block height - #[prost(message, optional, tag = "3")] - pub height: ::core::option::Option, -} -impl ::prost::Name for QueryConnectionChannelsResponse { - const NAME: &'static str = "QueryConnectionChannelsResponse"; +pub struct MsgChannelOpenConfirmResponse {} +impl ::prost::Name for MsgChannelOpenConfirmResponse { + const NAME: &'static str = "MsgChannelOpenConfirmResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelClientStateRequest is the request type for the Query/ClientState -/// RPC method +/// MsgChannelCloseInit defines a msg sent by a Relayer to Chain A +/// to close a channel with Chain B. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelClientStateRequest { - /// port unique identifier +pub struct MsgChannelCloseInit { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryChannelClientStateRequest { - const NAME: &'static str = "QueryChannelClientStateRequest"; +impl ::prost::Name for MsgChannelCloseInit { + const NAME: &'static str = "MsgChannelCloseInit"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelClientStateResponse is the Response type for the -/// Query/QueryChannelClientState RPC method +/// MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelClientStateResponse { - /// client state associated with the channel - #[prost(message, optional, tag = "1")] - pub identified_client_state: - ::core::option::Option, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, -} -impl ::prost::Name for QueryChannelClientStateResponse { - const NAME: &'static str = "QueryChannelClientStateResponse"; +pub struct MsgChannelCloseInitResponse {} +impl ::prost::Name for MsgChannelCloseInitResponse { + const NAME: &'static str = "MsgChannelCloseInitResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelConsensusStateRequest is the request type for the -/// Query/ConsensusState RPC method +/// MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B +/// to acknowledge the change of channel state to CLOSED on Chain A. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelConsensusStateRequest { - /// port unique identifier +pub struct MsgChannelCloseConfirm { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - /// revision number of the consensus state - #[prost(uint64, tag = "3")] - pub revision_number: u64, - /// revision height of the consensus state - #[prost(uint64, tag = "4")] - pub revision_height: u64, + #[prost(bytes = "vec", tag = "3")] + pub proof_init: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "5")] + pub signer: ::prost::alloc::string::String, + #[prost(uint64, tag = "6")] + pub counterparty_upgrade_sequence: u64, } -impl ::prost::Name for QueryChannelConsensusStateRequest { - const NAME: &'static str = "QueryChannelConsensusStateRequest"; +impl ::prost::Name for MsgChannelCloseConfirm { + const NAME: &'static str = "MsgChannelCloseConfirm"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelClientStateResponse is the Response type for the -/// Query/QueryChannelClientState RPC method +/// MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response +/// type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelConsensusStateResponse { - /// consensus state associated with the channel +pub struct MsgChannelCloseConfirmResponse {} +impl ::prost::Name for MsgChannelCloseConfirmResponse { + const NAME: &'static str = "MsgChannelCloseConfirmResponse"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// MsgRecvPacket receives incoming IBC packet +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRecvPacket { #[prost(message, optional, tag = "1")] - pub consensus_state: ::core::option::Option<::pbjson_types::Any>, - /// client ID associated with the consensus state - #[prost(string, tag = "2")] - pub client_id: ::prost::alloc::string::String, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "3")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "4")] + pub packet: ::core::option::Option, + #[prost(bytes = "vec", tag = "2")] + pub proof_commitment: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] pub proof_height: ::core::option::Option, + #[prost(string, tag = "4")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryChannelConsensusStateResponse { - const NAME: &'static str = "QueryChannelConsensusStateResponse"; +impl ::prost::Name for MsgRecvPacket { + const NAME: &'static str = "MsgRecvPacket"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketCommitmentRequest is the request type for the -/// Query/PacketCommitment RPC method +/// MsgRecvPacketResponse defines the Msg/RecvPacket response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketCommitmentRequest { - /// port unique identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// channel unique identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - /// packet sequence - #[prost(uint64, tag = "3")] - pub sequence: u64, +pub struct MsgRecvPacketResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, } -impl ::prost::Name for QueryPacketCommitmentRequest { - const NAME: &'static str = "QueryPacketCommitmentRequest"; +impl ::prost::Name for MsgRecvPacketResponse { + const NAME: &'static str = "MsgRecvPacketResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketCommitmentResponse defines the client query response for a packet -/// which also includes a proof and the height from which the proof was -/// retrieved +/// MsgTimeout receives timed-out packet #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketCommitmentResponse { - /// packet associated with the request fields - #[prost(bytes = "vec", tag = "1")] - pub commitment: ::prost::alloc::vec::Vec, - /// merkle proof of existence +pub struct MsgTimeout { + #[prost(message, optional, tag = "1")] + pub packet: ::core::option::Option, #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved + pub proof_unreceived: ::prost::alloc::vec::Vec, #[prost(message, optional, tag = "3")] pub proof_height: ::core::option::Option, + #[prost(uint64, tag = "4")] + pub next_sequence_recv: u64, + #[prost(string, tag = "5")] + pub signer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgTimeout { + const NAME: &'static str = "MsgTimeout"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// MsgTimeoutResponse defines the Msg/Timeout response type. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgTimeoutResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, } -impl ::prost::Name for QueryPacketCommitmentResponse { - const NAME: &'static str = "QueryPacketCommitmentResponse"; +impl ::prost::Name for MsgTimeoutResponse { + const NAME: &'static str = "MsgTimeoutResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketCommitmentsRequest is the request type for the -/// Query/QueryPacketCommitments RPC method +/// MsgTimeoutOnClose timed-out packet upon counterparty channel closure. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketCommitmentsRequest { - /// port unique identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// channel unique identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - /// pagination request - #[prost(message, optional, tag = "3")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, +pub struct MsgTimeoutOnClose { + #[prost(message, optional, tag = "1")] + pub packet: ::core::option::Option, + #[prost(bytes = "vec", tag = "2")] + pub proof_unreceived: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub proof_close: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub proof_height: ::core::option::Option, + #[prost(uint64, tag = "5")] + pub next_sequence_recv: u64, + #[prost(string, tag = "6")] + pub signer: ::prost::alloc::string::String, + #[prost(uint64, tag = "7")] + pub counterparty_upgrade_sequence: u64, } -impl ::prost::Name for QueryPacketCommitmentsRequest { - const NAME: &'static str = "QueryPacketCommitmentsRequest"; +impl ::prost::Name for MsgTimeoutOnClose { + const NAME: &'static str = "MsgTimeoutOnClose"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketCommitmentsResponse is the request type for the -/// Query/QueryPacketCommitments RPC method +/// MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketCommitmentsResponse { - #[prost(message, repeated, tag = "1")] - pub commitments: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, - /// query block height - #[prost(message, optional, tag = "3")] - pub height: ::core::option::Option, +pub struct MsgTimeoutOnCloseResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, } -impl ::prost::Name for QueryPacketCommitmentsResponse { - const NAME: &'static str = "QueryPacketCommitmentsResponse"; +impl ::prost::Name for MsgTimeoutOnCloseResponse { + const NAME: &'static str = "MsgTimeoutOnCloseResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketReceiptRequest is the request type for the -/// Query/PacketReceipt RPC method +/// MsgAcknowledgement receives incoming IBC acknowledgement #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketReceiptRequest { - /// port unique identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// channel unique identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - /// packet sequence - #[prost(uint64, tag = "3")] - pub sequence: u64, +pub struct MsgAcknowledgement { + #[prost(message, optional, tag = "1")] + pub packet: ::core::option::Option, + #[prost(bytes = "vec", tag = "2")] + pub acknowledgement: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub proof_acked: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "5")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryPacketReceiptRequest { - const NAME: &'static str = "QueryPacketReceiptRequest"; +impl ::prost::Name for MsgAcknowledgement { + const NAME: &'static str = "MsgAcknowledgement"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketReceiptResponse defines the client query response for a packet -/// receipt which also includes a proof, and the height from which the proof was -/// retrieved +/// MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketReceiptResponse { - /// success flag for if receipt exists - #[prost(bool, tag = "2")] - pub received: bool, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "3")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "4")] - pub proof_height: ::core::option::Option, +pub struct MsgAcknowledgementResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, } -impl ::prost::Name for QueryPacketReceiptResponse { - const NAME: &'static str = "QueryPacketReceiptResponse"; +impl ::prost::Name for MsgAcknowledgementResponse { + const NAME: &'static str = "MsgAcknowledgementResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketAcknowledgementRequest is the request type for the -/// Query/PacketAcknowledgement RPC method +/// MsgChannelUpgradeInit defines the request type for the ChannelUpgradeInit rpc +/// WARNING: Initializing a channel upgrade in the same block as opening the channel +/// may result in the counterparty being incapable of opening. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketAcknowledgementRequest { - /// port unique identifier +pub struct MsgChannelUpgradeInit { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - /// packet sequence - #[prost(uint64, tag = "3")] - pub sequence: u64, + #[prost(message, optional, tag = "3")] + pub fields: ::core::option::Option, + #[prost(string, tag = "4")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryPacketAcknowledgementRequest { - const NAME: &'static str = "QueryPacketAcknowledgementRequest"; +impl ::prost::Name for MsgChannelUpgradeInit { + const NAME: &'static str = "MsgChannelUpgradeInit"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketAcknowledgementResponse defines the client query response for a -/// packet which also includes a proof and the height from which the -/// proof was retrieved +/// MsgChannelUpgradeInitResponse defines the MsgChannelUpgradeInit response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketAcknowledgementResponse { - /// packet associated with the request fields - #[prost(bytes = "vec", tag = "1")] - pub acknowledgement: ::prost::alloc::vec::Vec, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, +pub struct MsgChannelUpgradeInitResponse { + #[prost(message, optional, tag = "1")] + pub upgrade: ::core::option::Option, + #[prost(uint64, tag = "2")] + pub upgrade_sequence: u64, } -impl ::prost::Name for QueryPacketAcknowledgementResponse { - const NAME: &'static str = "QueryPacketAcknowledgementResponse"; +impl ::prost::Name for MsgChannelUpgradeInitResponse { + const NAME: &'static str = "MsgChannelUpgradeInitResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketAcknowledgementsRequest is the request type for the -/// Query/QueryPacketCommitments RPC method +/// MsgChannelUpgradeTry defines the request type for the ChannelUpgradeTry rpc #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketAcknowledgementsRequest { - /// port unique identifier +pub struct MsgChannelUpgradeTry { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - /// pagination request - #[prost(message, optional, tag = "3")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - /// list of packet sequences - #[prost(uint64, repeated, tag = "4")] - pub packet_commitment_sequences: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "3")] + pub proposed_upgrade_connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub counterparty_upgrade_fields: ::core::option::Option, + #[prost(uint64, tag = "5")] + pub counterparty_upgrade_sequence: u64, + #[prost(bytes = "vec", tag = "6")] + pub proof_channel: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "7")] + pub proof_upgrade: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "9")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryPacketAcknowledgementsRequest { - const NAME: &'static str = "QueryPacketAcknowledgementsRequest"; +impl ::prost::Name for MsgChannelUpgradeTry { + const NAME: &'static str = "MsgChannelUpgradeTry"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryPacketAcknowledgemetsResponse is the request type for the -/// Query/QueryPacketAcknowledgements RPC method +/// MsgChannelUpgradeTryResponse defines the MsgChannelUpgradeTry response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPacketAcknowledgementsResponse { - #[prost(message, repeated, tag = "1")] - pub acknowledgements: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, - /// query block height - #[prost(message, optional, tag = "3")] - pub height: ::core::option::Option, +pub struct MsgChannelUpgradeTryResponse { + #[prost(message, optional, tag = "1")] + pub upgrade: ::core::option::Option, + #[prost(uint64, tag = "2")] + pub upgrade_sequence: u64, + #[prost(enumeration = "ResponseResultType", tag = "3")] + pub result: i32, } -impl ::prost::Name for QueryPacketAcknowledgementsResponse { - const NAME: &'static str = "QueryPacketAcknowledgementsResponse"; +impl ::prost::Name for MsgChannelUpgradeTryResponse { + const NAME: &'static str = "MsgChannelUpgradeTryResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUnreceivedPacketsRequest is the request type for the -/// Query/UnreceivedPackets RPC method +/// MsgChannelUpgradeAck defines the request type for the ChannelUpgradeAck rpc #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUnreceivedPacketsRequest { - /// port unique identifier +pub struct MsgChannelUpgradeAck { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - /// list of packet sequences - #[prost(uint64, repeated, tag = "3")] - pub packet_commitment_sequences: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub counterparty_upgrade: ::core::option::Option, + #[prost(bytes = "vec", tag = "4")] + pub proof_channel: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "5")] + pub proof_upgrade: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "7")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryUnreceivedPacketsRequest { - const NAME: &'static str = "QueryUnreceivedPacketsRequest"; +impl ::prost::Name for MsgChannelUpgradeAck { + const NAME: &'static str = "MsgChannelUpgradeAck"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUnreceivedPacketsResponse is the response type for the -/// Query/UnreceivedPacketCommitments RPC method +/// MsgChannelUpgradeAckResponse defines MsgChannelUpgradeAck response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUnreceivedPacketsResponse { - /// list of unreceived packet sequences - #[prost(uint64, repeated, tag = "1")] - pub sequences: ::prost::alloc::vec::Vec, - /// query block height - #[prost(message, optional, tag = "2")] - pub height: ::core::option::Option, +pub struct MsgChannelUpgradeAckResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, } -impl ::prost::Name for QueryUnreceivedPacketsResponse { - const NAME: &'static str = "QueryUnreceivedPacketsResponse"; +impl ::prost::Name for MsgChannelUpgradeAckResponse { + const NAME: &'static str = "MsgChannelUpgradeAckResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUnreceivedAcks is the request type for the -/// Query/UnreceivedAcks RPC method +/// MsgChannelUpgradeConfirm defines the request type for the ChannelUpgradeConfirm rpc #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUnreceivedAcksRequest { - /// port unique identifier +pub struct MsgChannelUpgradeConfirm { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, - /// list of acknowledgement sequences - #[prost(uint64, repeated, tag = "3")] - pub packet_ack_sequences: ::prost::alloc::vec::Vec, + #[prost(enumeration = "State", tag = "3")] + pub counterparty_channel_state: i32, + #[prost(message, optional, tag = "4")] + pub counterparty_upgrade: ::core::option::Option, + #[prost(bytes = "vec", tag = "5")] + pub proof_channel: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "6")] + pub proof_upgrade: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "8")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryUnreceivedAcksRequest { - const NAME: &'static str = "QueryUnreceivedAcksRequest"; +impl ::prost::Name for MsgChannelUpgradeConfirm { + const NAME: &'static str = "MsgChannelUpgradeConfirm"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUnreceivedAcksResponse is the response type for the -/// Query/UnreceivedAcks RPC method +/// MsgChannelUpgradeConfirmResponse defines MsgChannelUpgradeConfirm response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUnreceivedAcksResponse { - /// list of unreceived acknowledgement sequences - #[prost(uint64, repeated, tag = "1")] - pub sequences: ::prost::alloc::vec::Vec, - /// query block height - #[prost(message, optional, tag = "2")] - pub height: ::core::option::Option, +pub struct MsgChannelUpgradeConfirmResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, } -impl ::prost::Name for QueryUnreceivedAcksResponse { - const NAME: &'static str = "QueryUnreceivedAcksResponse"; +impl ::prost::Name for MsgChannelUpgradeConfirmResponse { + const NAME: &'static str = "MsgChannelUpgradeConfirmResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryNextSequenceReceiveRequest is the request type for the -/// Query/QueryNextSequenceReceiveRequest RPC method +/// MsgChannelUpgradeOpen defines the request type for the ChannelUpgradeOpen rpc #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryNextSequenceReceiveRequest { - /// port unique identifier +pub struct MsgChannelUpgradeOpen { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, + #[prost(enumeration = "State", tag = "3")] + pub counterparty_channel_state: i32, + #[prost(uint64, tag = "4")] + pub counterparty_upgrade_sequence: u64, + #[prost(bytes = "vec", tag = "5")] + pub proof_channel: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "7")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryNextSequenceReceiveRequest { - const NAME: &'static str = "QueryNextSequenceReceiveRequest"; +impl ::prost::Name for MsgChannelUpgradeOpen { + const NAME: &'static str = "MsgChannelUpgradeOpen"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QuerySequenceResponse is the response type for the -/// Query/QueryNextSequenceReceiveResponse RPC method +/// MsgChannelUpgradeOpenResponse defines the MsgChannelUpgradeOpen response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryNextSequenceReceiveResponse { - /// next sequence receive number - #[prost(uint64, tag = "1")] - pub next_sequence_receive: u64, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, -} -impl ::prost::Name for QueryNextSequenceReceiveResponse { - const NAME: &'static str = "QueryNextSequenceReceiveResponse"; +pub struct MsgChannelUpgradeOpenResponse {} +impl ::prost::Name for MsgChannelUpgradeOpenResponse { + const NAME: &'static str = "MsgChannelUpgradeOpenResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryNextSequenceSendRequest is the request type for the -/// Query/QueryNextSequenceSend RPC method +/// MsgChannelUpgradeTimeout defines the request type for the ChannelUpgradeTimeout rpc #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryNextSequenceSendRequest { - /// port unique identifier +pub struct MsgChannelUpgradeTimeout { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, - /// channel unique identifier #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub counterparty_channel: ::core::option::Option, + #[prost(bytes = "vec", tag = "4")] + pub proof_channel: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "6")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryNextSequenceSendRequest { - const NAME: &'static str = "QueryNextSequenceSendRequest"; +impl ::prost::Name for MsgChannelUpgradeTimeout { + const NAME: &'static str = "MsgChannelUpgradeTimeout"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryNextSequenceSendResponse is the request type for the -/// Query/QueryNextSequenceSend RPC method +/// MsgChannelUpgradeTimeoutRepsonse defines the MsgChannelUpgradeTimeout response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryNextSequenceSendResponse { - /// next sequence send number - #[prost(uint64, tag = "1")] - pub next_sequence_send: u64, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, -} -impl ::prost::Name for QueryNextSequenceSendResponse { - const NAME: &'static str = "QueryNextSequenceSendResponse"; +pub struct MsgChannelUpgradeTimeoutResponse {} +impl ::prost::Name for MsgChannelUpgradeTimeoutResponse { + const NAME: &'static str = "MsgChannelUpgradeTimeoutResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUpgradeErrorRequest is the request type for the Query/QueryUpgradeError RPC method +/// MsgChannelUpgradeCancel defines the request type for the ChannelUpgradeCancel rpc #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradeErrorRequest { +pub struct MsgChannelUpgradeCancel { #[prost(string, tag = "1")] pub port_id: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub channel_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub error_receipt: ::core::option::Option, + #[prost(bytes = "vec", tag = "4")] + pub proof_error_receipt: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub proof_height: ::core::option::Option, + #[prost(string, tag = "6")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryUpgradeErrorRequest { - const NAME: &'static str = "QueryUpgradeErrorRequest"; +impl ::prost::Name for MsgChannelUpgradeCancel { + const NAME: &'static str = "MsgChannelUpgradeCancel"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUpgradeErrorResponse is the response type for the Query/QueryUpgradeError RPC method +/// MsgChannelUpgradeCancelResponse defines the MsgChannelUpgradeCancel response type #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradeErrorResponse { - #[prost(message, optional, tag = "1")] - pub error_receipt: ::core::option::Option, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, -} -impl ::prost::Name for QueryUpgradeErrorResponse { - const NAME: &'static str = "QueryUpgradeErrorResponse"; +pub struct MsgChannelUpgradeCancelResponse {} +impl ::prost::Name for MsgChannelUpgradeCancelResponse { + const NAME: &'static str = "MsgChannelUpgradeCancelResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUpgradeRequest is the request type for the QueryUpgradeRequest RPC method +/// MsgUpdateParams is the MsgUpdateParams request type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradeRequest { +pub struct MsgUpdateParams { + /// authority is the address that controls the module (defaults to x/gov unless overwritten). #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, + pub authority: ::prost::alloc::string::String, + /// params defines the channel parameters to update. + /// + /// NOTE: All parameters must be supplied. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, } -impl ::prost::Name for QueryUpgradeRequest { - const NAME: &'static str = "QueryUpgradeRequest"; +impl ::prost::Name for MsgUpdateParams { + const NAME: &'static str = "MsgUpdateParams"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryUpgradeResponse is the response type for the QueryUpgradeResponse RPC method +/// MsgUpdateParamsResponse defines the MsgUpdateParams response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradeResponse { - #[prost(message, optional, tag = "1")] - pub upgrade: ::core::option::Option, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, -} -impl ::prost::Name for QueryUpgradeResponse { - const NAME: &'static str = "QueryUpgradeResponse"; +pub struct MsgUpdateParamsResponse {} +impl ::prost::Name for MsgUpdateParamsResponse { + const NAME: &'static str = "MsgUpdateParamsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelParamsRequest is the request type for the Query/ChannelParams RPC method. +/// MsgPruneAcknowledgements defines the request type for the PruneAcknowledgements rpc. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelParamsRequest {} -impl ::prost::Name for QueryChannelParamsRequest { - const NAME: &'static str = "QueryChannelParamsRequest"; +pub struct MsgPruneAcknowledgements { + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + pub limit: u64, + #[prost(string, tag = "4")] + pub signer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgPruneAcknowledgements { + const NAME: &'static str = "MsgPruneAcknowledgements"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } -/// QueryChannelParamsResponse is the response type for the Query/ChannelParams RPC method. +/// MsgPruneAcknowledgementsResponse defines the response type for the PruneAcknowledgements rpc. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryChannelParamsResponse { - /// params defines the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, +pub struct MsgPruneAcknowledgementsResponse { + /// Number of sequences pruned (includes both packet acknowledgements and packet receipts where appropriate). + #[prost(uint64, tag = "1")] + pub total_pruned_sequences: u64, + /// Number of sequences left after pruning. + #[prost(uint64, tag = "2")] + pub total_remaining_sequences: u64, } -impl ::prost::Name for QueryChannelParamsResponse { - const NAME: &'static str = "QueryChannelParamsResponse"; +impl ::prost::Name for MsgPruneAcknowledgementsResponse { + const NAME: &'static str = "MsgPruneAcknowledgementsResponse"; const PACKAGE: &'static str = "ibc.core.channel.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) } } +/// ResponseResultType defines the possible outcomes of the execution of a message +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ResponseResultType { + /// Default zero value enumeration + Unspecified = 0, + /// The message did not call the IBC application callbacks (because, for example, the packet had already been relayed) + Noop = 1, + /// The message was executed successfully + Success = 2, + /// The message was executed unsuccessfully + Failure = 3, +} +impl ResponseResultType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + ResponseResultType::Unspecified => "RESPONSE_RESULT_TYPE_UNSPECIFIED", + ResponseResultType::Noop => "RESPONSE_RESULT_TYPE_NOOP", + ResponseResultType::Success => "RESPONSE_RESULT_TYPE_SUCCESS", + ResponseResultType::Failure => "RESPONSE_RESULT_TYPE_FAILURE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "RESPONSE_RESULT_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "RESPONSE_RESULT_TYPE_NOOP" => Some(Self::Noop), + "RESPONSE_RESULT_TYPE_SUCCESS" => Some(Self::Success), + "RESPONSE_RESULT_TYPE_FAILURE" => Some(Self::Failure), + _ => None, + } + } +} include!("ibc.core.channel.v1.tonic.rs"); // @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/ibc.core.channel.v1.tonic.rs b/generated/rust/protos/src/ibc.core.channel.v1.tonic.rs index 6d5abec1c0..98779ba25b 100644 --- a/generated/rust/protos/src/ibc.core.channel.v1.tonic.rs +++ b/generated/rust/protos/src/ibc.core.channel.v1.tonic.rs @@ -1,14 +1,14 @@ // @generated /// Generated client implementations. #[cfg(feature = "client")] -pub mod msg_client { +pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; #[derive(Debug, Clone)] - pub struct MsgClient { + pub struct QueryClient { inner: tonic::client::Grpc, } - impl MsgClient { + impl QueryClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -19,7 +19,7 @@ pub mod msg_client { Ok(Self::new(conn)) } } - impl MsgClient + impl QueryClient where T: tonic::client::GrpcService, T::Error: Into, @@ -34,7 +34,10 @@ pub mod msg_client { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> QueryClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -47,7 +50,7 @@ pub mod msg_client { >>::Error: Into + Send + Sync, { - MsgClient::new(InterceptedService::new(inner, interceptor)) + QueryClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -80,31 +83,10 @@ pub mod msg_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn channel_open_init( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenInit"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelOpenInit", - )); - self.inner.unary(req, path, codec).await - } - pub async fn channel_open_try( + pub async fn channel( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -113,17 +95,16 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenTry"); + let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/Channel"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenTry")); + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channel")); self.inner.unary(req, path, codec).await } - pub async fn channel_open_ack( + pub async fn channels( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -132,18 +113,19 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenAck"); + let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/Channels"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenAck")); + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channels")); self.inner.unary(req, path, codec).await } - pub async fn channel_open_confirm( + pub async fn connection_channels( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -151,20 +133,23 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenConfirm"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Query/ConnectionChannels", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelOpenConfirm", + "ibc.core.channel.v1.Query", + "ConnectionChannels", )); self.inner.unary(req, path, codec).await } - pub async fn channel_close_init( + pub async fn channel_client_state( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -172,20 +157,21 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelCloseInit"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Query/ChannelClientState", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelCloseInit", + "ibc.core.channel.v1.Query", + "ChannelClientState", )); self.inner.unary(req, path, codec).await } - pub async fn channel_close_confirm( + pub async fn channel_consensus_state( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { @@ -196,19 +182,19 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Msg/ChannelCloseConfirm", + "/ibc.core.channel.v1.Query/ChannelConsensusState", ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelCloseConfirm", + "ibc.core.channel.v1.Query", + "ChannelConsensusState", )); self.inner.unary(req, path, codec).await } - pub async fn recv_packet( + pub async fn packet_commitment( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -217,17 +203,22 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/RecvPacket"); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/PacketCommitment"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "RecvPacket")); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Query", + "PacketCommitment", + )); self.inner.unary(req, path, codec).await } - pub async fn timeout( + pub async fn packet_commitments( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -235,16 +226,20 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/Timeout"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Query/PacketCommitments", + ); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "Timeout")); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Query", + "PacketCommitments", + )); self.inner.unary(req, path, codec).await } - pub async fn timeout_on_close( + pub async fn packet_receipt( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -254,17 +249,21 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/TimeoutOnClose"); + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/PacketReceipt"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "TimeoutOnClose")); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Query", + "PacketReceipt", + )); self.inner.unary(req, path, codec).await } - pub async fn acknowledgement( + pub async fn packet_acknowledgement( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -272,20 +271,23 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/Acknowledgement"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Query/PacketAcknowledgement", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "Acknowledgement", + "ibc.core.channel.v1.Query", + "PacketAcknowledgement", )); self.inner.unary(req, path, codec).await } - pub async fn channel_upgrade_init( + pub async fn packet_acknowledgements( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -293,20 +295,23 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeInit"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Query/PacketAcknowledgements", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeInit", + "ibc.core.channel.v1.Query", + "PacketAcknowledgements", )); self.inner.unary(req, path, codec).await } - pub async fn channel_upgrade_try( + pub async fn unreceived_packets( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -314,19 +319,20 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeTry"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Query/UnreceivedPackets", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeTry", + "ibc.core.channel.v1.Query", + "UnreceivedPackets", )); self.inner.unary(req, path, codec).await } - pub async fn channel_upgrade_ack( + pub async fn unreceived_acks( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -336,19 +342,19 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeAck"); + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/UnreceivedAcks"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeAck", + "ibc.core.channel.v1.Query", + "UnreceivedAcks", )); self.inner.unary(req, path, codec).await } - pub async fn channel_upgrade_confirm( + pub async fn next_sequence_receive( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { @@ -359,19 +365,19 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Msg/ChannelUpgradeConfirm", + "/ibc.core.channel.v1.Query/NextSequenceReceive", ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeConfirm", + "ibc.core.channel.v1.Query", + "NextSequenceReceive", )); self.inner.unary(req, path, codec).await } - pub async fn channel_upgrade_open( + pub async fn next_sequence_send( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -381,45 +387,19 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeOpen"); + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/NextSequenceSend"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeOpen", + "ibc.core.channel.v1.Query", + "NextSequenceSend", )); self.inner.unary(req, path, codec).await } - pub async fn channel_upgrade_timeout( + pub async fn upgrade_error( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Msg/ChannelUpgradeTimeout", - ); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeTimeout", - )); - self.inner.unary(req, path, codec).await - } - pub async fn channel_upgrade_cancel( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -427,20 +407,17 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Msg/ChannelUpgradeCancel", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/UpgradeError"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "ChannelUpgradeCancel", - )); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "UpgradeError")); self.inner.unary(req, path, codec).await } - pub async fn update_channel_params( + pub async fn upgrade( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -449,23 +426,17 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Msg/UpdateChannelParams", - ); + let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/Upgrade"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "UpdateChannelParams", - )); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Upgrade")); self.inner.unary(req, path, codec).await } - pub async fn prune_acknowledgements( + pub async fn channel_params( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -473,13 +444,12 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Msg/PruneAcknowledgements", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/ChannelParams"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Msg", - "PruneAcknowledgements", + "ibc.core.channel.v1.Query", + "ChannelParams", )); self.inner.unary(req, path, codec).await } @@ -487,14 +457,14 @@ pub mod msg_client { } /// Generated client implementations. #[cfg(feature = "client")] -pub mod query_client { +pub mod msg_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; #[derive(Debug, Clone)] - pub struct QueryClient { + pub struct MsgClient { inner: tonic::client::Grpc, } - impl QueryClient { + impl MsgClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -505,7 +475,7 @@ pub mod query_client { Ok(Self::new(conn)) } } - impl QueryClient + impl MsgClient where T: tonic::client::GrpcService, T::Error: Into, @@ -520,10 +490,7 @@ pub mod query_client { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> QueryClient> + pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -536,7 +503,7 @@ pub mod query_client { >>::Error: Into + Send + Sync, { - QueryClient::new(InterceptedService::new(inner, interceptor)) + MsgClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -569,10 +536,10 @@ pub mod query_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn channel( + pub async fn channel_open_init( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -581,16 +548,38 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/Channel"); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenInit"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Msg", + "ChannelOpenInit", + )); + self.inner.unary(req, path, codec).await + } + pub async fn channel_open_try( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenTry"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channel")); + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenTry")); self.inner.unary(req, path, codec).await } - pub async fn channels( + pub async fn channel_open_ack( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -599,19 +588,18 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/Channels"); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenAck"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channels")); + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenAck")); self.inner.unary(req, path, codec).await } - pub async fn connection_channels( + pub async fn channel_open_confirm( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -619,23 +607,20 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/ConnectionChannels", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelOpenConfirm"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "ConnectionChannels", + "ibc.core.channel.v1.Msg", + "ChannelOpenConfirm", )); self.inner.unary(req, path, codec).await } - pub async fn channel_client_state( + pub async fn channel_close_init( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -643,21 +628,20 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/ChannelClientState", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelCloseInit"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "ChannelClientState", + "ibc.core.channel.v1.Msg", + "ChannelCloseInit", )); self.inner.unary(req, path, codec).await } - pub async fn channel_consensus_state( + pub async fn channel_close_confirm( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { @@ -668,19 +652,19 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/ChannelConsensusState", + "/ibc.core.channel.v1.Msg/ChannelCloseConfirm", ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "ChannelConsensusState", + "ibc.core.channel.v1.Msg", + "ChannelCloseConfirm", )); self.inner.unary(req, path, codec).await } - pub async fn packet_commitment( + pub async fn recv_packet( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -689,22 +673,17 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/PacketCommitment"); + let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/RecvPacket"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "PacketCommitment", - )); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "RecvPacket")); self.inner.unary(req, path, codec).await } - pub async fn packet_commitments( + pub async fn timeout( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -712,20 +691,16 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/PacketCommitments", - ); + let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/Timeout"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "PacketCommitments", - )); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "Timeout")); self.inner.unary(req, path, codec).await } - pub async fn packet_receipt( + pub async fn timeout_on_close( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -735,21 +710,17 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/PacketReceipt"); + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/TimeoutOnClose"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "PacketReceipt", - )); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "TimeoutOnClose")); self.inner.unary(req, path, codec).await } - pub async fn packet_acknowledgement( + pub async fn acknowledgement( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -757,23 +728,20 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/PacketAcknowledgement", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/Acknowledgement"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "PacketAcknowledgement", + "ibc.core.channel.v1.Msg", + "Acknowledgement", )); self.inner.unary(req, path, codec).await } - pub async fn packet_acknowledgements( + pub async fn channel_upgrade_init( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -781,23 +749,20 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/PacketAcknowledgements", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeInit"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "PacketAcknowledgements", + "ibc.core.channel.v1.Msg", + "ChannelUpgradeInit", )); self.inner.unary(req, path, codec).await } - pub async fn unreceived_packets( + pub async fn channel_upgrade_try( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -805,20 +770,19 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/UnreceivedPackets", - ); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeTry"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "UnreceivedPackets", + "ibc.core.channel.v1.Msg", + "ChannelUpgradeTry", )); self.inner.unary(req, path, codec).await } - pub async fn unreceived_acks( + pub async fn channel_upgrade_ack( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -828,19 +792,19 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/UnreceivedAcks"); + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeAck"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "UnreceivedAcks", + "ibc.core.channel.v1.Msg", + "ChannelUpgradeAck", )); self.inner.unary(req, path, codec).await } - pub async fn next_sequence_receive( + pub async fn channel_upgrade_confirm( &mut self, - request: impl tonic::IntoRequest, + request: impl tonic::IntoRequest, ) -> std::result::Result< - tonic::Response, + tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { @@ -851,19 +815,19 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( - "/ibc.core.channel.v1.Query/NextSequenceReceive", + "/ibc.core.channel.v1.Msg/ChannelUpgradeConfirm", ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "NextSequenceReceive", + "ibc.core.channel.v1.Msg", + "ChannelUpgradeConfirm", )); self.inner.unary(req, path, codec).await } - pub async fn next_sequence_send( + pub async fn channel_upgrade_open( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -873,19 +837,21 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/NextSequenceSend"); + http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Msg/ChannelUpgradeOpen"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "NextSequenceSend", + "ibc.core.channel.v1.Msg", + "ChannelUpgradeOpen", )); self.inner.unary(req, path, codec).await } - pub async fn upgrade_error( + pub async fn channel_upgrade_timeout( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -893,18 +859,23 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/UpgradeError"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Msg/ChannelUpgradeTimeout", + ); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "UpgradeError")); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Msg", + "ChannelUpgradeTimeout", + )); self.inner.unary(req, path, codec).await } - pub async fn upgrade( + pub async fn channel_upgrade_cancel( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -912,16 +883,20 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/Upgrade"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Msg/ChannelUpgradeCancel", + ); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Upgrade")); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Msg", + "ChannelUpgradeCancel", + )); self.inner.unary(req, path, codec).await } - pub async fn channel_params( + pub async fn update_channel_params( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -930,12 +905,37 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.channel.v1.Query/ChannelParams"); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Msg/UpdateChannelParams", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.channel.v1.Query", - "ChannelParams", + "ibc.core.channel.v1.Msg", + "UpdateChannelParams", + )); + self.inner.unary(req, path, codec).await + } + pub async fn prune_acknowledgements( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.channel.v1.Msg/PruneAcknowledgements", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.channel.v1.Msg", + "PruneAcknowledgements", )); self.inner.unary(req, path, codec).await } diff --git a/generated/rust/protos/src/ibc.core.client.v1.rs b/generated/rust/protos/src/ibc.core.client.v1.rs index 64c70a34eb..4e9b8b770f 100644 --- a/generated/rust/protos/src/ibc.core.client.v1.rs +++ b/generated/rust/protos/src/ibc.core.client.v1.rs @@ -236,653 +236,653 @@ impl ::prost::Name for IdentifiedGenesisMetadata { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgCreateClient defines a message to create an IBC client +/// QueryClientStateRequest is the request type for the Query/ClientState RPC +/// method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCreateClient { - /// light client state - #[prost(message, optional, tag = "1")] - pub client_state: ::core::option::Option<::pbjson_types::Any>, - /// consensus state associated with the client that corresponds to a given - /// height. - #[prost(message, optional, tag = "2")] - pub consensus_state: ::core::option::Option<::pbjson_types::Any>, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, +pub struct QueryClientStateRequest { + /// client state unique identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, } -impl ::prost::Name for MsgCreateClient { - const NAME: &'static str = "MsgCreateClient"; +impl ::prost::Name for QueryClientStateRequest { + const NAME: &'static str = "QueryClientStateRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgCreateClientResponse defines the Msg/CreateClient response type. +/// QueryClientStateResponse is the response type for the Query/ClientState RPC +/// method. Besides the client state, it includes a proof and the height from +/// which the proof was retrieved. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCreateClientResponse {} -impl ::prost::Name for MsgCreateClientResponse { - const NAME: &'static str = "MsgCreateClientResponse"; +pub struct QueryClientStateResponse { + /// client state associated with the request identifier + #[prost(message, optional, tag = "1")] + pub client_state: ::core::option::Option<::pbjson_types::Any>, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryClientStateResponse { + const NAME: &'static str = "QueryClientStateResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgUpdateClient defines an sdk.Msg to update a IBC client state using -/// the given client message. +/// QueryClientStatesRequest is the request type for the Query/ClientStates RPC +/// method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateClient { - /// client unique identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// client message to update the light client - #[prost(message, optional, tag = "2")] - pub client_message: ::core::option::Option<::pbjson_types::Any>, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, +pub struct QueryClientStatesRequest { + /// pagination request + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, } -impl ::prost::Name for MsgUpdateClient { - const NAME: &'static str = "MsgUpdateClient"; +impl ::prost::Name for QueryClientStatesRequest { + const NAME: &'static str = "QueryClientStatesRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgUpdateClientResponse defines the Msg/UpdateClient response type. +/// QueryClientStatesResponse is the response type for the Query/ClientStates RPC +/// method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateClientResponse {} -impl ::prost::Name for MsgUpdateClientResponse { - const NAME: &'static str = "MsgUpdateClientResponse"; +pub struct QueryClientStatesResponse { + /// list of stored ClientStates of the chain. + #[prost(message, repeated, tag = "1")] + pub client_states: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryClientStatesResponse { + const NAME: &'static str = "QueryClientStatesResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client -/// state +/// QueryConsensusStateRequest is the request type for the Query/ConsensusState +/// RPC method. Besides the consensus state, it includes a proof and the height +/// from which the proof was retrieved. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpgradeClient { - /// client unique identifier +pub struct QueryConsensusStateRequest { + /// client identifier #[prost(string, tag = "1")] pub client_id: ::prost::alloc::string::String, - /// upgraded client state - #[prost(message, optional, tag = "2")] - pub client_state: ::core::option::Option<::pbjson_types::Any>, - /// upgraded consensus state, only contains enough information to serve as a - /// basis of trust in update logic - #[prost(message, optional, tag = "3")] - pub consensus_state: ::core::option::Option<::pbjson_types::Any>, - /// proof that old chain committed to new client - #[prost(bytes = "vec", tag = "4")] - pub proof_upgrade_client: ::prost::alloc::vec::Vec, - /// proof that old chain committed to new consensus state - #[prost(bytes = "vec", tag = "5")] - pub proof_upgrade_consensus_state: ::prost::alloc::vec::Vec, - /// signer address - #[prost(string, tag = "6")] - pub signer: ::prost::alloc::string::String, + /// consensus state revision number + #[prost(uint64, tag = "2")] + pub revision_number: u64, + /// consensus state revision height + #[prost(uint64, tag = "3")] + pub revision_height: u64, + /// latest_height overrrides the height field and queries the latest stored + /// ConsensusState + #[prost(bool, tag = "4")] + pub latest_height: bool, } -impl ::prost::Name for MsgUpgradeClient { - const NAME: &'static str = "MsgUpgradeClient"; +impl ::prost::Name for QueryConsensusStateRequest { + const NAME: &'static str = "QueryConsensusStateRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. +/// QueryConsensusStateResponse is the response type for the Query/ConsensusState +/// RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpgradeClientResponse {} -impl ::prost::Name for MsgUpgradeClientResponse { - const NAME: &'static str = "MsgUpgradeClientResponse"; +pub struct QueryConsensusStateResponse { + /// consensus state associated with the client identifier at the given height + #[prost(message, optional, tag = "1")] + pub consensus_state: ::core::option::Option<::pbjson_types::Any>, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was retrieved + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryConsensusStateResponse { + const NAME: &'static str = "QueryConsensusStateResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for -/// light client misbehaviour. -/// This message has been deprecated. Use MsgUpdateClient instead. +/// QueryConsensusStatesRequest is the request type for the Query/ConsensusStates +/// RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitMisbehaviour { - /// client unique identifier +pub struct QueryConsensusStatesRequest { + /// client identifier #[prost(string, tag = "1")] pub client_id: ::prost::alloc::string::String, - /// misbehaviour used for freezing the light client + /// pagination request #[prost(message, optional, tag = "2")] - pub misbehaviour: ::core::option::Option<::pbjson_types::Any>, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, } -impl ::prost::Name for MsgSubmitMisbehaviour { - const NAME: &'static str = "MsgSubmitMisbehaviour"; +impl ::prost::Name for QueryConsensusStatesRequest { + const NAME: &'static str = "QueryConsensusStatesRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response -/// type. +/// QueryConsensusStatesResponse is the response type for the +/// Query/ConsensusStates RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitMisbehaviourResponse {} -impl ::prost::Name for MsgSubmitMisbehaviourResponse { - const NAME: &'static str = "MsgSubmitMisbehaviourResponse"; +pub struct QueryConsensusStatesResponse { + /// consensus states associated with the identifier + #[prost(message, repeated, tag = "1")] + pub consensus_states: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryConsensusStatesResponse { + const NAME: &'static str = "QueryConsensusStatesResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgRecoverClient defines the message used to recover a frozen or expired client. +/// QueryConsensusStateHeightsRequest is the request type for Query/ConsensusStateHeights +/// RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRecoverClient { - /// the client identifier for the client to be updated if the proposal passes +pub struct QueryConsensusStateHeightsRequest { + /// client identifier #[prost(string, tag = "1")] - pub subject_client_id: ::prost::alloc::string::String, - /// the substitute client identifier for the client which will replace the subject - /// client - #[prost(string, tag = "2")] - pub substitute_client_id: ::prost::alloc::string::String, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, + pub client_id: ::prost::alloc::string::String, + /// pagination request + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, } -impl ::prost::Name for MsgRecoverClient { - const NAME: &'static str = "MsgRecoverClient"; +impl ::prost::Name for QueryConsensusStateHeightsRequest { + const NAME: &'static str = "QueryConsensusStateHeightsRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgRecoverClientResponse defines the Msg/RecoverClient response type. +/// QueryConsensusStateHeightsResponse is the response type for the +/// Query/ConsensusStateHeights RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRecoverClientResponse {} -impl ::prost::Name for MsgRecoverClientResponse { - const NAME: &'static str = "MsgRecoverClientResponse"; +pub struct QueryConsensusStateHeightsResponse { + /// consensus state heights + #[prost(message, repeated, tag = "1")] + pub consensus_state_heights: ::prost::alloc::vec::Vec, + /// pagination response + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryConsensusStateHeightsResponse { + const NAME: &'static str = "QueryConsensusStateHeightsResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal +/// QueryClientStatusRequest is the request type for the Query/ClientStatus RPC +/// method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgIbcSoftwareUpgrade { - /// An UpgradedClientState must be provided to perform an IBC breaking upgrade. - /// This will make the chain commit to the correct upgraded (self) client state - /// before the upgrade occurs, so that connecting chains can verify that the - /// new upgraded client is valid by verifying a proof on the previous version - /// of the chain. This will allow IBC connections to persist smoothly across - /// planned chain upgrades. Correspondingly, the UpgradedClientState field has been - /// deprecated in the Cosmos SDK to allow for this logic to exist solely in - /// the 02-client module. - #[prost(message, optional, tag = "2")] - pub upgraded_client_state: ::core::option::Option<::pbjson_types::Any>, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, +pub struct QueryClientStatusRequest { + /// client unique identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, } -impl ::prost::Name for MsgIbcSoftwareUpgrade { - const NAME: &'static str = "MsgIBCSoftwareUpgrade"; +impl ::prost::Name for QueryClientStatusRequest { + const NAME: &'static str = "QueryClientStatusRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type. +/// QueryClientStatusResponse is the response type for the Query/ClientStatus RPC +/// method. It returns the current status of the IBC client. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgIbcSoftwareUpgradeResponse {} -impl ::prost::Name for MsgIbcSoftwareUpgradeResponse { - const NAME: &'static str = "MsgIBCSoftwareUpgradeResponse"; +pub struct QueryClientStatusResponse { + #[prost(string, tag = "1")] + pub status: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryClientStatusResponse { + const NAME: &'static str = "QueryClientStatusResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgUpdateParams defines the sdk.Msg type to update the client parameters. +/// QueryClientParamsRequest is the request type for the Query/ClientParams RPC +/// method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParams { - /// signer address - #[prost(string, tag = "1")] - pub signer: ::prost::alloc::string::String, - /// params defines the client parameters to update. - /// - /// NOTE: All parameters must be supplied. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -impl ::prost::Name for MsgUpdateParams { - const NAME: &'static str = "MsgUpdateParams"; +pub struct QueryClientParamsRequest {} +impl ::prost::Name for QueryClientParamsRequest { + const NAME: &'static str = "QueryClientParamsRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// MsgUpdateParamsResponse defines the MsgUpdateParams response type. +/// QueryClientParamsResponse is the response type for the Query/ClientParams RPC +/// method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUpdateParamsResponse {} -impl ::prost::Name for MsgUpdateParamsResponse { - const NAME: &'static str = "MsgUpdateParamsResponse"; +pub struct QueryClientParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +impl ::prost::Name for QueryClientParamsResponse { + const NAME: &'static str = "QueryClientParamsResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientStateRequest is the request type for the Query/ClientState RPC -/// method +/// QueryUpgradedClientStateRequest is the request type for the +/// Query/UpgradedClientState RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStateRequest { - /// client state unique identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryClientStateRequest { - const NAME: &'static str = "QueryClientStateRequest"; +pub struct QueryUpgradedClientStateRequest {} +impl ::prost::Name for QueryUpgradedClientStateRequest { + const NAME: &'static str = "QueryUpgradedClientStateRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientStateResponse is the response type for the Query/ClientState RPC -/// method. Besides the client state, it includes a proof and the height from -/// which the proof was retrieved. +/// QueryUpgradedClientStateResponse is the response type for the +/// Query/UpgradedClientState RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStateResponse { +pub struct QueryUpgradedClientStateResponse { /// client state associated with the request identifier #[prost(message, optional, tag = "1")] - pub client_state: ::core::option::Option<::pbjson_types::Any>, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, + pub upgraded_client_state: ::core::option::Option<::pbjson_types::Any>, } -impl ::prost::Name for QueryClientStateResponse { - const NAME: &'static str = "QueryClientStateResponse"; +impl ::prost::Name for QueryUpgradedClientStateResponse { + const NAME: &'static str = "QueryUpgradedClientStateResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientStatesRequest is the request type for the Query/ClientStates RPC -/// method +/// QueryUpgradedConsensusStateRequest is the request type for the +/// Query/UpgradedConsensusState RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStatesRequest { - /// pagination request - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryClientStatesRequest { - const NAME: &'static str = "QueryClientStatesRequest"; +pub struct QueryUpgradedConsensusStateRequest {} +impl ::prost::Name for QueryUpgradedConsensusStateRequest { + const NAME: &'static str = "QueryUpgradedConsensusStateRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientStatesResponse is the response type for the Query/ClientStates RPC -/// method. +/// QueryUpgradedConsensusStateResponse is the response type for the +/// Query/UpgradedConsensusState RPC method. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStatesResponse { - /// list of stored ClientStates of the chain. - #[prost(message, repeated, tag = "1")] - pub client_states: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, +pub struct QueryUpgradedConsensusStateResponse { + /// Consensus state associated with the request identifier + #[prost(message, optional, tag = "1")] + pub upgraded_consensus_state: ::core::option::Option<::pbjson_types::Any>, } -impl ::prost::Name for QueryClientStatesResponse { - const NAME: &'static str = "QueryClientStatesResponse"; +impl ::prost::Name for QueryUpgradedConsensusStateResponse { + const NAME: &'static str = "QueryUpgradedConsensusStateResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryConsensusStateRequest is the request type for the Query/ConsensusState -/// RPC method. Besides the consensus state, it includes a proof and the height -/// from which the proof was retrieved. +/// QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsensusStateRequest { - /// client identifier +pub struct QueryVerifyMembershipRequest { + /// client unique identifier. #[prost(string, tag = "1")] pub client_id: ::prost::alloc::string::String, - /// consensus state revision number - #[prost(uint64, tag = "2")] - pub revision_number: u64, - /// consensus state revision height - #[prost(uint64, tag = "3")] - pub revision_height: u64, - /// latest_height overrrides the height field and queries the latest stored - /// ConsensusState - #[prost(bool, tag = "4")] - pub latest_height: bool, + /// the proof to be verified by the client. + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// the height of the commitment root at which the proof is verified. + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, + /// the commitment key path. + #[prost(message, optional, tag = "4")] + pub merkle_path: ::core::option::Option, + /// the value which is proven. + #[prost(bytes = "vec", tag = "5")] + pub value: ::prost::alloc::vec::Vec, + /// optional time delay + #[prost(uint64, tag = "6")] + pub time_delay: u64, + /// optional block delay + #[prost(uint64, tag = "7")] + pub block_delay: u64, } -impl ::prost::Name for QueryConsensusStateRequest { - const NAME: &'static str = "QueryConsensusStateRequest"; +impl ::prost::Name for QueryVerifyMembershipRequest { + const NAME: &'static str = "QueryVerifyMembershipRequest"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryConsensusStateResponse is the response type for the Query/ConsensusState -/// RPC method +/// QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsensusStateResponse { - /// consensus state associated with the client identifier at the given height - #[prost(message, optional, tag = "1")] - pub consensus_state: ::core::option::Option<::pbjson_types::Any>, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was retrieved - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, +pub struct QueryVerifyMembershipResponse { + /// boolean indicating success or failure of proof verification. + #[prost(bool, tag = "1")] + pub success: bool, } -impl ::prost::Name for QueryConsensusStateResponse { - const NAME: &'static str = "QueryConsensusStateResponse"; +impl ::prost::Name for QueryVerifyMembershipResponse { + const NAME: &'static str = "QueryVerifyMembershipResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryConsensusStatesRequest is the request type for the Query/ConsensusStates -/// RPC method. +/// MsgCreateClient defines a message to create an IBC client #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsensusStatesRequest { - /// client identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// pagination request - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, +pub struct MsgCreateClient { + /// light client state + #[prost(message, optional, tag = "1")] + pub client_state: ::core::option::Option<::pbjson_types::Any>, + /// consensus state associated with the client that corresponds to a given + /// height. + #[prost(message, optional, tag = "2")] + pub consensus_state: ::core::option::Option<::pbjson_types::Any>, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryConsensusStatesRequest { - const NAME: &'static str = "QueryConsensusStatesRequest"; +impl ::prost::Name for MsgCreateClient { + const NAME: &'static str = "MsgCreateClient"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryConsensusStatesResponse is the response type for the -/// Query/ConsensusStates RPC method +/// MsgCreateClientResponse defines the Msg/CreateClient response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsensusStatesResponse { - /// consensus states associated with the identifier - #[prost(message, repeated, tag = "1")] - pub consensus_states: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryConsensusStatesResponse { - const NAME: &'static str = "QueryConsensusStatesResponse"; +pub struct MsgCreateClientResponse {} +impl ::prost::Name for MsgCreateClientResponse { + const NAME: &'static str = "MsgCreateClientResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryConsensusStateHeightsRequest is the request type for Query/ConsensusStateHeights -/// RPC method. +/// MsgUpdateClient defines an sdk.Msg to update a IBC client state using +/// the given client message. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsensusStateHeightsRequest { - /// client identifier +pub struct MsgUpdateClient { + /// client unique identifier #[prost(string, tag = "1")] pub client_id: ::prost::alloc::string::String, - /// pagination request + /// client message to update the light client #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, + pub client_message: ::core::option::Option<::pbjson_types::Any>, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryConsensusStateHeightsRequest { - const NAME: &'static str = "QueryConsensusStateHeightsRequest"; +impl ::prost::Name for MsgUpdateClient { + const NAME: &'static str = "MsgUpdateClient"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryConsensusStateHeightsResponse is the response type for the -/// Query/ConsensusStateHeights RPC method +/// MsgUpdateClientResponse defines the Msg/UpdateClient response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsensusStateHeightsResponse { - /// consensus state heights - #[prost(message, repeated, tag = "1")] - pub consensus_state_heights: ::prost::alloc::vec::Vec, - /// pagination response - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryConsensusStateHeightsResponse { - const NAME: &'static str = "QueryConsensusStateHeightsResponse"; +pub struct MsgUpdateClientResponse {} +impl ::prost::Name for MsgUpdateClientResponse { + const NAME: &'static str = "MsgUpdateClientResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientStatusRequest is the request type for the Query/ClientStatus RPC -/// method +/// MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client +/// state #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStatusRequest { +pub struct MsgUpgradeClient { /// client unique identifier #[prost(string, tag = "1")] pub client_id: ::prost::alloc::string::String, + /// upgraded client state + #[prost(message, optional, tag = "2")] + pub client_state: ::core::option::Option<::pbjson_types::Any>, + /// upgraded consensus state, only contains enough information to serve as a + /// basis of trust in update logic + #[prost(message, optional, tag = "3")] + pub consensus_state: ::core::option::Option<::pbjson_types::Any>, + /// proof that old chain committed to new client + #[prost(bytes = "vec", tag = "4")] + pub proof_upgrade_client: ::prost::alloc::vec::Vec, + /// proof that old chain committed to new consensus state + #[prost(bytes = "vec", tag = "5")] + pub proof_upgrade_consensus_state: ::prost::alloc::vec::Vec, + /// signer address + #[prost(string, tag = "6")] + pub signer: ::prost::alloc::string::String, } -impl ::prost::Name for QueryClientStatusRequest { - const NAME: &'static str = "QueryClientStatusRequest"; +impl ::prost::Name for MsgUpgradeClient { + const NAME: &'static str = "MsgUpgradeClient"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientStatusResponse is the response type for the Query/ClientStatus RPC -/// method. It returns the current status of the IBC client. +/// MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStatusResponse { - #[prost(string, tag = "1")] - pub status: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryClientStatusResponse { - const NAME: &'static str = "QueryClientStatusResponse"; +pub struct MsgUpgradeClientResponse {} +impl ::prost::Name for MsgUpgradeClientResponse { + const NAME: &'static str = "MsgUpgradeClientResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientParamsRequest is the request type for the Query/ClientParams RPC -/// method. +/// MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for +/// light client misbehaviour. +/// This message has been deprecated. Use MsgUpdateClient instead. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientParamsRequest {} -impl ::prost::Name for QueryClientParamsRequest { - const NAME: &'static str = "QueryClientParamsRequest"; +pub struct MsgSubmitMisbehaviour { + /// client unique identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// misbehaviour used for freezing the light client + #[prost(message, optional, tag = "2")] + pub misbehaviour: ::core::option::Option<::pbjson_types::Any>, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgSubmitMisbehaviour { + const NAME: &'static str = "MsgSubmitMisbehaviour"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryClientParamsResponse is the response type for the Query/ClientParams RPC -/// method. +/// MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response +/// type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientParamsResponse { - /// params defines the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -impl ::prost::Name for QueryClientParamsResponse { - const NAME: &'static str = "QueryClientParamsResponse"; +pub struct MsgSubmitMisbehaviourResponse {} +impl ::prost::Name for MsgSubmitMisbehaviourResponse { + const NAME: &'static str = "MsgSubmitMisbehaviourResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryUpgradedClientStateRequest is the request type for the -/// Query/UpgradedClientState RPC method +/// MsgRecoverClient defines the message used to recover a frozen or expired client. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradedClientStateRequest {} -impl ::prost::Name for QueryUpgradedClientStateRequest { - const NAME: &'static str = "QueryUpgradedClientStateRequest"; +pub struct MsgRecoverClient { + /// the client identifier for the client to be updated if the proposal passes + #[prost(string, tag = "1")] + pub subject_client_id: ::prost::alloc::string::String, + /// the substitute client identifier for the client which will replace the subject + /// client + #[prost(string, tag = "2")] + pub substitute_client_id: ::prost::alloc::string::String, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgRecoverClient { + const NAME: &'static str = "MsgRecoverClient"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryUpgradedClientStateResponse is the response type for the -/// Query/UpgradedClientState RPC method. +/// MsgRecoverClientResponse defines the Msg/RecoverClient response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradedClientStateResponse { - /// client state associated with the request identifier - #[prost(message, optional, tag = "1")] - pub upgraded_client_state: ::core::option::Option<::pbjson_types::Any>, -} -impl ::prost::Name for QueryUpgradedClientStateResponse { - const NAME: &'static str = "QueryUpgradedClientStateResponse"; +pub struct MsgRecoverClientResponse {} +impl ::prost::Name for MsgRecoverClientResponse { + const NAME: &'static str = "MsgRecoverClientResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryUpgradedConsensusStateRequest is the request type for the -/// Query/UpgradedConsensusState RPC method +/// MsgIBCSoftwareUpgrade defines the message used to schedule an upgrade of an IBC client using a v1 governance proposal #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradedConsensusStateRequest {} -impl ::prost::Name for QueryUpgradedConsensusStateRequest { - const NAME: &'static str = "QueryUpgradedConsensusStateRequest"; +pub struct MsgIbcSoftwareUpgrade { + /// An UpgradedClientState must be provided to perform an IBC breaking upgrade. + /// This will make the chain commit to the correct upgraded (self) client state + /// before the upgrade occurs, so that connecting chains can verify that the + /// new upgraded client is valid by verifying a proof on the previous version + /// of the chain. This will allow IBC connections to persist smoothly across + /// planned chain upgrades. Correspondingly, the UpgradedClientState field has been + /// deprecated in the Cosmos SDK to allow for this logic to exist solely in + /// the 02-client module. + #[prost(message, optional, tag = "2")] + pub upgraded_client_state: ::core::option::Option<::pbjson_types::Any>, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgIbcSoftwareUpgrade { + const NAME: &'static str = "MsgIBCSoftwareUpgrade"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryUpgradedConsensusStateResponse is the response type for the -/// Query/UpgradedConsensusState RPC method. +/// MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryUpgradedConsensusStateResponse { - /// Consensus state associated with the request identifier - #[prost(message, optional, tag = "1")] - pub upgraded_consensus_state: ::core::option::Option<::pbjson_types::Any>, -} -impl ::prost::Name for QueryUpgradedConsensusStateResponse { - const NAME: &'static str = "QueryUpgradedConsensusStateResponse"; +pub struct MsgIbcSoftwareUpgradeResponse {} +impl ::prost::Name for MsgIbcSoftwareUpgradeResponse { + const NAME: &'static str = "MsgIBCSoftwareUpgradeResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryVerifyMembershipRequest is the request type for the Query/VerifyMembership RPC method +/// MsgUpdateParams defines the sdk.Msg type to update the client parameters. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVerifyMembershipRequest { - /// client unique identifier. +pub struct MsgUpdateParams { + /// signer address #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// the proof to be verified by the client. - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// the height of the commitment root at which the proof is verified. - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, - /// the commitment key path. - #[prost(message, optional, tag = "4")] - pub merkle_path: ::core::option::Option, - /// the value which is proven. - #[prost(bytes = "vec", tag = "5")] - pub value: ::prost::alloc::vec::Vec, - /// optional time delay - #[prost(uint64, tag = "6")] - pub time_delay: u64, - /// optional block delay - #[prost(uint64, tag = "7")] - pub block_delay: u64, + pub signer: ::prost::alloc::string::String, + /// params defines the client parameters to update. + /// + /// NOTE: All parameters must be supplied. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, } -impl ::prost::Name for QueryVerifyMembershipRequest { - const NAME: &'static str = "QueryVerifyMembershipRequest"; +impl ::prost::Name for MsgUpdateParams { + const NAME: &'static str = "MsgUpdateParams"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) } } -/// QueryVerifyMembershipResponse is the response type for the Query/VerifyMembership RPC method +/// MsgUpdateParamsResponse defines the MsgUpdateParams response type. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVerifyMembershipResponse { - /// boolean indicating success or failure of proof verification. - #[prost(bool, tag = "1")] - pub success: bool, -} -impl ::prost::Name for QueryVerifyMembershipResponse { - const NAME: &'static str = "QueryVerifyMembershipResponse"; +pub struct MsgUpdateParamsResponse {} +impl ::prost::Name for MsgUpdateParamsResponse { + const NAME: &'static str = "MsgUpdateParamsResponse"; const PACKAGE: &'static str = "ibc.core.client.v1"; fn full_name() -> ::prost::alloc::string::String { ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) diff --git a/generated/rust/protos/src/ibc.core.client.v1.tonic.rs b/generated/rust/protos/src/ibc.core.client.v1.tonic.rs index f8f17d1d0e..5372f3e7ef 100644 --- a/generated/rust/protos/src/ibc.core.client.v1.tonic.rs +++ b/generated/rust/protos/src/ibc.core.client.v1.tonic.rs @@ -1,14 +1,14 @@ // @generated /// Generated client implementations. #[cfg(feature = "client")] -pub mod msg_client { +pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; #[derive(Debug, Clone)] - pub struct MsgClient { + pub struct QueryClient { inner: tonic::client::Grpc, } - impl MsgClient { + impl QueryClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -19,7 +19,7 @@ pub mod msg_client { Ok(Self::new(conn)) } } - impl MsgClient + impl QueryClient where T: tonic::client::GrpcService, T::Error: Into, @@ -34,7 +34,10 @@ pub mod msg_client { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> QueryClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -47,7 +50,7 @@ pub mod msg_client { >>::Error: Into + Send + Sync, { - MsgClient::new(InterceptedService::new(inner, interceptor)) + QueryClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -80,10 +83,10 @@ pub mod msg_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn create_client( + pub async fn client_state( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -92,16 +95,17 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/CreateClient"); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientState"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "CreateClient")); + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientState")); self.inner.unary(req, path, codec).await } - pub async fn update_client( + pub async fn client_states( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -110,16 +114,17 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpdateClient"); + let path = + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientStates"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpdateClient")); + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStates")); self.inner.unary(req, path, codec).await } - pub async fn upgrade_client( + pub async fn consensus_state( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -129,16 +134,18 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpgradeClient"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ConsensusState"); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpgradeClient")); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.client.v1.Query", + "ConsensusState", + )); self.inner.unary(req, path, codec).await } - pub async fn submit_misbehaviour( + pub async fn consensus_states( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -148,18 +155,42 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/SubmitMisbehaviour"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ConsensusStates"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Msg", - "SubmitMisbehaviour", + "ibc.core.client.v1.Query", + "ConsensusStates", )); self.inner.unary(req, path, codec).await } - pub async fn recover_client( + pub async fn consensus_state_heights( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.client.v1.Query/ConsensusStateHeights", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.client.v1.Query", + "ConsensusStateHeights", + )); + self.inner.unary(req, path, codec).await + } + pub async fn client_status( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -169,16 +200,16 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/RecoverClient"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientStatus"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "RecoverClient")); + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStatus")); self.inner.unary(req, path, codec).await } - pub async fn ibc_software_upgrade( + pub async fn client_params( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -188,18 +219,64 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/IBCSoftwareUpgrade"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientParams"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientParams")); + self.inner.unary(req, path, codec).await + } + pub async fn upgraded_client_state( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.client.v1.Query/UpgradedClientState", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Msg", - "IBCSoftwareUpgrade", + "ibc.core.client.v1.Query", + "UpgradedClientState", )); self.inner.unary(req, path, codec).await } - pub async fn update_client_params( + pub async fn upgraded_consensus_state( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/ibc.core.client.v1.Query/UpgradedConsensusState", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new( + "ibc.core.client.v1.Query", + "UpgradedConsensusState", + )); + self.inner.unary(req, path, codec).await + } + pub async fn verify_membership( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -209,11 +286,11 @@ pub mod msg_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpdateClientParams"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/VerifyMembership"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Msg", - "UpdateClientParams", + "ibc.core.client.v1.Query", + "VerifyMembership", )); self.inner.unary(req, path, codec).await } @@ -221,14 +298,14 @@ pub mod msg_client { } /// Generated client implementations. #[cfg(feature = "client")] -pub mod query_client { +pub mod msg_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; #[derive(Debug, Clone)] - pub struct QueryClient { + pub struct MsgClient { inner: tonic::client::Grpc, } - impl QueryClient { + impl MsgClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -239,7 +316,7 @@ pub mod query_client { Ok(Self::new(conn)) } } - impl QueryClient + impl MsgClient where T: tonic::client::GrpcService, T::Error: Into, @@ -254,10 +331,7 @@ pub mod query_client { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> QueryClient> + pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -270,7 +344,7 @@ pub mod query_client { >>::Error: Into + Send + Sync, { - QueryClient::new(InterceptedService::new(inner, interceptor)) + MsgClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -303,10 +377,10 @@ pub mod query_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn client_state( + pub async fn create_client( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -315,17 +389,16 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientState"); + let path = http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/CreateClient"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientState")); + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "CreateClient")); self.inner.unary(req, path, codec).await } - pub async fn client_states( + pub async fn update_client( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -334,17 +407,16 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientStates"); + let path = http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpdateClient"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStates")); + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpdateClient")); self.inner.unary(req, path, codec).await } - pub async fn consensus_state( + pub async fn upgrade_client( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -354,18 +426,16 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ConsensusState"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpgradeClient"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Query", - "ConsensusState", - )); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpgradeClient")); self.inner.unary(req, path, codec).await } - pub async fn consensus_states( + pub async fn submit_misbehaviour( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -375,42 +445,18 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ConsensusStates"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Query", - "ConsensusStates", - )); - self.inner.unary(req, path, codec).await - } - pub async fn consensus_state_heights( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.client.v1.Query/ConsensusStateHeights", - ); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/SubmitMisbehaviour"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Query", - "ConsensusStateHeights", + "ibc.core.client.v1.Msg", + "SubmitMisbehaviour", )); self.inner.unary(req, path, codec).await } - pub async fn client_status( + pub async fn recover_client( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -420,16 +466,16 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientStatus"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/RecoverClient"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStatus")); + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "RecoverClient")); self.inner.unary(req, path, codec).await } - pub async fn client_params( + pub async fn ibc_software_upgrade( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -439,64 +485,18 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/ClientParams"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientParams")); - self.inner.unary(req, path, codec).await - } - pub async fn upgraded_client_state( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.client.v1.Query/UpgradedClientState", - ); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Query", - "UpgradedClientState", - )); - self.inner.unary(req, path, codec).await - } - pub async fn upgraded_consensus_state( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/ibc.core.client.v1.Query/UpgradedConsensusState", - ); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/IBCSoftwareUpgrade"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Query", - "UpgradedConsensusState", + "ibc.core.client.v1.Msg", + "IBCSoftwareUpgrade", )); self.inner.unary(req, path, codec).await } - pub async fn verify_membership( + pub async fn update_client_params( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -506,11 +506,11 @@ pub mod query_client { })?; let codec = tonic::codec::ProstCodec::default(); let path = - http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Query/VerifyMembership"); + http::uri::PathAndQuery::from_static("/ibc.core.client.v1.Msg/UpdateClientParams"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "ibc.core.client.v1.Query", - "VerifyMembership", + "ibc.core.client.v1.Msg", + "UpdateClientParams", )); self.inner.unary(req, path, codec).await } diff --git a/generated/rust/protos/src/ibc.core.connection.v1.rs b/generated/rust/protos/src/ibc.core.connection.v1.rs index 875314fe67..47f9214a88 100644 --- a/generated/rust/protos/src/ibc.core.connection.v1.rs +++ b/generated/rust/protos/src/ibc.core.connection.v1.rs @@ -443,28 +443,6 @@ impl ::prost::Name for QueryConnectionParamsResponse { ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) } } -/// GenesisState defines the ibc connection submodule's genesis state. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - #[prost(message, repeated, tag = "1")] - pub connections: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "2")] - pub client_connection_paths: ::prost::alloc::vec::Vec, - /// the sequence for the next generated connection identifier - #[prost(uint64, tag = "3")] - pub next_connection_sequence: u64, - #[prost(message, optional, tag = "4")] - pub params: ::core::option::Option, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} /// MsgConnectionOpenInit defines the msg sent by an account on Chain A to /// initialize a connection with Chain B. #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] @@ -693,5 +671,27 @@ impl ::prost::Name for MsgUpdateParamsResponse { ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) } } +/// GenesisState defines the ibc connection submodule's genesis state. +#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub connections: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub client_connection_paths: ::prost::alloc::vec::Vec, + /// the sequence for the next generated connection identifier + #[prost(uint64, tag = "3")] + pub next_connection_sequence: u64, + #[prost(message, optional, tag = "4")] + pub params: ::core::option::Option, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} include!("ibc.core.connection.v1.tonic.rs"); // @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/lib.rs b/generated/rust/protos/src/lib.rs index 270a909e5d..39a994e891 100644 --- a/generated/rust/protos/src/lib.rs +++ b/generated/rust/protos/src/lib.rs @@ -1,5 +1,11 @@ #![allow(clippy::all, rustdoc::all)] // @generated +#[cfg(feature = "amino")] +// @@protoc_insertion_point(attribute:amino) +pub mod amino { + include!("amino.rs"); + // @@protoc_insertion_point(amino) +} pub mod capability { #[cfg(feature = "capability+v1")] // @@protoc_insertion_point(attribute:capability.v1) @@ -855,22 +861,6 @@ pub mod union { } pub mod ibc { pub mod lightclients { - pub mod arbitrum { - #[cfg(feature = "union+ibc+lightclients+arbitrum+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.arbitrum.v1) - pub mod v1 { - include!("union.ibc.lightclients.arbitrum.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.arbitrum.v1) - } - } - pub mod berachain { - #[cfg(feature = "union+ibc+lightclients+berachain+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.berachain.v1) - pub mod v1 { - include!("union.ibc.lightclients.berachain.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.berachain.v1) - } - } pub mod cometbls { #[cfg(feature = "union+ibc+lightclients+cometbls+v1")] // @@protoc_insertion_point(attribute:union.ibc.lightclients.cometbls.v1) @@ -879,54 +869,6 @@ pub mod union { // @@protoc_insertion_point(union.ibc.lightclients.cometbls.v1) } } - pub mod cosmosincosmos { - #[cfg(feature = "union+ibc+lightclients+cosmosincosmos+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.cosmosincosmos.v1) - pub mod v1 { - include!("union.ibc.lightclients.cosmosincosmos.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.cosmosincosmos.v1) - } - } - pub mod ethereum { - #[cfg(feature = "union+ibc+lightclients+ethereum+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.ethereum.v1) - pub mod v1 { - include!("union.ibc.lightclients.ethereum.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.ethereum.v1) - } - } - pub mod evmincosmos { - #[cfg(feature = "union+ibc+lightclients+evmincosmos+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.evmincosmos.v1) - pub mod v1 { - include!("union.ibc.lightclients.evmincosmos.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.evmincosmos.v1) - } - } - pub mod linea { - #[cfg(feature = "union+ibc+lightclients+linea+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.linea.v1) - pub mod v1 { - include!("union.ibc.lightclients.linea.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.linea.v1) - } - } - pub mod movement { - #[cfg(feature = "union+ibc+lightclients+movement+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.movement.v1) - pub mod v1 { - include!("union.ibc.lightclients.movement.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.movement.v1) - } - } - pub mod scroll { - #[cfg(feature = "union+ibc+lightclients+scroll+v1")] - // @@protoc_insertion_point(attribute:union.ibc.lightclients.scroll.v1) - pub mod v1 { - include!("union.ibc.lightclients.scroll.v1.rs"); - // @@protoc_insertion_point(union.ibc.lightclients.scroll.v1) - } - } } } pub mod ics23 { diff --git a/generated/rust/protos/src/tokenfactory.v1beta1.rs b/generated/rust/protos/src/tokenfactory.v1beta1.rs index 78a6cc9c0d..6cdb8af840 100644 --- a/generated/rust/protos/src/tokenfactory.v1beta1.rs +++ b/generated/rust/protos/src/tokenfactory.v1beta1.rs @@ -1,4 +1,21 @@ // @generated +/// DenomAuthorityMetadata specifies metadata for addresses that have specific +/// capabilities over a token factory denom. Right now there is only one Admin +/// permission, but is planned to be extended to the future. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DenomAuthorityMetadata { + /// Can be empty for no admin, or a valid address + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, +} +impl ::prost::Name for DenomAuthorityMetadata { + const NAME: &'static str = "DenomAuthorityMetadata"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} /// Params defines the parameters for the tokenfactory module. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] @@ -18,6 +35,127 @@ impl ::prost::Name for Params { ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) } } +/// GenesisState defines the tokenfactory module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// params defines the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub factory_denoms: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// GenesisDenom defines a tokenfactory denom that is defined within genesis +/// state. The structure contains DenomAuthorityMetadata which defines the +/// denom's admin. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisDenom { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub authority_metadata: ::core::option::Option, +} +impl ::prost::Name for GenesisDenom { + const NAME: &'static str = "GenesisDenom"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// QueryParamsRequest is the request type for the Query/Params RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryParamsRequest {} +impl ::prost::Name for QueryParamsRequest { + const NAME: &'static str = "QueryParamsRequest"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// QueryParamsResponse is the response type for the Query/Params RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +impl ::prost::Name for QueryParamsResponse { + const NAME: &'static str = "QueryParamsResponse"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomAuthorityMetadataRequest defines the request structure for the +/// DenomAuthorityMetadata gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomAuthorityMetadataRequest { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDenomAuthorityMetadataRequest { + const NAME: &'static str = "QueryDenomAuthorityMetadataRequest"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomAuthorityMetadataResponse defines the response structure for the +/// DenomAuthorityMetadata gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomAuthorityMetadataResponse { + #[prost(message, optional, tag = "1")] + pub authority_metadata: ::core::option::Option, +} +impl ::prost::Name for QueryDenomAuthorityMetadataResponse { + const NAME: &'static str = "QueryDenomAuthorityMetadataResponse"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomsFromCreatorRequest defines the request structure for the +/// DenomsFromCreator gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomsFromCreatorRequest { + #[prost(string, tag = "1")] + pub creator: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDenomsFromCreatorRequest { + const NAME: &'static str = "QueryDenomsFromCreatorRequest"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomsFromCreatorRequest defines the response structure for the +/// DenomsFromCreator gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomsFromCreatorResponse { + #[prost(string, repeated, tag = "1")] + pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for QueryDenomsFromCreatorResponse { + const NAME: &'static str = "QueryDenomsFromCreatorResponse"; + const PACKAGE: &'static str = "tokenfactory.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) + } +} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -176,143 +314,5 @@ impl ::prost::Name for MsgSetDenomMetadataResponse { ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) } } -/// DenomAuthorityMetadata specifies metadata for addresses that have specific -/// capabilities over a token factory denom. Right now there is only one Admin -/// permission, but is planned to be extended to the future. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DenomAuthorityMetadata { - /// Can be empty for no admin, or a valid address - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, -} -impl ::prost::Name for DenomAuthorityMetadata { - const NAME: &'static str = "DenomAuthorityMetadata"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// GenesisState defines the tokenfactory module's genesis state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// params defines the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub factory_denoms: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// GenesisDenom defines a tokenfactory denom that is defined within genesis -/// state. The structure contains DenomAuthorityMetadata which defines the -/// denom's admin. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisDenom { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub authority_metadata: ::core::option::Option, -} -impl ::prost::Name for GenesisDenom { - const NAME: &'static str = "GenesisDenom"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// QueryParamsRequest is the request type for the Query/Params RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryParamsRequest {} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// QueryParamsResponse is the response type for the Query/Params RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryParamsResponse { - /// params defines the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -impl ::prost::Name for QueryParamsResponse { - const NAME: &'static str = "QueryParamsResponse"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomAuthorityMetadataRequest defines the request structure for the -/// DenomAuthorityMetadata gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDenomAuthorityMetadataRequest { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDenomAuthorityMetadataRequest { - const NAME: &'static str = "QueryDenomAuthorityMetadataRequest"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomAuthorityMetadataResponse defines the response structure for the -/// DenomAuthorityMetadata gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDenomAuthorityMetadataResponse { - #[prost(message, optional, tag = "1")] - pub authority_metadata: ::core::option::Option, -} -impl ::prost::Name for QueryDenomAuthorityMetadataResponse { - const NAME: &'static str = "QueryDenomAuthorityMetadataResponse"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomsFromCreatorRequest defines the request structure for the -/// DenomsFromCreator gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDenomsFromCreatorRequest { - #[prost(string, tag = "1")] - pub creator: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDenomsFromCreatorRequest { - const NAME: &'static str = "QueryDenomsFromCreatorRequest"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomsFromCreatorRequest defines the response structure for the -/// DenomsFromCreator gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDenomsFromCreatorResponse { - #[prost(string, repeated, tag = "1")] - pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for QueryDenomsFromCreatorResponse { - const NAME: &'static str = "QueryDenomsFromCreatorResponse"; - const PACKAGE: &'static str = "tokenfactory.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("tokenfactory.v1beta1.{}", Self::NAME) - } -} include!("tokenfactory.v1beta1.tonic.rs"); // @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/tokenfactory.v1beta1.tonic.rs b/generated/rust/protos/src/tokenfactory.v1beta1.tonic.rs index 67b2871a76..9b82f708b9 100644 --- a/generated/rust/protos/src/tokenfactory.v1beta1.tonic.rs +++ b/generated/rust/protos/src/tokenfactory.v1beta1.tonic.rs @@ -1,14 +1,14 @@ // @generated /// Generated client implementations. #[cfg(feature = "client")] -pub mod msg_client { +pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; #[derive(Debug, Clone)] - pub struct MsgClient { + pub struct QueryClient { inner: tonic::client::Grpc, } - impl MsgClient { + impl QueryClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -19,7 +19,7 @@ pub mod msg_client { Ok(Self::new(conn)) } } - impl MsgClient + impl QueryClient where T: tonic::client::GrpcService, T::Error: Into, @@ -34,7 +34,10 @@ pub mod msg_client { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } - pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> QueryClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -47,7 +50,7 @@ pub mod msg_client { >>::Error: Into + Send + Sync, { - MsgClient::new(InterceptedService::new(inner, interceptor)) + QueryClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -80,10 +83,10 @@ pub mod msg_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn create_denom( + pub async fn params( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -92,52 +95,19 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/CreateDenom"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "CreateDenom")); - self.inner.unary(req, path, codec).await - } - pub async fn mint( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/Mint"); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "Mint")); - self.inner.unary(req, path, codec).await - } - pub async fn burn( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> { - self.inner.ready().await.map_err(|e| { - tonic::Status::new( - tonic::Code::Unknown, - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/Burn"); + let path = http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Query/Params"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "Burn")); + .insert(GrpcMethod::new("tokenfactory.v1beta1.Query", "Params")); self.inner.unary(req, path, codec).await } - pub async fn change_admin( + pub async fn denom_authority_metadata( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -145,18 +115,23 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/ChangeAdmin"); + let path = http::uri::PathAndQuery::from_static( + "/tokenfactory.v1beta1.Query/DenomAuthorityMetadata", + ); let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "ChangeAdmin")); + req.extensions_mut().insert(GrpcMethod::new( + "tokenfactory.v1beta1.Query", + "DenomAuthorityMetadata", + )); self.inner.unary(req, path, codec).await } - pub async fn set_denom_metadata( + pub async fn denoms_from_creator( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> - { + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -164,12 +139,13 @@ pub mod msg_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = - http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/SetDenomMetadata"); + let path = http::uri::PathAndQuery::from_static( + "/tokenfactory.v1beta1.Query/DenomsFromCreator", + ); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "tokenfactory.v1beta1.Msg", - "SetDenomMetadata", + "tokenfactory.v1beta1.Query", + "DenomsFromCreator", )); self.inner.unary(req, path, codec).await } @@ -177,14 +153,14 @@ pub mod msg_client { } /// Generated client implementations. #[cfg(feature = "client")] -pub mod query_client { +pub mod msg_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::{http::Uri, *}; #[derive(Debug, Clone)] - pub struct QueryClient { + pub struct MsgClient { inner: tonic::client::Grpc, } - impl QueryClient { + impl MsgClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where @@ -195,7 +171,7 @@ pub mod query_client { Ok(Self::new(conn)) } } - impl QueryClient + impl MsgClient where T: tonic::client::GrpcService, T::Error: Into, @@ -210,10 +186,7 @@ pub mod query_client { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> QueryClient> + pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, @@ -226,7 +199,7 @@ pub mod query_client { >>::Error: Into + Send + Sync, { - QueryClient::new(InterceptedService::new(inner, interceptor)) + MsgClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// @@ -259,10 +232,10 @@ pub mod query_client { self.inner = self.inner.max_encoding_message_size(limit); self } - pub async fn params( + pub async fn create_denom( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result, tonic::Status> + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( @@ -271,19 +244,17 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Query/Params"); + let path = + http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/CreateDenom"); let mut req = request.into_request(); req.extensions_mut() - .insert(GrpcMethod::new("tokenfactory.v1beta1.Query", "Params")); + .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "CreateDenom")); self.inner.unary(req, path, codec).await } - pub async fn denom_authority_metadata( + pub async fn mint( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -291,23 +262,16 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/tokenfactory.v1beta1.Query/DenomAuthorityMetadata", - ); + let path = http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/Mint"); let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new( - "tokenfactory.v1beta1.Query", - "DenomAuthorityMetadata", - )); + req.extensions_mut() + .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "Mint")); self.inner.unary(req, path, codec).await } - pub async fn denoms_from_creator( + pub async fn burn( &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, @@ -315,13 +279,49 @@ pub mod query_client { ) })?; let codec = tonic::codec::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/tokenfactory.v1beta1.Query/DenomsFromCreator", - ); + let path = http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/Burn"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "Burn")); + self.inner.unary(req, path, codec).await + } + pub async fn change_admin( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/ChangeAdmin"); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("tokenfactory.v1beta1.Msg", "ChangeAdmin")); + self.inner.unary(req, path, codec).await + } + pub async fn set_denom_metadata( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result, tonic::Status> + { + self.inner.ready().await.map_err(|e| { + tonic::Status::new( + tonic::Code::Unknown, + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic::codec::ProstCodec::default(); + let path = + http::uri::PathAndQuery::from_static("/tokenfactory.v1beta1.Msg/SetDenomMetadata"); let mut req = request.into_request(); req.extensions_mut().insert(GrpcMethod::new( - "tokenfactory.v1beta1.Query", - "DenomsFromCreator", + "tokenfactory.v1beta1.Msg", + "SetDenomMetadata", )); self.inner.unary(req, path, codec).await } diff --git a/generated/rust/protos/src/union.ibc.lightclients.arbitrum.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.arbitrum.v1.rs deleted file mode 100644 index e6d2d5a83f..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.arbitrum.v1.rs +++ /dev/null @@ -1,153 +0,0 @@ -// @generated -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub l1_client_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - pub l1_latest_slot: u64, - /// The address of the [`RollupCore`]() contract on the L1. - #[prost(bytes = "vec", tag = "4")] - pub l1_contract_address: ::prost::alloc::vec::Vec, - /// The slot containing the next node num. If tracking full finalization, this will be the slot containing `_latestConfirmed`, otherwise if tracking head this will be the slot containing `_latestNodeCreated`. - /// - /// Since these are [stored in the same slot]() in the arbitrum rollup contract, `l1_next_node_num_slot_offset` is provided as a way to subscript into the slot. - #[prost(bytes = "vec", tag = "5")] - pub l1_next_node_num_slot: ::prost::alloc::vec::Vec, - /// The offset of the u64 value of the node num within the `l1_lext_node_num_slot`. - #[prost(uint32, tag = "6")] - pub l1_next_node_num_slot_offset_bytes: u32, - /// _nodes\[l1_next_node_num_slot\].confirmData - #[prost(bytes = "vec", tag = "7")] - pub l1_nodes_slot: ::prost::alloc::vec::Vec, - /// offset of Node.confirmData - #[prost(bytes = "vec", tag = "8")] - pub l1_nodes_confirm_data_offset: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "9")] - pub frozen_height: - ::core::option::Option, - #[prost(bytes = "vec", tag = "10")] - pub l2_ibc_contract_address: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.arbitrum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.arbitrum.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - #[prost(bytes = "vec", tag = "1")] - pub ibc_storage_root: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.arbitrum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.arbitrum.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - /// The height of the L1 to update to. The L1 client must have a consensus state at this height. - #[prost(message, optional, tag = "1")] - pub l1_height: - ::core::option::Option, - /// Proof of the L1 rollup account in the L1 state root. - #[prost(message, optional, tag = "2")] - pub l1_account_proof: ::core::option::Option, - /// Proof of the L2 ibc contract address in the L2 state root. - #[prost(message, optional, tag = "3")] - pub l2_ibc_account_proof: ::core::option::Option, - /// The latest confirmed node number, as stored in `ClientState.l1_next_node_num_slot` at `ClientState.l1_next_node_num_slot_offset_bytes`. - #[prost(message, optional, tag = "7")] - pub l1_next_node_num_slot_proof: - ::core::option::Option, - /// The proof of the \[`_nodes`\] mapping at `latest_confirmed`, offset to \[`Node.confirmData`\]. - /// - /// \[`_nodes`\]: - /// \[`Node.confirmData`\]: - #[prost(message, optional, tag = "8")] - pub l1_nodes_slot_proof: ::core::option::Option, - /// Arbitrum block header, used to recompute the block hash and verify the timestamp. - #[prost(message, optional, tag = "9")] - pub l2_header: ::core::option::Option, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.arbitrum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.arbitrum.v1.{}", Self::NAME) - } -} -/// The Arbitrum header as returned from `eth_getBlockByNumber`, with all non-standard fields removed. -/// -/// Note that certain fields are different than a typical eth_getBlockByNumber response; see [here]() for more information. -/// -/// -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct L2Header { - /// H256 - #[prost(bytes = "vec", tag = "1")] - pub parent_hash: ::prost::alloc::vec::Vec, - /// H256 - #[prost(bytes = "vec", tag = "2")] - pub sha3_uncles: ::prost::alloc::vec::Vec, - /// H160 - #[prost(bytes = "vec", tag = "3")] - pub miner: ::prost::alloc::vec::Vec, - /// H256 - #[prost(bytes = "vec", tag = "4")] - pub state_root: ::prost::alloc::vec::Vec, - /// H256 - #[prost(bytes = "vec", tag = "5")] - pub transactions_root: ::prost::alloc::vec::Vec, - /// H256 - #[prost(bytes = "vec", tag = "6")] - pub receipts_root: ::prost::alloc::vec::Vec, - /// H2048 - #[prost(bytes = "vec", tag = "7")] - pub logs_bloom: ::prost::alloc::vec::Vec, - /// U256 - #[prost(bytes = "vec", tag = "8")] - pub difficulty: ::prost::alloc::vec::Vec, - /// U256 - #[prost(bytes = "vec", tag = "9")] - pub number: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "10")] - pub gas_limit: u64, - #[prost(uint64, tag = "11")] - pub gas_used: u64, - #[prost(uint64, tag = "12")] - pub timestamp: u64, - /// This field is equivalent to sendRoot. - /// - /// H256 - #[prost(bytes = "vec", tag = "13")] - pub extra_data: ::prost::alloc::vec::Vec, - /// H256 - #[prost(bytes = "vec", tag = "14")] - pub mix_hash: ::prost::alloc::vec::Vec, - /// H64 - #[prost(bytes = "vec", tag = "15")] - pub nonce: ::prost::alloc::vec::Vec, - /// U256 - #[prost(bytes = "vec", tag = "16")] - pub base_fee_per_gas: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for L2Header { - const NAME: &'static str = "L2Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.arbitrum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.arbitrum.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/union.ibc.lightclients.berachain.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.berachain.v1.rs deleted file mode 100644 index 015740fe43..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.berachain.v1.rs +++ /dev/null @@ -1,87 +0,0 @@ -// @generated -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub consensus_chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub execution_chain_id: ::prost::alloc::string::String, - /// TENDERMINT - #[prost(message, optional, tag = "3")] - pub trust_level: ::core::option::Option< - super::super::super::super::super::ibc::lightclients::tendermint::v1::Fraction, - >, - #[prost(message, optional, tag = "4")] - pub trusting_period: ::core::option::Option<::pbjson_types::Duration>, - #[prost(message, optional, tag = "5")] - pub max_clock_drift: ::core::option::Option<::pbjson_types::Duration>, - #[prost(message, optional, tag = "6")] - pub frozen_height: - ::core::option::Option, - #[prost(message, optional, tag = "7")] - pub latest_height: - ::core::option::Option, - #[prost(message, repeated, tag = "8")] - pub proof_specs: - ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag = "9")] - pub upgrade_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// ETHEREUM - #[prost(bytes = "vec", tag = "10")] - pub ibc_contract_address: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.berachain.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.berachain.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - #[prost(uint64, tag = "1")] - pub eth_timestamp: u64, - #[prost(message, optional, tag = "2")] - pub comet_timestamp: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(bytes = "vec", tag = "3")] - pub eth_storage_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - pub comet_next_validators_hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.berachain.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.berachain.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - /// Full cometbft header. - #[prost(message, optional, tag = "1")] - pub cometbft_header: ::core::option::Option< - super::super::super::super::super::ibc::lightclients::tendermint::v1::Header, - >, - /// Latest execution header stored in the beacon state. - #[prost(message, optional, tag = "2")] - pub execution_header: - ::core::option::Option, - /// Proof of the latest execution header stored in the beacon state. - #[prost(message, optional, tag = "3")] - pub execution_header_proof: ::core::option::Option< - super::super::super::super::super::ibc::core::commitment::v1::MerkleProof, - >, - /// Proof of the ibc contract in the evm state root. - #[prost(message, optional, tag = "4")] - pub account_proof: ::core::option::Option, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.berachain.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.berachain.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/union.ibc.lightclients.cosmosincosmos.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.cosmosincosmos.v1.rs deleted file mode 100644 index e63b67baa3..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.cosmosincosmos.v1.rs +++ /dev/null @@ -1,66 +0,0 @@ -// @generated -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub l2_chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub l1_client_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub l2_client_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub latest_height: - ::core::option::Option, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.cosmosincosmos.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.cosmosincosmos.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - /// timestamp that corresponds to the block height in which the ConsensusState - /// was stored. - #[prost(uint64, tag = "1")] - pub timestamp: u64, - /// commitment root (app_hash) - #[prost(message, optional, tag = "2")] - pub app_hash: ::core::option::Option< - super::super::super::super::super::ibc::core::commitment::v1::MerkleRoot, - >, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.cosmosincosmos.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.cosmosincosmos.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - #[prost(message, optional, tag = "1")] - pub l1_height: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub l2_height: - ::core::option::Option, - /// Eth abi encoded ICS23 MerkleProof - #[prost(bytes = "vec", tag = "3")] - pub l2_inclusion_proof: ::prost::alloc::vec::Vec, - /// Proto encoded tendermint ConsensusState - /// Optimize: technically extractable from the merkleproof as it must be an inclusion proof. - #[prost(bytes = "vec", tag = "4")] - pub l2_consensus_state: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.cosmosincosmos.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.cosmosincosmos.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/union.ibc.lightclients.ethereum.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.ethereum.v1.rs deleted file mode 100644 index 3688df0868..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.ethereum.v1.rs +++ /dev/null @@ -1,397 +0,0 @@ -// @generated -/// Value returned by eth_getProof -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StorageProof { - /// NOTE: U256 - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - /// NOTE: U256 - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", repeated, tag = "3")] - pub proof: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for StorageProof { - const NAME: &'static str = "StorageProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AccountProof { - /// NOTE: H256 - /// NOTE: eth_getProof.storageHash - #[prost(bytes = "vec", tag = "1")] - pub storage_root: ::prost::alloc::vec::Vec, - /// NOTE: eth_getProof.accountProof - #[prost(bytes = "vec", repeated, tag = "2")] - pub proof: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for AccountProof { - const NAME: &'static str = "AccountProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub chain_spec: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "3")] - pub genesis_validators_root: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "4")] - pub genesis_time: u64, - #[prost(message, optional, tag = "5")] - pub fork_parameters: ::core::option::Option, - #[prost(uint64, tag = "6")] - pub latest_slot: u64, - #[prost(message, optional, tag = "7")] - pub frozen_height: - ::core::option::Option, - #[prost(bytes = "vec", tag = "8")] - pub ibc_contract_address: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - #[prost(uint64, tag = "1")] - pub slot: u64, - #[prost(bytes = "vec", tag = "2")] - pub state_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - pub storage_root: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "4")] - pub timestamp: u64, - #[prost(bytes = "vec", tag = "5")] - pub current_sync_committee: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "6")] - pub next_sync_committee: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - #[prost(message, optional, tag = "1")] - pub trusted_height: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub consensus_update: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub ibc_account_proof: ::core::option::Option, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Misbehaviour { - #[prost(message, optional, tag = "1")] - pub trusted_height: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub current_sync_committee: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub update_1: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub update_2: ::core::option::Option, -} -impl ::prost::Name for Misbehaviour { - const NAME: &'static str = "Misbehaviour"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ForkParameters { - #[prost(bytes = "vec", tag = "1")] - pub genesis_fork_version: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub genesis_slot: u64, - #[prost(message, optional, tag = "3")] - pub altair: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub bellatrix: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub capella: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub deneb: ::core::option::Option, -} -impl ::prost::Name for ForkParameters { - const NAME: &'static str = "ForkParameters"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Fork { - #[prost(bytes = "vec", tag = "1")] - pub version: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub epoch: u64, -} -impl ::prost::Name for Fork { - const NAME: &'static str = "Fork"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LightClientUpdate { - #[prost(oneof = "light_client_update::Update", tags = "1, 2")] - pub update: ::core::option::Option, -} -/// Nested message and enum types in `LightClientUpdate`. -pub mod light_client_update { - #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Update { - #[prost(message, tag = "1")] - EpochChangeUpdate(super::EpochChangeUpdate), - #[prost(message, tag = "2")] - WithinEpochUpdate(super::WithinEpochUpdate), - } -} -impl ::prost::Name for LightClientUpdate { - const NAME: &'static str = "LightClientUpdate"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EpochChangeUpdate { - #[prost(message, optional, tag = "1")] - pub sync_committee: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub next_sync_committee: ::core::option::Option, - #[prost(bytes = "vec", repeated, tag = "3")] - pub next_sync_committee_branch: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(message, optional, tag = "4")] - pub update_data: ::core::option::Option, -} -impl ::prost::Name for EpochChangeUpdate { - const NAME: &'static str = "EpochChangeUpdate"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct WithinEpochUpdate { - #[prost(message, optional, tag = "1")] - pub sync_committee: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub update_data: ::core::option::Option, -} -impl ::prost::Name for WithinEpochUpdate { - const NAME: &'static str = "WithinEpochUpdate"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LightClientUpdateData { - #[prost(message, optional, tag = "1")] - pub attested_header: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub finalized_header: ::core::option::Option, - #[prost(bytes = "vec", repeated, tag = "3")] - pub finality_branch: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(message, optional, tag = "4")] - pub sync_aggregate: ::core::option::Option, - #[prost(uint64, tag = "5")] - pub signature_slot: u64, -} -impl ::prost::Name for LightClientUpdateData { - const NAME: &'static str = "LightClientUpdateData"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SyncCommittee { - #[prost(bytes = "vec", repeated, tag = "1")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::inner_base64"))] - pub pubkeys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(bytes = "vec", tag = "2")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub aggregate_pubkey: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SyncCommittee { - const NAME: &'static str = "SyncCommittee"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SyncAggregate { - #[prost(bytes = "vec", tag = "1")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub sync_committee_bits: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub sync_committee_signature: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SyncAggregate { - const NAME: &'static str = "SyncAggregate"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LightClientHeader { - #[prost(message, optional, tag = "1")] - pub beacon: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub execution: ::core::option::Option, - #[prost(bytes = "vec", repeated, tag = "3")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::inner_base64"))] - pub execution_branch: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for LightClientHeader { - const NAME: &'static str = "LightClientHeader"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ExecutionPayloadHeader { - #[prost(bytes = "vec", tag = "1")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub parent_hash: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub fee_recipient: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub state_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub receipts_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "5")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub logs_bloom: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "6")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub prev_randao: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "7")] - pub block_number: u64, - #[prost(uint64, tag = "8")] - pub gas_limit: u64, - #[prost(uint64, tag = "9")] - pub gas_used: u64, - #[prost(uint64, tag = "10")] - pub timestamp: u64, - #[prost(bytes = "vec", tag = "11")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub extra_data: ::prost::alloc::vec::Vec, - /// TODO(aeryz): U256 - #[prost(bytes = "vec", tag = "12")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub base_fee_per_gas: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "13")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub block_hash: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "14")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub transactions_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "15")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub withdrawals_root: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "16")] - pub blob_gas_used: u64, - #[prost(uint64, tag = "17")] - pub excess_blob_gas: u64, -} -impl ::prost::Name for ExecutionPayloadHeader { - const NAME: &'static str = "ExecutionPayloadHeader"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BeaconBlockHeader { - #[prost(uint64, tag = "1")] - pub slot: u64, - #[prost(uint64, tag = "2")] - pub proposer_index: u64, - #[prost(bytes = "vec", tag = "3")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub parent_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub state_root: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "5")] - #[cfg_attr(feature = "serde", serde(with = "::serde_utils::base64"))] - pub body_root: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for BeaconBlockHeader { - const NAME: &'static str = "BeaconBlockHeader"; - const PACKAGE: &'static str = "union.ibc.lightclients.ethereum.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.ethereum.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/union.ibc.lightclients.linea.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.linea.v1.rs deleted file mode 100644 index 91527c7e82..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.linea.v1.rs +++ /dev/null @@ -1,149 +0,0 @@ -// @generated -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub l1_latest_height: - ::core::option::Option, - #[prost(string, tag = "3")] - pub l1_client_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "4")] - pub l1_rollup_contract_address: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "5")] - pub l1_rollup_current_l2_block_number_slot: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "6")] - pub l1_rollup_current_l2_timestamp_slot: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "7")] - pub l1_rollup_l2_state_root_hashes_slot: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "8")] - pub l2_ibc_contract_address: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "9")] - pub frozen_height: - ::core::option::Option, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - #[prost(bytes = "vec", tag = "1")] - pub ibc_storage_root: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - #[prost(message, optional, tag = "1")] - pub l1_height: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub l1_rollup_contract_proof: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub l2_block_number_proof: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub l2_state_root_proof: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub l2_timestamp_proof: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub l2_ibc_contract_proof: ::core::option::Option, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MerklePath { - #[prost(bytes = "vec", tag = "1")] - pub value: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", repeated, tag = "2")] - pub proof_related_nodes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for MerklePath { - const NAME: &'static str = "MerklePath"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InclusionProof { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub leaf_index: u64, - #[prost(message, optional, tag = "3")] - pub merkle_path: ::core::option::Option, -} -impl ::prost::Name for InclusionProof { - const NAME: &'static str = "InclusionProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NonInclusionProof { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub left_leaf_index: u64, - #[prost(message, optional, tag = "3")] - pub left_proof: ::core::option::Option, - #[prost(uint64, tag = "4")] - pub right_leaf_index: u64, - #[prost(message, optional, tag = "5")] - pub right_proof: ::core::option::Option, -} -impl ::prost::Name for NonInclusionProof { - const NAME: &'static str = "NonInclusionProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MerkleProof { - #[prost(oneof = "merkle_proof::Proof", tags = "1, 2")] - pub proof: ::core::option::Option, -} -/// Nested message and enum types in `MerkleProof`. -pub mod merkle_proof { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Proof { - #[prost(message, tag = "1")] - Inclusion(super::InclusionProof), - #[prost(message, tag = "2")] - Noninclusion(super::NonInclusionProof), - } -} -impl ::prost::Name for MerkleProof { - const NAME: &'static str = "MerkleProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.linea.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.linea.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/union.ibc.lightclients.movement.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.movement.v1.rs deleted file mode 100644 index 130e80be15..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.movement.v1.rs +++ /dev/null @@ -1,392 +0,0 @@ -// @generated -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub l1_client_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "3")] - pub l1_contract_address: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - pub l2_contract_address: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "5")] - pub table_handle: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "6")] - pub frozen_height: - ::core::option::Option, - #[prost(uint64, tag = "7")] - pub latest_block_num: u64, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - /// Aptos state root - #[prost(bytes = "vec", tag = "1")] - pub state_root: ::prost::alloc::vec::Vec, - /// Movement timestamp - #[prost(uint64, tag = "2")] - pub timestamp: u64, - /// Hash of the `StateProof` which is committed to l1 - #[prost(bytes = "vec", tag = "3")] - pub state_proof_hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - #[prost(message, optional, tag = "1")] - pub l1_height: - ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub trusted_height: - ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub state_proof: ::core::option::Option, - #[prost(uint64, tag = "4")] - pub tx_index: u64, - #[prost(message, optional, tag = "5")] - pub tx_proof: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub state_proof_hash_proof: ::core::option::Option, - #[prost(message, optional, tag = "7")] - pub settlement_contract_proof: ::core::option::Option, - #[prost(uint64, tag = "8")] - pub new_height: u64, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TransactionInfoWithProof { - #[prost(bytes = "vec", repeated, tag = "1")] - pub ledger_info_to_transaction_info_proof: - ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(message, optional, tag = "2")] - pub transaction_info: ::core::option::Option, -} -impl ::prost::Name for TransactionInfoWithProof { - const NAME: &'static str = "TransactionInfoWithProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -/// NOTE(aeryz): we don't include status cause we assume success status in the light client. If it's not successfull, -/// the light client will fail since the hash won't match. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TransactionInfo { - #[prost(uint64, tag = "1")] - pub gas_used: u64, - #[prost(bytes = "vec", tag = "2")] - pub transaction_hash: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - pub event_root_hash: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - pub state_change_hash: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "5")] - pub state_checkpoint_hash: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "6")] - pub state_cemetery_hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TransactionInfo { - const NAME: &'static str = "TransactionInfo"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StateProof { - #[prost(message, optional, tag = "1")] - pub latest_li_w_sigs: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub epoch_changes: ::core::option::Option, -} -impl ::prost::Name for StateProof { - const NAME: &'static str = "StateProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LedgerInfoWithSignatures { - #[prost(message, optional, tag = "1")] - pub ledger_info: ::core::option::Option, - /// / Aggregated BLS signature of all the validators that signed the message. The bitmask in the - /// / aggregated signature can be used to find out the individual validators signing the message - #[prost(message, optional, tag = "2")] - pub signatures: ::core::option::Option, -} -impl ::prost::Name for LedgerInfoWithSignatures { - const NAME: &'static str = "LedgerInfoWithSignatures"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LedgerInfo { - #[prost(message, optional, tag = "1")] - pub commit_info: ::core::option::Option, - #[prost(bytes = "vec", tag = "2")] - pub consensus_data_hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for LedgerInfo { - const NAME: &'static str = "LedgerInfo"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BlockInfo { - #[prost(uint64, tag = "1")] - pub epoch: u64, - #[prost(uint64, tag = "2")] - pub round: u64, - #[prost(bytes = "vec", tag = "3")] - pub id: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "4")] - pub executed_state_id: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "5")] - pub version: u64, - #[prost(uint64, tag = "6")] - pub timestamp_usecs: u64, - #[prost(message, optional, tag = "7")] - pub next_epoch_state: ::core::option::Option, -} -impl ::prost::Name for BlockInfo { - const NAME: &'static str = "BlockInfo"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EpochState { - #[prost(uint64, tag = "1")] - pub epoch: u64, - #[prost(message, optional, tag = "2")] - pub verifier: ::core::option::Option, -} -impl ::prost::Name for EpochState { - const NAME: &'static str = "EpochState"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorVerifier { - #[prost(message, repeated, tag = "1")] - pub validator_infos: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ValidatorVerifier { - const NAME: &'static str = "ValidatorVerifier"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorConsensusInfo { - #[prost(bytes = "vec", tag = "1")] - pub address: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub public_key: ::core::option::Option, - #[prost(uint64, tag = "3")] - pub voting_power: u64, -} -impl ::prost::Name for ValidatorConsensusInfo { - const NAME: &'static str = "ValidatorConsensusInfo"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PublicKey { - #[prost(bytes = "vec", tag = "1")] - pub pubkey: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PublicKey { - const NAME: &'static str = "PublicKey"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AggregateSignature { - #[prost(bytes = "vec", tag = "1")] - pub validator_bitmask: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub sig: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for AggregateSignature { - const NAME: &'static str = "AggregateSignature"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EpochChangeProof { - #[prost(message, repeated, tag = "1")] - pub ledger_info_with_sigs: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub more: bool, -} -impl ::prost::Name for EpochChangeProof { - const NAME: &'static str = "EpochChangeProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StorageProof { - #[prost(message, optional, tag = "3")] - pub proof: ::core::option::Option, - #[prost(oneof = "storage_proof::StateValue", tags = "1, 2")] - pub state_value: ::core::option::Option, -} -/// Nested message and enum types in `StorageProof`. -pub mod storage_proof { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum StateValue { - #[prost(bytes, tag = "1")] - V0(::prost::alloc::vec::Vec), - #[prost(message, tag = "2")] - WithMetadata(super::StateValueWithMetadata), - } -} -impl ::prost::Name for StorageProof { - const NAME: &'static str = "StorageProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StateValueWithMetadata { - #[prost(bytes = "vec", tag = "1")] - pub data: ::prost::alloc::vec::Vec, - #[prost(oneof = "state_value_with_metadata::Metadata", tags = "2, 3")] - pub metadata: ::core::option::Option, -} -/// Nested message and enum types in `StateValueWithMetadata`. -pub mod state_value_with_metadata { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Metadata { - #[prost(message, tag = "2")] - V0(super::StateValueMetadataV0), - #[prost(message, tag = "3")] - V1(super::StateValueMetadataV1), - } -} -impl ::prost::Name for StateValueWithMetadata { - const NAME: &'static str = "StateValueWithMetadata"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StateValueMetadataV0 { - #[prost(uint64, tag = "1")] - pub deposit: u64, - #[prost(uint64, tag = "2")] - pub creation_time_usecs: u64, -} -impl ::prost::Name for StateValueMetadataV0 { - const NAME: &'static str = "StateValueMetadataV0"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StateValueMetadataV1 { - #[prost(uint64, tag = "1")] - pub slot_deposit: u64, - #[prost(uint64, tag = "2")] - pub bytes_deposit: u64, - #[prost(uint64, tag = "3")] - pub creation_time_usecs: u64, -} -impl ::prost::Name for StateValueMetadataV1 { - const NAME: &'static str = "StateValueMetadataV1"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SparseMerkleProof { - #[prost(message, optional, tag = "1")] - pub leaf: ::core::option::Option, - #[prost(bytes = "vec", repeated, tag = "2")] - pub siblings: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for SparseMerkleProof { - const NAME: &'static str = "SparseMerkleProof"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SparseMerkleLeafNode { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub value_hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SparseMerkleLeafNode { - const NAME: &'static str = "SparseMerkleLeafNode"; - const PACKAGE: &'static str = "union.ibc.lightclients.movement.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.movement.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/generated/rust/protos/src/union.ibc.lightclients.scroll.v1.rs b/generated/rust/protos/src/union.ibc.lightclients.scroll.v1.rs deleted file mode 100644 index fbf8b5477b..0000000000 --- a/generated/rust/protos/src/union.ibc.lightclients.scroll.v1.rs +++ /dev/null @@ -1,85 +0,0 @@ -// @generated -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(string, tag = "1")] - pub l1_client_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - pub latest_slot: u64, - #[prost(message, optional, tag = "4")] - pub frozen_height: - ::core::option::Option, - #[prost(bytes = "vec", tag = "5")] - pub latest_batch_index_slot: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "6")] - pub l2_contract_address: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "7")] - pub l2_finalized_state_roots_slot: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "8")] - pub l2_committed_batches_slot: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "9")] - pub ibc_contract_address: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "union.ibc.lightclients.scroll.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.scroll.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - /// Scroll state root - #[prost(bytes = "vec", tag = "1")] - pub state_root: ::prost::alloc::vec::Vec, - /// Scroll timestamp - #[prost(uint64, tag = "2")] - pub timestamp: u64, - /// IBC stack on Scroll contract storage root - #[prost(bytes = "vec", tag = "3")] - pub ibc_storage_root: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "union.ibc.lightclients.scroll.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.scroll.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - #[prost(message, optional, tag = "1")] - pub l1_height: - ::core::option::Option, - /// rollupContractOnL1 ∈ L1Stateroot - #[prost(message, optional, tag = "2")] - pub l1_account_proof: ::core::option::Option, - /// lastBatchIndex ≡ rollupContractOnL1.lastBatchIndex - #[prost(message, optional, tag = "3")] - pub last_batch_index_proof: ::core::option::Option, - /// L2stateRoot ≡ rollupContractOnL1.finalized\[lastBatchIndex\] - #[prost(message, optional, tag = "4")] - pub l2_state_root_proof: ::core::option::Option, - /// ibcContractOnL2 ∈ L2StateRoot - #[prost(message, optional, tag = "5")] - pub l2_ibc_account_proof: ::core::option::Option, - /// batchHash ≡ rollupContractOnL1.batchHashes\[lastBatchIndex\] - #[prost(message, optional, tag = "6")] - pub batch_hash_proof: ::core::option::Option, - /// The batch header from where we extract the L2 timestamp, then proving: - /// hash(batchHeader) ≡ batchHash - #[prost(bytes = "vec", tag = "7")] - pub batch_header: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "union.ibc.lightclients.scroll.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("union.ibc.lightclients.scroll.v1.{}", Self::NAME) - } -} -// @@protoc_insertion_point(module) diff --git a/hubble/src/indexer/tendermint/create_client_tracker.rs b/hubble/src/indexer/tendermint/create_client_tracker.rs index d8c37fdef3..3a4b4905b3 100644 --- a/hubble/src/indexer/tendermint/create_client_tracker.rs +++ b/hubble/src/indexer/tendermint/create_client_tracker.rs @@ -144,7 +144,7 @@ pub fn schedule_create_client_checker( // cs.execution_chain_id.to_string() // } - // WasmClientType::EvmInCosmos => { + // WasmClientType::StateLensIcs23Mpt => { // todo!("We still need to add evm-in-cosmos") // } // WasmClientType::Movement => { diff --git a/lib/berachain-light-client-types/Cargo.toml b/lib/berachain-light-client-types/Cargo.toml index edb3f0029b..5105b80327 100644 --- a/lib/berachain-light-client-types/Cargo.toml +++ b/lib/berachain-light-client-types/Cargo.toml @@ -8,7 +8,6 @@ alloy = { workspace = true, features = ["sol-types"], opti beacon-api-types = { workspace = true } bincode = { workspace = true, features = ["alloc", "derive"], optional = true } ethereum-light-client-types = { workspace = true } -protos = { workspace = true, optional = true, features = ["union+ibc+lightclients+berachain+v1"] } serde = { workspace = true, optional = true, features = ["derive"] } unionlabs = { workspace = true } @@ -22,5 +21,4 @@ bincode = [ "beacon-api-types/bincode", ] ethabi = ["unionlabs/ethabi", "dep:alloy"] -proto = ["dep:protos"] serde = ["beacon-api-types/serde", "ethereum-light-client-types/serde", "dep:serde"] diff --git a/lib/state-lens/cosmos-light-client-types/Cargo.toml b/lib/state-lens-ics23-ics23-light-client-types/Cargo.toml similarity index 91% rename from lib/state-lens/cosmos-light-client-types/Cargo.toml rename to lib/state-lens-ics23-ics23-light-client-types/Cargo.toml index 5608d6494e..7035e62e79 100644 --- a/lib/state-lens/cosmos-light-client-types/Cargo.toml +++ b/lib/state-lens-ics23-ics23-light-client-types/Cargo.toml @@ -1,6 +1,6 @@ [package] edition = "2021" -name = "cosmos-state-lens-light-client-types" +name = "state-lens-ics23-ics23-light-client-types" version = "0.1.0" [dependencies] diff --git a/lib/state-lens/cosmos-light-client-types/src/client_state.rs b/lib/state-lens-ics23-ics23-light-client-types/src/client_state.rs similarity index 100% rename from lib/state-lens/cosmos-light-client-types/src/client_state.rs rename to lib/state-lens-ics23-ics23-light-client-types/src/client_state.rs diff --git a/lib/state-lens/cosmos-light-client-types/src/consensus_state.rs b/lib/state-lens-ics23-ics23-light-client-types/src/consensus_state.rs similarity index 100% rename from lib/state-lens/cosmos-light-client-types/src/consensus_state.rs rename to lib/state-lens-ics23-ics23-light-client-types/src/consensus_state.rs diff --git a/lib/state-lens/cosmos-light-client-types/src/header.rs b/lib/state-lens-ics23-ics23-light-client-types/src/header.rs similarity index 100% rename from lib/state-lens/cosmos-light-client-types/src/header.rs rename to lib/state-lens-ics23-ics23-light-client-types/src/header.rs diff --git a/lib/state-lens/cosmos-light-client-types/src/lib.rs b/lib/state-lens-ics23-ics23-light-client-types/src/lib.rs similarity index 100% rename from lib/state-lens/cosmos-light-client-types/src/lib.rs rename to lib/state-lens-ics23-ics23-light-client-types/src/lib.rs diff --git a/lib/state-lens/evm-light-client-types/Cargo.toml b/lib/state-lens-ics23-mpt-light-client-types/Cargo.toml similarity index 92% rename from lib/state-lens/evm-light-client-types/Cargo.toml rename to lib/state-lens-ics23-mpt-light-client-types/Cargo.toml index 7a956f5336..4ceefa186b 100644 --- a/lib/state-lens/evm-light-client-types/Cargo.toml +++ b/lib/state-lens-ics23-mpt-light-client-types/Cargo.toml @@ -1,6 +1,6 @@ [package] edition = "2021" -name = "evm-state-lens-light-client-types" +name = "state-lens-ics23-mpt-light-client-types" version = "0.1.0" [dependencies] diff --git a/lib/state-lens/evm-light-client-types/src/client_state.rs b/lib/state-lens-ics23-mpt-light-client-types/src/client_state.rs similarity index 100% rename from lib/state-lens/evm-light-client-types/src/client_state.rs rename to lib/state-lens-ics23-mpt-light-client-types/src/client_state.rs diff --git a/lib/state-lens/evm-light-client-types/src/consensus_state.rs b/lib/state-lens-ics23-mpt-light-client-types/src/consensus_state.rs similarity index 100% rename from lib/state-lens/evm-light-client-types/src/consensus_state.rs rename to lib/state-lens-ics23-mpt-light-client-types/src/consensus_state.rs diff --git a/lib/state-lens/evm-light-client-types/src/header.rs b/lib/state-lens-ics23-mpt-light-client-types/src/header.rs similarity index 100% rename from lib/state-lens/evm-light-client-types/src/header.rs rename to lib/state-lens-ics23-mpt-light-client-types/src/header.rs diff --git a/lib/state-lens/evm-light-client-types/src/lib.rs b/lib/state-lens-ics23-mpt-light-client-types/src/lib.rs similarity index 100% rename from lib/state-lens/evm-light-client-types/src/lib.rs rename to lib/state-lens-ics23-mpt-light-client-types/src/lib.rs diff --git a/lib/unionlabs/src/aptos/signature.rs b/lib/unionlabs/src/aptos/signature.rs index 0bd9c72bd7..dd0ca68510 100644 --- a/lib/unionlabs/src/aptos/signature.rs +++ b/lib/unionlabs/src/aptos/signature.rs @@ -1,11 +1,7 @@ use macros::model; -use unionlabs_primitives::{FixedBytesError, H768}; +use unionlabs_primitives::H768; -#[model(proto( - raw(protos::union::ibc::lightclients::movement::v1::AggregateSignature), - into, - from -))] +#[model] #[cfg_attr(feature = "bincode", derive(bincode::Encode, bincode::Decode))] pub struct AggregateSignature { pub validator_bitmask: ValidatorBitmask, @@ -17,41 +13,3 @@ pub struct AggregateSignature { pub struct ValidatorBitmask { pub inner: Vec, } - -impl From - for protos::union::ibc::lightclients::movement::v1::AggregateSignature -{ - fn from(value: AggregateSignature) -> Self { - Self { - validator_bitmask: value.validator_bitmask.inner, - sig: value.sig.map(Into::into).unwrap_or_default(), - } - } -} - -#[derive(Debug, Clone, PartialEq, thiserror::Error)] -pub enum TryFromAggregateSignatureError { - #[error("invalid sig")] - Sig(#[from] FixedBytesError), -} - -impl TryFrom - for AggregateSignature -{ - type Error = TryFromAggregateSignatureError; - - fn try_from( - value: protos::union::ibc::lightclients::movement::v1::AggregateSignature, - ) -> Result { - Ok(Self { - validator_bitmask: ValidatorBitmask { - inner: value.validator_bitmask, - }, - sig: if value.sig.is_empty() { - None - } else { - Some(value.sig.try_into()?) - }, - }) - } -} diff --git a/lib/unionlabs/src/ibc/lightclients.rs b/lib/unionlabs/src/ibc/lightclients.rs index 4947eef546..ce1d9f82ec 100644 --- a/lib/unionlabs/src/ibc/lightclients.rs +++ b/lib/unionlabs/src/ibc/lightclients.rs @@ -1,2 +1 @@ -// pub mod evm_in_cosmos; pub mod wasm; diff --git a/lib/unionlabs/src/linea/proof.rs b/lib/unionlabs/src/linea/proof.rs index 42b99a82a4..0bbb76c703 100644 --- a/lib/unionlabs/src/linea/proof.rs +++ b/lib/unionlabs/src/linea/proof.rs @@ -1,14 +1,6 @@ use macros::model; use serde::{Deserialize, Serialize}; -use crate::errors::{required, MissingField}; - -#[derive(Debug, PartialEq, Clone, thiserror::Error)] -pub enum TryFromMerkleProofError { - #[error(transparent)] - MissingField(#[from] MissingField), -} - #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct MerklePath { @@ -18,32 +10,7 @@ pub struct MerklePath { pub proof_related_nodes: Vec>, } -impl From for protos::union::ibc::lightclients::linea::v1::MerklePath { - fn from(value: MerklePath) -> Self { - Self { - value: value.value, - proof_related_nodes: value.proof_related_nodes, - } - } -} - -impl From for MerklePath { - fn from(value: protos::union::ibc::lightclients::linea::v1::MerklePath) -> Self { - Self { - value: value.value, - proof_related_nodes: value.proof_related_nodes, - } - } -} - -#[model( - proto( - raw(protos::union::ibc::lightclients::linea::v1::InclusionProof), - into, - from - ), - no_serde -)] +#[model(no_serde)] #[derive(Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct InclusionProof { @@ -53,38 +20,7 @@ pub struct InclusionProof { pub proof: MerklePath, } -impl From for protos::union::ibc::lightclients::linea::v1::InclusionProof { - fn from(value: InclusionProof) -> Self { - Self { - key: value.key, - leaf_index: value.leaf_index, - merkle_path: Some(value.proof.into()), - } - } -} - -impl TryFrom for InclusionProof { - type Error = TryFromMerkleProofError; - - fn try_from( - value: protos::union::ibc::lightclients::linea::v1::InclusionProof, - ) -> Result { - Ok(Self { - key: value.key, - leaf_index: value.leaf_index, - proof: required!(value.merkle_path)?.into(), - }) - } -} - -#[model( - proto( - raw(protos::union::ibc::lightclients::linea::v1::NonInclusionProof), - into, - from - ), - no_serde -)] +#[model(no_serde)] #[derive(Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct NonInclusionProof { @@ -96,34 +32,6 @@ pub struct NonInclusionProof { pub right_proof: MerklePath, } -impl From for protos::union::ibc::lightclients::linea::v1::NonInclusionProof { - fn from(value: NonInclusionProof) -> Self { - Self { - key: value.key, - left_leaf_index: value.left_leaf_index, - left_proof: Some(value.left_proof.into()), - right_leaf_index: value.right_leaf_index, - right_proof: Some(value.right_proof.into()), - } - } -} - -impl TryFrom for NonInclusionProof { - type Error = TryFromMerkleProofError; - - fn try_from( - value: protos::union::ibc::lightclients::linea::v1::NonInclusionProof, - ) -> Result { - Ok(Self { - key: value.key, - left_leaf_index: value.left_leaf_index, - left_proof: required!(value.left_proof)?.into(), - right_leaf_index: value.right_leaf_index, - right_proof: required!(value.right_proof)?.into(), - }) - } -} - #[derive(Clone, PartialEq, Debug, Serialize, Deserialize)] #[serde(untagged)] pub enum MerkleProof { @@ -131,42 +39,6 @@ pub enum MerkleProof { NonInclusion(NonInclusionProof), } -impl From for protos::union::ibc::lightclients::linea::v1::MerkleProof { - fn from(value: MerkleProof) -> Self { - Self { - proof: Some(match value { - MerkleProof::Inclusion(inclusion) => { - protos::union::ibc::lightclients::linea::v1::merkle_proof::Proof::Inclusion( - inclusion.into(), - ) - } - MerkleProof::NonInclusion(noninclusion) => { - protos::union::ibc::lightclients::linea::v1::merkle_proof::Proof::Noninclusion( - noninclusion.into(), - ) - } - }), - } - } -} - -impl TryFrom for MerkleProof { - type Error = TryFromMerkleProofError; - - fn try_from( - value: protos::union::ibc::lightclients::linea::v1::MerkleProof, - ) -> Result { - Ok(match required!(value.proof)? { - protos::union::ibc::lightclients::linea::v1::merkle_proof::Proof::Inclusion( - inclusion, - ) => MerkleProof::Inclusion(inclusion.try_into()?), - protos::union::ibc::lightclients::linea::v1::merkle_proof::Proof::Noninclusion( - noninclusion, - ) => MerkleProof::NonInclusion(noninclusion.try_into()?), - }) - } -} - #[derive(Clone, Debug, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct GetProof { diff --git a/lib/voyager-core/src/lib.rs b/lib/voyager-core/src/lib.rs index 621cdbaaba..810375ab1a 100644 --- a/lib/voyager-core/src/lib.rs +++ b/lib/voyager-core/src/lib.rs @@ -72,12 +72,14 @@ impl ClientType { /// [CometBLS]: https://github.com/unionlabs/cometbls pub const COMETBLS: &'static str = "cometbls"; - /// A client tracking [CometBLS] consensus, verified with a ZK proof of the state transition created by galois. + /// A client tracking [CometBLS] consensus, verified with a ZK proof of the state transition + /// created by galois. /// /// [CometBLS]: https://github.com/unionlabs/cometbls pub const COMETBLS_GROTH16: &'static str = "cometbls"; - /// A client tracking vanilla [CometBFT] (Tendermint) consensus, through the [`07-tendermint`] light client specification. + /// A client tracking vanilla [CometBFT] (Tendermint) consensus, through the [`07-tendermint`] + /// light client specification. /// /// [CometBFT]: https://github.com/cometbft/cometbft /// [`07-tendermint`]: https://github.com/cosmos/ibc/blob/main/spec/client/ics-007-tendermint-client/README.md @@ -101,7 +103,8 @@ impl ClientType { /// [Arbitrum]: https://github.com/OffchainLabs/nitro-contracts pub const ARBITRUM: &'static str = "arbitrum"; - /// A client tracking the state of a [BeaconKit] chain, verified by verifying the underlying [CometBFT] consensus. + /// A client tracking the state of a [BeaconKit] chain, verified by verifying the underlying + /// [CometBFT] consensus. /// /// [BeaconKit]: https://github.com/berachain/beacon-kit /// [CometBFT]: https://github.com/cometbft/cometbft @@ -112,18 +115,18 @@ impl ClientType { /// [Movement]: https://github.com/movementlabsxyz/movement pub const MOVEMENT: &'static str = "movement"; - // TODO: Update this doc comment and rename the client type to be more accurate - /// A client tracking the Ethereum beacon chain consensus verified through the - /// [Ethereum Proof-of-Stake Consensus Specifications](spec). As an L2 extracted from [CometBLS]. + /// A client tracking an EVM-compatible chain utilizing [MPT] as the storage layer, verified + /// through that chain's consensus as settled on an intermediary [ICS-23] chain. /// - /// [spec]: https://github.com/ethereum/consensus-specs - /// [CometBLS]: https://github.com/unionlabs/cometbls - pub const STATE_LENS_EVM: &'static str = "state-lens/evm"; + /// [MPT]: https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie + /// [ICS-23]: https://github.com/cosmos/ics23 + pub const STATE_LENS_ICS23_MPT: &'static str = "state-lens/ics23/mpt"; - /// Tendermint consensus specification, extracted from [CometBLS]. + /// A client tracking an [ICS-23] chain, verified through that chain's consensus as + /// settled on an intermediary [ICS-23] chain. /// - /// [CometBLS]: https://github.com/unionlabs/cometbls - pub const STATE_LENS_ICS23_ICS23: &'static str = "state-lens/ics23-ics23"; + /// [ICS23]: https://github.com/cosmos/ics23 + pub const STATE_LENS_ICS23_ICS23: &'static str = "state-lens/ics23/ics23"; // lots more to come - near, linea, polygon - stay tuned } @@ -202,7 +205,8 @@ pub trait IbcSpec { fn consensus_state_path(client_id: Self::ClientId, height: Height) -> Self::StorePath; } -/// A subset of [`IbcSpec::StorePath`]. This should be implemented by all variants of the `StorePath` enum for an `IbcSpec` implementation. +/// A subset of [`IbcSpec::StorePath`]. This should be implemented by all variants of the +/// `StorePath` enum for an `IbcSpec` implementation. pub trait IbcStorePathKey: Member + TryFrom<::StorePath, Error = ::StorePath> @@ -211,7 +215,8 @@ pub trait IbcStorePathKey: /// The [`IbcSpec`] that this store path key indexes into. type Spec: IbcSpec; - /// The value stored under this key. Note that this is NOT the *commitment*, but rather the actual value. + /// The value stored under this key. Note that this is NOT the *commitment*, but rather the + /// actual value. type Value: Member; } @@ -252,12 +257,11 @@ pub struct ChainId; /// /// # Examples /// -/// - 08-wasm client on union, tracking ethereum mainnet: `(ibc-go-v8/08-wasm, -/// ethereum_mainnet, {"checksum": "0x..."})` -/// - 07-tendermint client on stargaze, tracking osmosis: `(ibc-go-v8/native, -/// tendermint)` -/// - 08-wasm client on babylon, tracking union: `(ibc-go-v8/08-wasm, cometbls, -/// {"checksum": "0x..."}))` +/// - 08-wasm client on union, tracking ethereum mainnet: `(ibc-go-v8/08-wasm, ethereum_mainnet, +/// {"checksum": "0x..."})` +/// - 07-tendermint client on stargaze, tracking osmosis: `(ibc-go-v8/native, tendermint)` +/// - 08-wasm client on babylon, tracking union: `(ibc-go-v8/08-wasm, cometbls, {"checksum": +/// "0x..."}))` /// - cometbls client on scroll, tracking union: `(ibc-solidity, cometbls)` #[model] pub struct ClientInfo { diff --git a/rustfmt.toml b/rustfmt.toml index 4ee71eb8a8..4aeca80bfa 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,5 +1,8 @@ group_imports = "StdExternalCrate" imports_granularity = "Crate" reorder_imports = true +# this can also be ran on a specific file instead of the whole repo: +# rustfmt --config 'wrap_comments=true,comment_width=100' +# # wrap_comments = true # comment_width = 100 diff --git a/tools/rust-proto.nix b/tools/rust-proto.nix index 6ca3f0e2e9..178713b5d4 100644 --- a/tools/rust-proto.nix +++ b/tools/rust-proto.nix @@ -80,10 +80,6 @@ _: { "prost/std" "serde/std" ]; - eth-abi = [ - "ethers" - "std" - ]; client = [ "tonic" ]; json-schema = [ "schemars" ]; # nix attrsets don't preserve order, use this to replace with the insertion point (see command below) @@ -456,7 +452,7 @@ _: { '' #[cfg_attr( feature = "serde", - serde(with = "::serde_utils::parse_from_rfc3339_string_but_0001_01_01T00_00_00Z_is_none") + serde(default, with = "::serde_utils::parse_from_rfc3339_string_but_0001_01_01T00_00_00Z_is_none") )]'' ]; diff --git a/typos.toml b/typos.toml index f6de84b722..13a970abc3 100644 --- a/typos.toml +++ b/typos.toml @@ -628,7 +628,6 @@ files.extend-exclude = [ "evenodd" = "evenodd" "evidencekeeper" = "evidencekeeper" "evidencetypes" = "evidencetypes" -"evmincosmos" = "evmincosmos" "evmos" = "evmos" "exff" = "exff" "extldflags" = "extldflags" diff --git a/uniond/proto/union/ibc/lightclients/cosmosincosmos/v1/cosmosincosmos.proto b/uniond/proto/union/ibc/lightclients/cosmosincosmos/v1/cosmosincosmos.proto deleted file mode 100644 index d9d3579e17..0000000000 --- a/uniond/proto/union/ibc/lightclients/cosmosincosmos/v1/cosmosincosmos.proto +++ /dev/null @@ -1,37 +0,0 @@ -syntax = "proto3"; - -package union.ibc.lightclients.cosmosincosmos.v1; - -option go_package = "union/ibc/lightclients/cosmosincosmos"; - -import "ibc/core/client/v1/client.proto"; -import "ibc/core/commitment/v1/commitment.proto"; -import "gogoproto/gogo.proto"; - -message ClientState { - option (gogoproto.goproto_getters) = false; - string l2_chain_id = 1; - string l1_client_id = 2; - string l2_client_id = 3; - .ibc.core.client.v1.Height latest_height = 4 [(gogoproto.nullable) = false]; -} - -message ConsensusState { - option (gogoproto.goproto_getters) = false; - // timestamp that corresponds to the block height in which the ConsensusState - // was stored. - uint64 timestamp = 1; - // commitment root (app_hash) - .ibc.core.commitment.v1.MerkleRoot app_hash = 2 [(gogoproto.nullable) = false]; -} - -message Header { - option (gogoproto.goproto_getters) = false; - .ibc.core.client.v1.Height l1_height = 1 [(gogoproto.nullable) = false]; - .ibc.core.client.v1.Height l2_height = 2 [(gogoproto.nullable) = false]; - // Eth abi encoded ICS23 MerkleProof - bytes l2_inclusion_proof = 3; - // Proto encoded tendermint ConsensusState - // Optimize: technically extractable from the merkleproof as it must be an inclusion proof. - bytes l2_consensus_state = 4; -} diff --git a/voyager/modules/client-bootstrap/state-lens/evm/Cargo.toml b/voyager/modules/client-bootstrap/state-lens/evm/Cargo.toml index c0f4ad169b..922c8ed750 100644 --- a/voyager/modules/client-bootstrap/state-lens/evm/Cargo.toml +++ b/voyager/modules/client-bootstrap/state-lens/evm/Cargo.toml @@ -4,21 +4,21 @@ name = "voyager-client-bootstrap-module-state-lens-evm" version = "0.1.0" [dependencies] -alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } -beacon-api = { workspace = true } -beacon-api-types = { workspace = true, features = ["serde"] } -cometbft-rpc = { workspace = true } -ethereum-light-client-types = { workspace = true, features = ["serde"] } -evm-state-lens-light-client-types = { workspace = true, features = ["serde"] } -ibc-union-spec.workspace = true -jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -unionlabs = { workspace = true } -voyager-message = { workspace = true } -voyager-vm = { workspace = true } +alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } +beacon-api = { workspace = true } +beacon-api-types = { workspace = true, features = ["serde"] } +cometbft-rpc = { workspace = true } +ethereum-light-client-types = { workspace = true, features = ["serde"] } +ibc-union-spec.workspace = true +jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +state-lens-ics23-mpt-light-client-types = { workspace = true, features = ["serde"] } +tokio = { workspace = true } +tracing = { workspace = true } +unionlabs = { workspace = true } +voyager-message = { workspace = true } +voyager-vm = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["full"] } diff --git a/voyager/modules/client-bootstrap/state-lens/evm/src/main.rs b/voyager/modules/client-bootstrap/state-lens/evm/src/main.rs index a0832116dc..3ce17cb191 100644 --- a/voyager/modules/client-bootstrap/state-lens/evm/src/main.rs +++ b/voyager/modules/client-bootstrap/state-lens/evm/src/main.rs @@ -1,11 +1,11 @@ use ethereum_light_client_types::ConsensusState as EthConsensusState; -use evm_state_lens_light_client_types::{ClientState, ConsensusState}; use jsonrpsee::{ core::{async_trait, RpcResult}, Extensions, }; use serde::{Deserialize, Serialize}; use serde_json::Value; +use state_lens_ics23_mpt_light_client_types::{ClientState, ConsensusState}; use tracing::instrument; use unionlabs::ibc::core::client::height::Height; use voyager_message::{ diff --git a/voyager/modules/client-bootstrap/state-lens/ics23-ics23/Cargo.toml b/voyager/modules/client-bootstrap/state-lens/ics23-ics23/Cargo.toml index ee53f58da9..9c8747d2d3 100644 --- a/voyager/modules/client-bootstrap/state-lens/ics23-ics23/Cargo.toml +++ b/voyager/modules/client-bootstrap/state-lens/ics23-ics23/Cargo.toml @@ -4,21 +4,21 @@ name = "voyager-client-bootstrap-module-state-lens-ics23-ics23" version = "0.1.0" [dependencies] -alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } -beacon-api = { workspace = true } -beacon-api-types = { workspace = true, features = ["serde"] } -cometbft-rpc = { workspace = true } -cosmos-state-lens-light-client-types = { workspace = true, features = ["serde"] } -ibc-union-spec.workspace = true -jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -tendermint-light-client-types = { workspace = true, features = ["serde"] } -tokio = { workspace = true } -tracing = { workspace = true } -unionlabs = { workspace = true } -voyager-message = { workspace = true } -voyager-vm = { workspace = true } +alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } +beacon-api = { workspace = true } +beacon-api-types = { workspace = true, features = ["serde"] } +cometbft-rpc = { workspace = true } +ibc-union-spec.workspace = true +jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +state-lens-ics23-ics23-light-client-types = { workspace = true, features = ["serde"] } +tendermint-light-client-types = { workspace = true, features = ["serde"] } +tokio = { workspace = true } +tracing = { workspace = true } +unionlabs = { workspace = true } +voyager-message = { workspace = true } +voyager-vm = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["full"] } diff --git a/voyager/modules/client-bootstrap/state-lens/ics23-ics23/src/main.rs b/voyager/modules/client-bootstrap/state-lens/ics23-ics23/src/main.rs index 0cfa84a79c..4ebc339d81 100644 --- a/voyager/modules/client-bootstrap/state-lens/ics23-ics23/src/main.rs +++ b/voyager/modules/client-bootstrap/state-lens/ics23-ics23/src/main.rs @@ -1,10 +1,10 @@ -use cosmos_state_lens_light_client_types::{ClientState, ConsensusState}; use jsonrpsee::{ core::{async_trait, RpcResult}, Extensions, }; use serde::{Deserialize, Serialize}; use serde_json::Value; +use state_lens_ics23_ics23_light_client_types::{ClientState, ConsensusState}; use tendermint_light_client_types::ConsensusState as TmConsensusState; use tracing::instrument; use unionlabs::{bech32::Bech32, ibc::core::client::height::Height, primitives::H256}; diff --git a/voyager/modules/client/state-lens/evm/Cargo.toml b/voyager/modules/client/state-lens/evm/Cargo.toml index 33d0edd802..95d824be16 100644 --- a/voyager/modules/client/state-lens/evm/Cargo.toml +++ b/voyager/modules/client/state-lens/evm/Cargo.toml @@ -4,22 +4,22 @@ name = "voyager-client-module-state-lens-evm" version = "0.1.0" [dependencies] -beacon-api-types = { workspace = true, features = ["serde"] } -chain-utils = { workspace = true } -enumorph = { workspace = true } -ethereum-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } -evm-state-lens-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } -futures = { workspace = true } -jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } -macros = { workspace = true } -prost = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde-utils = { workspace = true } -serde_json = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -tracing-subscriber = { workspace = true } -unionlabs = { workspace = true } -voyager-message = { workspace = true } -voyager-vm = { workspace = true } +beacon-api-types = { workspace = true, features = ["serde"] } +chain-utils = { workspace = true } +enumorph = { workspace = true } +ethereum-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } +futures = { workspace = true } +jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } +macros = { workspace = true } +prost = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde-utils = { workspace = true } +serde_json = { workspace = true } +state-lens-ics23-mpt-light-client-types = { workspace = true, features = ["serde", "ethabi", "bincode"] } +thiserror = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +unionlabs = { workspace = true } +voyager-message = { workspace = true } +voyager-vm = { workspace = true } diff --git a/voyager/modules/client/state-lens/evm/src/main.rs b/voyager/modules/client/state-lens/evm/src/main.rs index 903dbbc71e..91985fac1a 100644 --- a/voyager/modules/client/state-lens/evm/src/main.rs +++ b/voyager/modules/client/state-lens/evm/src/main.rs @@ -1,5 +1,4 @@ use ethereum_light_client_types::StorageProof; -use evm_state_lens_light_client_types::{ClientState, ConsensusState, Header}; use jsonrpsee::{ core::{async_trait, RpcResult}, types::ErrorObject, @@ -7,6 +6,7 @@ use jsonrpsee::{ }; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; +use state_lens_ics23_mpt_light_client_types::{ClientState, ConsensusState, Header}; use tracing::instrument; use unionlabs::{ self, @@ -77,7 +77,7 @@ impl ClientModule for Module { type Config = Config; async fn new(_: Self::Config, info: ClientModuleInfo) -> Result { - info.ensure_client_type(ClientType::STATE_LENS_EVM)?; + info.ensure_client_type(ClientType::STATE_LENS_ICS23_MPT)?; info.ensure_consensus_type(ConsensusType::ETHEREUM)?; info.ensure_ibc_interface(IbcInterface::IBC_SOLIDITY) .or(info.ensure_ibc_interface(IbcInterface::IBC_COSMWASM))?; diff --git a/voyager/modules/client/state-lens/ics23-ics23/Cargo.toml b/voyager/modules/client/state-lens/ics23-ics23/Cargo.toml index 1f1f3e42c7..3c9cb02f83 100644 --- a/voyager/modules/client/state-lens/ics23-ics23/Cargo.toml +++ b/voyager/modules/client/state-lens/ics23-ics23/Cargo.toml @@ -4,18 +4,18 @@ name = "voyager-client-module-state-lens-ics23-ics23" version = "0.1.0" [dependencies] -alloy = { workspace = true, features = ["sol-types"] } -cosmos-state-lens-light-client-types = { workspace = true, features = ["serde", "ethabi"] } -futures = { workspace = true } -jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } -macros = { workspace = true } -protos = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -tracing-subscriber = { workspace = true } -unionlabs = { workspace = true } -voyager-message = { workspace = true } -voyager-vm = { workspace = true } +alloy = { workspace = true, features = ["sol-types"] } +futures = { workspace = true } +jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } +macros = { workspace = true } +protos = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +state-lens-ics23-ics23-light-client-types = { workspace = true, features = ["serde", "ethabi"] } +thiserror = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +unionlabs = { workspace = true } +voyager-message = { workspace = true } +voyager-vm = { workspace = true } diff --git a/voyager/modules/client/state-lens/ics23-ics23/src/main.rs b/voyager/modules/client/state-lens/ics23-ics23/src/main.rs index 2fa69b5a14..89ca5b7106 100644 --- a/voyager/modules/client/state-lens/ics23-ics23/src/main.rs +++ b/voyager/modules/client/state-lens/ics23-ics23/src/main.rs @@ -1,5 +1,4 @@ use alloy::sol_types::SolValue as _; -use cosmos_state_lens_light_client_types::{ClientState, ConsensusState, Header}; use jsonrpsee::{ core::{async_trait, RpcResult}, types::ErrorObject, @@ -7,6 +6,7 @@ use jsonrpsee::{ }; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; +use state_lens_ics23_ics23_light_client_types::{ClientState, ConsensusState, Header}; use tracing::instrument; use unionlabs::{ self, diff --git a/voyager/modules/consensus/berachain/Cargo.toml b/voyager/modules/consensus/berachain/Cargo.toml index 766f0125dc..dc28bac732 100644 --- a/voyager/modules/consensus/berachain/Cargo.toml +++ b/voyager/modules/consensus/berachain/Cargo.toml @@ -6,7 +6,7 @@ version = "0.1.0" [dependencies] alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } beacon-api-types = { workspace = true, features = ["serde", "ssz"] } -berachain-light-client-types = { workspace = true, features = ["proto", "serde"] } +berachain-light-client-types = { workspace = true, features = ["serde"] } cometbft-rpc = { workspace = true } dashmap = { workspace = true } enumorph = { workspace = true } diff --git a/voyager/plugins/client-update/berachain/Cargo.toml b/voyager/plugins/client-update/berachain/Cargo.toml index 44af29ed26..1e725c43d6 100644 --- a/voyager/plugins/client-update/berachain/Cargo.toml +++ b/voyager/plugins/client-update/berachain/Cargo.toml @@ -6,7 +6,7 @@ version = "0.1.0" [dependencies] alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } beacon-api-types = { workspace = true, features = ["serde", "ssz"] } -berachain-light-client-types = { workspace = true, features = ["proto", "serde"] } +berachain-light-client-types = { workspace = true, features = ["serde"] } cometbft-rpc = { workspace = true } cometbft-types.workspace = true dashmap = { workspace = true } diff --git a/voyager/plugins/client-update/state-lens/evm/Cargo.toml b/voyager/plugins/client-update/state-lens/evm/Cargo.toml index 7ec196b15c..da8598a618 100644 --- a/voyager/plugins/client-update/state-lens/evm/Cargo.toml +++ b/voyager/plugins/client-update/state-lens/evm/Cargo.toml @@ -4,26 +4,26 @@ name = "voyager-client-update-plugin-state-lens-evm" version = "0.1.0" [dependencies] -alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } -cometbft-rpc = { workspace = true } -cometbft-types.workspace = true -dashmap = { workspace = true } -enumorph = { workspace = true } -evm-state-lens-light-client-types = { workspace = true, features = ["serde"] } -futures = { workspace = true } -ibc-union-spec.workspace = true -ics23 = { workspace = true } -jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } -macros = { workspace = true } -num-bigint = { workspace = true } -prost = { workspace = true } -protos = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -tracing-subscriber = { workspace = true } -unionlabs = { workspace = true } -voyager-message = { workspace = true } -voyager-vm = { workspace = true } +alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } +cometbft-rpc = { workspace = true } +cometbft-types.workspace = true +dashmap = { workspace = true } +enumorph = { workspace = true } +futures = { workspace = true } +ibc-union-spec.workspace = true +ics23 = { workspace = true } +jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } +macros = { workspace = true } +num-bigint = { workspace = true } +prost = { workspace = true } +protos = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +state-lens-ics23-mpt-light-client-types = { workspace = true, features = ["serde"] } +thiserror = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +unionlabs = { workspace = true } +voyager-message = { workspace = true } +voyager-vm = { workspace = true } diff --git a/voyager/plugins/client-update/state-lens/evm/src/main.rs b/voyager/plugins/client-update/state-lens/evm/src/main.rs index 04c9d85ace..d91325a96b 100644 --- a/voyager/plugins/client-update/state-lens/evm/src/main.rs +++ b/voyager/plugins/client-update/state-lens/evm/src/main.rs @@ -5,13 +5,13 @@ use alloy::{ transports::BoxTransport, }; use call::FetchUpdateAfterL1Update; -use evm_state_lens_light_client_types::Header; use ibc_union_spec::{ConsensusStatePath, IbcUnion}; use jsonrpsee::{ core::{async_trait, RpcResult}, Extensions, }; use serde::{Deserialize, Serialize}; +use state_lens_ics23_mpt_light_client_types::Header; use tracing::{debug, instrument}; use unionlabs::ibc::core::commitment::merkle_proof::MerkleProof; use voyager_message::{ @@ -102,7 +102,7 @@ impl Plugin for Module { name: plugin_name(&config.l2_chain_id), interest_filter: UpdateHook::filter( &config.l2_chain_id, - &ClientType::new(ClientType::STATE_LENS_EVM), + &ClientType::new(ClientType::STATE_LENS_ICS23_MPT), ), } } @@ -139,7 +139,7 @@ impl PluginServer for Module { .map(|mut op| { UpdateHook::new( &self.l2_chain_id, - &ClientType::new(ClientType::STATE_LENS_EVM), + &ClientType::new(ClientType::STATE_LENS_ICS23_MPT), |fetch| { Call::Plugin(PluginMessage::new( self.plugin_name(), diff --git a/voyager/plugins/client-update/state-lens/ics23-ics23/Cargo.toml b/voyager/plugins/client-update/state-lens/ics23-ics23/Cargo.toml index 755ba92509..8827b42c43 100644 --- a/voyager/plugins/client-update/state-lens/ics23-ics23/Cargo.toml +++ b/voyager/plugins/client-update/state-lens/ics23-ics23/Cargo.toml @@ -4,26 +4,26 @@ name = "voyager-client-update-plugin-state-lens-ics23-ics23" version = "0.1.0" [dependencies] -alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } -cometbft-rpc = { workspace = true } -cometbft-types.workspace = true -cosmos-state-lens-light-client-types = { workspace = true, features = ["serde"] } -dashmap = { workspace = true } -enumorph = { workspace = true } -futures = { workspace = true } -ibc-union-spec.workspace = true -ics23 = { workspace = true } -jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } -macros = { workspace = true } -num-bigint = { workspace = true } -prost = { workspace = true } -protos = { workspace = true } -serde = { workspace = true, features = ["derive"] } -serde_json = { workspace = true } -thiserror = { workspace = true } -tokio = { workspace = true } -tracing = { workspace = true } -tracing-subscriber = { workspace = true } -unionlabs = { workspace = true } -voyager-message = { workspace = true } -voyager-vm = { workspace = true } +alloy = { workspace = true, features = ["rpc", "rpc-types", "transports", "transport-http", "transport-ws", "reqwest", "provider-ws"] } +cometbft-rpc = { workspace = true } +cometbft-types.workspace = true +dashmap = { workspace = true } +enumorph = { workspace = true } +futures = { workspace = true } +ibc-union-spec.workspace = true +ics23 = { workspace = true } +jsonrpsee = { workspace = true, features = ["macros", "server", "tracing"] } +macros = { workspace = true } +num-bigint = { workspace = true } +prost = { workspace = true } +protos = { workspace = true } +serde = { workspace = true, features = ["derive"] } +serde_json = { workspace = true } +state-lens-ics23-ics23-light-client-types = { workspace = true, features = ["serde"] } +thiserror = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } +tracing-subscriber = { workspace = true } +unionlabs = { workspace = true } +voyager-message = { workspace = true } +voyager-vm = { workspace = true } diff --git a/voyager/plugins/client-update/state-lens/ics23-ics23/src/main.rs b/voyager/plugins/client-update/state-lens/ics23-ics23/src/main.rs index 1f417b9950..1bf6c303cf 100644 --- a/voyager/plugins/client-update/state-lens/ics23-ics23/src/main.rs +++ b/voyager/plugins/client-update/state-lens/ics23-ics23/src/main.rs @@ -1,13 +1,13 @@ use std::{collections::VecDeque, fmt::Debug}; use call::FetchUpdateAfterL1Update; -use cosmos_state_lens_light_client_types::Header; use ibc_union_spec::{ConsensusStatePath, IbcUnion}; use jsonrpsee::{ core::{async_trait, RpcResult}, Extensions, }; use serde::{Deserialize, Serialize}; +use state_lens_ics23_ics23_light_client_types::Header; use tracing::{debug, instrument}; use unionlabs::ibc::core::commitment::merkle_proof::MerkleProof; use voyager_message::{