From 3f2ab31a4de4bb47ed01696f771ee5c2b1244d4d Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Fri, 8 Dec 2023 15:01:28 -0800 Subject: [PATCH 01/12] Add protobuild support --- Cargo.toml | 4 ++ src/lib.rs | 45 ++++++------ tests/test_deserialize.rs | 14 ++++ tools/proto-compiler/Cargo.toml | 2 + tools/proto-compiler/src/cmd/compile.rs | 92 ++++--------------------- 5 files changed, 56 insertions(+), 101 deletions(-) create mode 100644 tests/test_deserialize.rs diff --git a/Cargo.toml b/Cargo.toml index 8f0cdc56..c63ea8a8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,6 +37,7 @@ subtle-encoding = { version = "0.5", default-features = false } base64 = { version = "0.21", default-features = false, features = ["alloc"] } flex-error = { version = "0.4", default-features = false } ics23 = { version = "0.11.0", default-features = false } +pbjson-types = "0.6" ## Optional: enabled by the `parity-scale-codec` feature parity-scale-codec = { version = "3.0.0", default-features = false, features = ["full"], optional = true } @@ -46,6 +47,9 @@ scale-info = { version = "2.1.2", default-features = false, features = [ ## For borsh encode or decode, needs to track `anchor-lang` and `near-sdk-rs` borsh version borsh = { version = "0.10", default-features = false, optional = true } +[dev-dependencies] +serde_json = "1.0.107" + [dependencies.tendermint-proto] version = "0.34" default-features = false diff --git a/src/lib.rs b/src/lib.rs index 4287448b..4ffe5ced 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -241,6 +241,7 @@ pub mod ibc { pub mod client { pub mod v1 { include_proto!("ibc.core.client.v1.rs"); + include_proto!("ibc.core.client.v1.serde.rs"); } } pub mod commitment { @@ -314,25 +315,25 @@ pub mod stride { } } -#[cfg(feature = "serde")] -pub(crate) mod base64 { - use alloc::string::String; - use alloc::vec::Vec; - - use base64::prelude::*; - use serde::{Deserialize, Deserializer, Serialize, Serializer}; - - pub fn serialize(bytes: &[u8], serializer: S) -> Result { - let encoded = BASE64_STANDARD.encode(bytes); - String::serialize(&encoded, serializer) - } - - pub fn deserialize<'de, D: Deserializer<'de>>(deserializer: D) -> Result, D::Error> { - let base64 = String::deserialize(deserializer)?; - let bytes = BASE64_STANDARD - .decode(base64.as_bytes()) - .map_err(serde::de::Error::custom)?; - - Ok(bytes) - } -} +// #[cfg(feature = "serde")] +// pub(crate) mod base64 { +// use alloc::string::String; +// use alloc::vec::Vec; +// +// use base64::prelude::*; +// use serde::{Deserialize, Deserializer, Serialize, Serializer}; +// +// pub fn serialize(bytes: &[u8], serializer: S) -> Result { +// let encoded = BASE64_STANDARD.encode(bytes); +// String::serialize(&encoded, serializer) +// } +// +// pub fn deserialize<'de, D: Deserializer<'de>>(deserializer: D) -> Result, D::Error> { +// let base64 = String::deserialize(deserializer)?; +// let bytes = BASE64_STANDARD +// .decode(base64.as_bytes()) +// .map_err(serde::de::Error::custom)?; +// +// Ok(bytes) +// } +// } diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs new file mode 100644 index 00000000..d45d096d --- /dev/null +++ b/tests/test_deserialize.rs @@ -0,0 +1,14 @@ +use ibc_proto::ibc::core::client::v1::Height; + +#[test] +fn test_height_err() { + let data = r#" + { + "revisionNumber": "5", + "revisionHeight": "3928271" + } + "#; + let height: Height = serde_json::from_str(data).unwrap(); + assert_eq!(height.revision_number, 5u64); // 5 != 0 ❌ + assert_eq!(height.revision_height, 3928271u64); // 3928271 != 0 ❌ +} diff --git a/tools/proto-compiler/Cargo.toml b/tools/proto-compiler/Cargo.toml index 7e50bbe4..c35164e4 100644 --- a/tools/proto-compiler/Cargo.toml +++ b/tools/proto-compiler/Cargo.toml @@ -14,3 +14,5 @@ argh = "0.1" tonic = "0.10" tonic-build = "0.10" similar = "2.2" +pbjson = "0.6" +pbjson-build = "0.6" diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index 3b97d062..6c9cfa43 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -116,100 +116,34 @@ impl CompileCmd { // List available paths for dependencies let includes: Vec = proto_includes_paths.iter().map(PathBuf::from).collect(); - let attrs_serde = - r#"#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))]"#; - let attrs_serde_default = r#"#[cfg_attr(feature = "serde", serde(default))]"#; - let attrs_jsonschema = r#"#[cfg_attr(all(feature = "json-schema", feature = "serde"), derive(::schemars::JsonSchema))]"#; - - let attrs_ord = "#[derive(Eq, PartialOrd, Ord)]"; - let attrs_eq = "#[derive(Eq)]"; - let attrs_serde_base64 = r#"#[cfg_attr(feature = "serde", serde(with = "crate::base64"))]"#; - let attrs_jsonschema_str = r#"#[cfg_attr(all(feature = "json-schema", feature = "serde"), schemars(with = "String"))]"#; - // Automatically derive a `prost::Name` implementation. let mut config = prost_build::Config::new(); config.enable_type_names(); + let descriptor_set_path = out_dir.join("proto_descriptor.bin"); + tonic_build::configure() .build_client(true) .compile_well_known_types(true) + .extern_path(".google.protobuf", "::pbjson_types") .client_mod_attribute(".", r#"#[cfg(feature = "client")]"#) .build_server(true) .server_mod_attribute(".", r#"#[cfg(feature = "server")]"#) .out_dir(out_dir) - .file_descriptor_set_path(out_dir.join("proto_descriptor.bin")) + .file_descriptor_set_path(descriptor_set_path.clone()) .extern_path(".tendermint", "::tendermint_proto") .extern_path(".ics23", "::ics23") - .type_attribute(".google.protobuf.Any", attrs_serde) - .type_attribute(".google.protobuf.Any", attrs_eq) - .type_attribute(".google.protobuf.Any", attrs_jsonschema) - .type_attribute(".google.protobuf.Timestamp", attrs_serde) - .type_attribute(".google.protobuf.Duration", attrs_serde) - .type_attribute(".google.protobuf.Duration", attrs_eq) - .type_attribute(".ibc.core.client.v1", attrs_serde) - .type_attribute(".ibc.core.client.v1.Height", attrs_ord) - .type_attribute(".ibc.core.client.v1.Height", attrs_jsonschema) - .field_attribute(".ibc.core.client.v1.Height", attrs_serde_default) - .type_attribute(".ibc.core.commitment.v1", attrs_serde) - .type_attribute(".ibc.core.commitment.v1.MerkleRoot", attrs_jsonschema) - .field_attribute( - ".ibc.core.commitment.v1.MerkleRoot.hash", - attrs_serde_base64, - ) - .field_attribute( - ".ibc.core.commitment.v1.MerkleRoot.hash", - attrs_jsonschema_str, - ) - .type_attribute(".ibc.core.commitment.v1.MerklePrefix", attrs_jsonschema) - .field_attribute( - ".ibc.core.commitment.v1.MerklePrefix.key_prefix", - attrs_serde_base64, - ) - .field_attribute( - ".ibc.core.commitment.v1.MerklePrefix.key_prefix", - attrs_jsonschema_str, - ) - .type_attribute(".ibc.core.channel.v1", attrs_serde) - .type_attribute(".ibc.core.channel.v1.Channel", attrs_jsonschema) - .type_attribute(".ibc.core.channel.v1.Counterparty", attrs_jsonschema) - .type_attribute(".ibc.core.connection.v1", attrs_serde) - .type_attribute(".ibc.core.connection.v1.ConnectionEnd", attrs_jsonschema) - .type_attribute(".ibc.core.connection.v1.Counterparty", attrs_jsonschema) - .type_attribute(".ibc.core.connection.v1.Version", attrs_jsonschema) - .type_attribute(".ibc.core.types.v1", attrs_serde) - .type_attribute(".ibc.applications.transfer.v1", attrs_serde) - .field_attribute( - ".ibc.applications.transfer.v1.MsgTransfer.memo", - attrs_serde_default, - ) - .type_attribute(".ibc.applications.transfer.v2", attrs_serde) - .field_attribute( - ".ibc.applications.transfer.v2.FungibleTokenPacketData.memo", - attrs_serde_default, - ) - .type_attribute( - ".ibc.applications.interchain_accounts.controller.v1", - attrs_serde, - ) - .type_attribute( - ".ibc.applications.interchain_accounts.genesis.v1", - attrs_serde, - ) - .type_attribute(".ibc.applications.interchain_accounts.host.v1", attrs_serde) - .type_attribute(".ibc.applications.interchain_accounts.v1", attrs_serde) - .type_attribute(".ibc.lightclients.tendermint.v1", attrs_serde) - .type_attribute(".ibc.lightclients.localhost.v2", attrs_serde) - .type_attribute(".ibc.lightclients.solomachine.v3", attrs_serde) - .type_attribute(".cosmos.app.v1alpha1", attrs_serde) - .type_attribute(".cosmos.auth.v1beta1", attrs_serde) - .type_attribute(".cosmos.bank.v1beta1", attrs_serde) - .type_attribute(".cosmos.base.v1beta1", attrs_serde) - .type_attribute(".cosmos.base.query.v1beta1", attrs_serde) - .type_attribute(".cosmos.config.v1", attrs_serde) - .type_attribute(".cosmos.tx.config.v1", attrs_serde) - .type_attribute(".cosmos.upgrade.v1beta1", attrs_serde) .compile_with_config(config, &protos, &includes)?; + + println!("[info] Building pbjson Serialize, Deserialize impls..."); + let descriptor_set = std::fs::read(descriptor_set_path.clone())?; + + pbjson_build::Builder::new() + .register_descriptors(&descriptor_set)? + .out_dir(&out_dir) + .build(&[".ibc"])?; + println!("[info ] Protos compiled successfully"); Ok(()) From c4db7d94d69c22a0f87d2e075c0805edd964c414 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Fri, 8 Dec 2023 15:48:50 -0800 Subject: [PATCH 02/12] In progress --- Cargo.toml | 1 + src/google.rs | 1 + src/lib.rs | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index c63ea8a8..22584734 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,6 +38,7 @@ base64 = { version = "0.21", default-features = false, features = ["all flex-error = { version = "0.4", default-features = false } ics23 = { version = "0.11.0", default-features = false } pbjson-types = "0.6" +pbjson = "0.6" ## Optional: enabled by the `parity-scale-codec` feature parity-scale-codec = { version = "3.0.0", default-features = false, features = ["full"], optional = true } diff --git a/src/google.rs b/src/google.rs index 8a60c6c0..04473d1c 100644 --- a/src/google.rs +++ b/src/google.rs @@ -1,6 +1,7 @@ pub mod protobuf { use crate::include_proto; include_proto!("google.protobuf.rs"); + include_proto!("google.protobuf.serde.rs"); // source: https://github.com/tokio-rs/prost/blob/master/prost-types/src/lib.rs use core::convert::TryFrom; diff --git a/src/lib.rs b/src/lib.rs index 4ffe5ced..8ab72ddd 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -43,11 +43,13 @@ pub mod cosmos { pub mod app { pub mod v1alpha1 { include_proto!("cosmos.app.v1alpha1.rs"); + include_proto!("cosmos.app.v1alpha1.serde.rs"); } } pub mod auth { pub mod v1beta1 { include_proto!("cosmos.auth.v1beta1.rs"); + include_proto!("cosmos.auth.v1beta1.serde.rs"); /// EthAccount defines an Ethermint account. /// TODO: remove when/if a canonical `EthAccount` /// lands in the next Cosmos SDK release @@ -64,26 +66,31 @@ pub mod cosmos { pub mod module { pub mod v1 { include_proto!("cosmos.auth.module.v1.rs"); + include_proto!("cosmos.auth.module.v1.serde.rs"); } } } pub mod staking { pub mod v1beta1 { include_proto!("cosmos.staking.v1beta1.rs"); + include_proto!("cosmos.staking.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.staking.module.v1.rs"); + include_proto!("cosmos.staking.module.v1.serde.rs"); } } } pub mod bank { pub mod v1beta1 { include_proto!("cosmos.bank.v1beta1.rs"); + include_proto!("cosmos.bank.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.bank.module.v1.rs"); + include_proto!("cosmos.bank.module.v1.serde.rs"); } } } @@ -91,39 +98,47 @@ pub mod cosmos { pub mod abci { pub mod v1beta1 { include_proto!("cosmos.base.abci.v1beta1.rs"); + include_proto!("cosmos.base.abci.v1beta1.serde.rs"); } } pub mod node { pub mod v1beta1 { include_proto!("cosmos.base.node.v1beta1.rs"); + include_proto!("cosmos.base.node.v1beta1.serde.rs"); } } pub mod query { pub mod v1beta1 { include_proto!("cosmos.base.query.v1beta1.rs"); + include_proto!("cosmos.base.query.v1beta1.serde.rs"); } } pub mod reflection { pub mod v1beta1 { include_proto!("cosmos.base.reflection.v1beta1.rs"); + include_proto!("cosmos.base.reflection.v1beta1.serde.rs"); } } pub mod v1beta1 { include_proto!("cosmos.base.v1beta1.rs"); + include_proto!("cosmos.base.v1beta1.serde.rs"); } pub mod tendermint { pub mod v1beta1 { include_proto!("cosmos.base.tendermint.v1beta1.rs"); + include_proto!("cosmos.base.tendermint.v1beta1.serde.rs"); } } pub mod kv { pub mod v1beta1 { include_proto!("cosmos.base.kv.v1beta1.rs"); + include_proto!("cosmos.base.kv.v1beta1.serde.rs"); } } pub mod snapshots { pub mod v1beta1 { include_proto!("cosmos.base.snapshots.v1beta1.rs"); + include_proto!("cosmos.base.snapshots.v1beta1.serde.rs"); } } } @@ -131,26 +146,33 @@ pub mod cosmos { pub mod multisig { pub mod v1beta1 { include_proto!("cosmos.crypto.multisig.v1beta1.rs"); + include_proto!("cosmos.crypto.multisig.v1beta1.serde.rs"); } include_proto!("cosmos.crypto.multisig.rs"); + include_proto!("cosmos.crypto.multisig.serde.rs"); } pub mod ed25519 { include_proto!("cosmos.crypto.ed25519.rs"); + include_proto!("cosmos.crypto.ed25519.serde.rs"); } pub mod secp256k1 { include_proto!("cosmos.crypto.secp256k1.rs"); + include_proto!("cosmos.crypto.secp256k1.serde.rs"); } pub mod secp256r1 { include_proto!("cosmos.crypto.secp256r1.rs"); + include_proto!("cosmos.crypto.secp256r1.serde.rs"); } pub mod keyring { pub mod v1 { include_proto!("cosmos.crypto.keyring.v1.rs"); + include_proto!("cosmos.crypto.keyring.v1.serde.rs"); } } pub mod hd { pub mod v1 { include_proto!("cosmos.crypto.hd.v1.rs"); + include_proto!("cosmos.crypto.hd.v1.serde.rs"); } } } @@ -158,37 +180,45 @@ pub mod cosmos { pub mod config { pub mod v1 { include_proto!("cosmos.tx.config.v1.rs"); + include_proto!("cosmos.tx.config.v1.serde.rs"); } } pub mod signing { pub mod v1beta1 { include_proto!("cosmos.tx.signing.v1beta1.rs"); + include_proto!("cosmos.tx.signing.v1beta1.serde.rs"); } } pub mod v1beta1 { include_proto!("cosmos.tx.v1beta1.rs"); + include_proto!("cosmos.tx.v1beta1.serde.rs"); } } pub mod upgrade { pub mod v1beta1 { include_proto!("cosmos.upgrade.v1beta1.rs"); + include_proto!("cosmos.upgrade.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.upgrade.module.v1.rs"); + include_proto!("cosmos.upgrade.module.v1.serde.rs"); } } } pub mod gov { pub mod v1 { include_proto!("cosmos.gov.v1.rs"); + include_proto!("cosmos.gov.v1.serde.rs"); } pub mod v1beta1 { include_proto!("cosmos.gov.v1beta1.rs"); + include_proto!("cosmos.gov.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.gov.module.v1.rs"); + include_proto!("cosmos.gov.module.v1.serde.rs"); } } } @@ -206,28 +236,34 @@ pub mod ibc { pub mod transfer { pub mod v1 { include_proto!("ibc.applications.transfer.v1.rs"); + include_proto!("ibc.applications.transfer.v1.serde.rs"); } pub mod v2 { include_proto!("ibc.applications.transfer.v2.rs"); + include_proto!("ibc.applications.transfer.v2.serde.rs"); } } pub mod fee { pub mod v1 { include_proto!("ibc.applications.fee.v1.rs"); + include_proto!("ibc.applications.fee.v1.serde.rs"); } } pub mod interchain_accounts { pub mod v1 { include_proto!("ibc.applications.interchain_accounts.v1.rs"); + include_proto!("ibc.applications.interchain_accounts.v1.serde.rs"); } pub mod controller { pub mod v1 { include_proto!("ibc.applications.interchain_accounts.controller.v1.rs"); + include_proto!("ibc.applications.interchain_accounts.controller.v1.serde.rs"); } } pub mod host { pub mod v1 { include_proto!("ibc.applications.interchain_accounts.host.v1.rs"); + include_proto!("ibc.applications.interchain_accounts.host.v1.serde.rs"); } } } @@ -236,6 +272,7 @@ pub mod ibc { pub mod channel { pub mod v1 { include_proto!("ibc.core.channel.v1.rs"); + include_proto!("ibc.core.channel.v1.serde.rs"); } } pub mod client { @@ -247,16 +284,19 @@ pub mod ibc { pub mod commitment { pub mod v1 { include_proto!("ibc.core.commitment.v1.rs"); + include_proto!("ibc.core.commitment.v1.serde.rs"); } } pub mod connection { pub mod v1 { include_proto!("ibc.core.connection.v1.rs"); + include_proto!("ibc.core.connection.v1.serde.rs"); } } pub mod types { pub mod v1 { include_proto!("ibc.core.types.v1.rs"); + include_proto!("ibc.core.types.v1.serde.rs"); } } } @@ -264,24 +304,29 @@ pub mod ibc { pub mod localhost { pub mod v1 { include_proto!("ibc.lightclients.localhost.v1.rs"); + include_proto!("ibc.lightclients.localhost.v1.serde.rs"); } pub mod v2 { include_proto!("ibc.lightclients.localhost.v2.rs"); + include_proto!("ibc.lightclients.localhost.v2.serde.rs"); } } pub mod solomachine { pub mod v3 { include_proto!("ibc.lightclients.solomachine.v3.rs"); + include_proto!("ibc.lightclients.solomachine.v3.serde.rs"); } } pub mod tendermint { pub mod v1 { include_proto!("ibc.lightclients.tendermint.v1.rs"); + include_proto!("ibc.lightclients.tendermint.v1.serde.rs"); } } } pub mod mock { include_proto!("ibc.mock.rs"); + include_proto!("ibc.mock.serde.rs"); } } @@ -293,15 +338,18 @@ pub mod interchain_security { #[allow(clippy::match_single_binding)] pub mod v1 { include_proto!("interchain_security.ccv.v1.rs"); + include_proto!("interchain_security.ccv.v1.serde.rs"); } pub mod provider { pub mod v1 { include_proto!("interchain_security.ccv.provider.v1.rs"); + include_proto!("interchain_security.ccv.provider.v1.serde.rs"); } } pub mod consumer { pub mod v1 { include_proto!("interchain_security.ccv.consumer.v1.rs"); + include_proto!("interchain_security.ccv.consumer.v1.serde.rs"); } } } @@ -311,6 +359,7 @@ pub mod stride { pub mod interchainquery { pub mod v1 { include_proto!("stride.interchainquery.v1.rs"); + include_proto!("stride.interchainquery.v1.serde.rs"); } } } From 801476c9fc4b17aa4d7ddc5b2fc6373563b949c6 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Fri, 8 Dec 2023 15:59:49 -0800 Subject: [PATCH 03/12] update compile.rs --- src/prost/cosmos.app.v1alpha1.rs | 104 - src/prost/cosmos.auth.module.v1.rs | 40 - src/prost/cosmos.auth.v1beta1.rs | 1854 -------- src/prost/cosmos.bank.module.v1.rs | 22 - src/prost/cosmos.bank.v1beta1.rs | 2565 ----------- src/prost/cosmos.base.abci.v1beta1.rs | 253 -- src/prost/cosmos.base.kv.v1beta1.rs | 30 - src/prost/cosmos.base.node.v1beta1.rs | 316 -- src/prost/cosmos.base.query.v1beta1.rs | 72 - src/prost/cosmos.base.reflection.v1beta1.rs | 461 -- src/prost/cosmos.base.reflection.v2alpha1.rs | 1197 ----- src/prost/cosmos.base.snapshots.v1beta1.rs | 184 - src/prost/cosmos.base.tendermint.v1beta1.rs | 1262 ------ src/prost/cosmos.base.v1beta1.rs | 70 - src/prost/cosmos.crypto.ed25519.rs | 33 - src/prost/cosmos.crypto.hd.v1.rs | 28 - src/prost/cosmos.crypto.keyring.v1.rs | 96 - src/prost/cosmos.crypto.multisig.rs | 20 - src/prost/cosmos.crypto.multisig.v1beta1.rs | 35 - src/prost/cosmos.crypto.secp256k1.rs | 32 - src/prost/cosmos.crypto.secp256r1.rs | 31 - src/prost/cosmos.gov.module.v1.rs | 19 - src/prost/cosmos.gov.v1.rs | 2459 ----------- src/prost/cosmos.gov.v1beta1.rs | 2160 ---------- src/prost/cosmos.staking.module.v1.rs | 20 - src/prost/cosmos.staking.v1beta1.rs | 3742 ---------------- src/prost/cosmos.tx.config.v1.rs | 21 - src/prost/cosmos.tx.signing.v1beta1.rs | 189 - src/prost/cosmos.tx.v1beta1.rs | 1763 -------- src/prost/cosmos.upgrade.module.v1.rs | 15 - src/prost/cosmos.upgrade.v1beta1.rs | 1383 ------ src/prost/cosmos_proto.rs | 87 - src/prost/google.api.rs | 392 -- src/prost/google.protobuf.rs | 2292 ---------- src/prost/ibc.applications.fee.v1.rs | 2367 ---------- ...tions.interchain_accounts.controller.v1.rs | 1066 ----- ...ications.interchain_accounts.genesis.v1.rs | 110 - ...pplications.interchain_accounts.host.v1.rs | 695 --- ...ibc.applications.interchain_accounts.v1.rs | 119 - src/prost/ibc.applications.transfer.v1.rs | 1506 ------- src/prost/ibc.applications.transfer.v2.rs | 31 - src/prost/ibc.core.channel.v1.rs | 3836 ----------------- src/prost/ibc.core.client.v1.rs | 2607 ----------- src/prost/ibc.core.commitment.v1.rs | 89 - src/prost/ibc.core.connection.v1.rs | 2062 --------- src/prost/ibc.core.types.v1.rs | 24 - src/prost/ibc.lightclients.localhost.v1.rs | 19 - src/prost/ibc.lightclients.localhost.v2.rs | 18 - src/prost/ibc.lightclients.solomachine.v2.rs | 380 -- src/prost/ibc.lightclients.solomachine.v3.rs | 181 - src/prost/ibc.lightclients.tendermint.v1.rs | 168 - src/prost/ibc.mock.rs | 58 - .../interchain_security.ccv.consumer.v1.rs | 648 --- .../interchain_security.ccv.provider.v1.rs | 2515 ----------- src/prost/interchain_security.ccv.v1.rs | 458 -- src/prost/proto_descriptor.bin | Bin 716903 -> 0 bytes src/prost/stride.interchainquery.v1.rs | 340 -- tools/proto-compiler/src/cmd/compile.rs | 20 +- 58 files changed, 15 insertions(+), 42549 deletions(-) delete mode 100644 src/prost/cosmos.app.v1alpha1.rs delete mode 100644 src/prost/cosmos.auth.module.v1.rs delete mode 100644 src/prost/cosmos.auth.v1beta1.rs delete mode 100644 src/prost/cosmos.bank.module.v1.rs delete mode 100644 src/prost/cosmos.bank.v1beta1.rs delete mode 100644 src/prost/cosmos.base.abci.v1beta1.rs delete mode 100644 src/prost/cosmos.base.kv.v1beta1.rs delete mode 100644 src/prost/cosmos.base.node.v1beta1.rs delete mode 100644 src/prost/cosmos.base.query.v1beta1.rs delete mode 100644 src/prost/cosmos.base.reflection.v1beta1.rs delete mode 100644 src/prost/cosmos.base.reflection.v2alpha1.rs delete mode 100644 src/prost/cosmos.base.snapshots.v1beta1.rs delete mode 100644 src/prost/cosmos.base.tendermint.v1beta1.rs delete mode 100644 src/prost/cosmos.base.v1beta1.rs delete mode 100644 src/prost/cosmos.crypto.ed25519.rs delete mode 100644 src/prost/cosmos.crypto.hd.v1.rs delete mode 100644 src/prost/cosmos.crypto.keyring.v1.rs delete mode 100644 src/prost/cosmos.crypto.multisig.rs delete mode 100644 src/prost/cosmos.crypto.multisig.v1beta1.rs delete mode 100644 src/prost/cosmos.crypto.secp256k1.rs delete mode 100644 src/prost/cosmos.crypto.secp256r1.rs delete mode 100644 src/prost/cosmos.gov.module.v1.rs delete mode 100644 src/prost/cosmos.gov.v1.rs delete mode 100644 src/prost/cosmos.gov.v1beta1.rs delete mode 100644 src/prost/cosmos.staking.module.v1.rs delete mode 100644 src/prost/cosmos.staking.v1beta1.rs delete mode 100644 src/prost/cosmos.tx.config.v1.rs delete mode 100644 src/prost/cosmos.tx.signing.v1beta1.rs delete mode 100644 src/prost/cosmos.tx.v1beta1.rs delete mode 100644 src/prost/cosmos.upgrade.module.v1.rs delete mode 100644 src/prost/cosmos.upgrade.v1beta1.rs delete mode 100644 src/prost/cosmos_proto.rs delete mode 100644 src/prost/google.api.rs delete mode 100644 src/prost/google.protobuf.rs delete mode 100644 src/prost/ibc.applications.fee.v1.rs delete mode 100644 src/prost/ibc.applications.interchain_accounts.controller.v1.rs delete mode 100644 src/prost/ibc.applications.interchain_accounts.genesis.v1.rs delete mode 100644 src/prost/ibc.applications.interchain_accounts.host.v1.rs delete mode 100644 src/prost/ibc.applications.interchain_accounts.v1.rs delete mode 100644 src/prost/ibc.applications.transfer.v1.rs delete mode 100644 src/prost/ibc.applications.transfer.v2.rs delete mode 100644 src/prost/ibc.core.channel.v1.rs delete mode 100644 src/prost/ibc.core.client.v1.rs delete mode 100644 src/prost/ibc.core.commitment.v1.rs delete mode 100644 src/prost/ibc.core.connection.v1.rs delete mode 100644 src/prost/ibc.core.types.v1.rs delete mode 100644 src/prost/ibc.lightclients.localhost.v1.rs delete mode 100644 src/prost/ibc.lightclients.localhost.v2.rs delete mode 100644 src/prost/ibc.lightclients.solomachine.v2.rs delete mode 100644 src/prost/ibc.lightclients.solomachine.v3.rs delete mode 100644 src/prost/ibc.lightclients.tendermint.v1.rs delete mode 100644 src/prost/ibc.mock.rs delete mode 100644 src/prost/interchain_security.ccv.consumer.v1.rs delete mode 100644 src/prost/interchain_security.ccv.provider.v1.rs delete mode 100644 src/prost/interchain_security.ccv.v1.rs delete mode 100644 src/prost/proto_descriptor.bin delete mode 100644 src/prost/stride.interchainquery.v1.rs diff --git a/src/prost/cosmos.app.v1alpha1.rs b/src/prost/cosmos.app.v1alpha1.rs deleted file mode 100644 index 4098c8ce..00000000 --- a/src/prost/cosmos.app.v1alpha1.rs +++ /dev/null @@ -1,104 +0,0 @@ -/// ModuleDescriptor describes an app module. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ModuleDescriptor { - /// go_import names the package that should be imported by an app to load the - /// module in the runtime module registry. It is required to make debugging - /// of configuration errors easier for users. - #[prost(string, tag = "1")] - pub go_import: ::prost::alloc::string::String, - /// use_package refers to a protobuf package that this module - /// uses and exposes to the world. In an app, only one module should "use" - /// or own a single protobuf package. It is assumed that the module uses - /// all of the .proto files in a single package. - #[prost(message, repeated, tag = "2")] - pub use_package: ::prost::alloc::vec::Vec, - /// can_migrate_from defines which module versions this module can migrate - /// state from. The framework will check that one module version is able to - /// migrate from a previous module version before attempting to update its - /// config. It is assumed that modules can transitively migrate from earlier - /// versions. For instance if v3 declares it can migrate from v2, and v2 - /// declares it can migrate from v1, the framework knows how to migrate - /// from v1 to v3, assuming all 3 module versions are registered at runtime. - #[prost(message, repeated, tag = "3")] - pub can_migrate_from: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ModuleDescriptor { - const NAME: &'static str = "ModuleDescriptor"; - const PACKAGE: &'static str = "cosmos.app.v1alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.app.v1alpha1.{}", Self::NAME) - } -} -/// PackageReference is a reference to a protobuf package used by a module. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PackageReference { - /// name is the fully-qualified name of the package. - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// revision is the optional revision of the package that is being used. - /// Protobuf packages used in Cosmos should generally have a major version - /// as the last part of the package name, ex. foo.bar.baz.v1. - /// The revision of a package can be thought of as the minor version of a - /// package which has additional backwards compatible definitions that weren't - /// present in a previous version. - /// - /// A package should indicate its revision with a source code comment - /// above the package declaration in one of its files containing the - /// text "Revision N" where N is an integer revision. All packages start - /// at revision 0 the first time they are released in a module. - /// - /// When a new version of a module is released and items are added to existing - /// .proto files, these definitions should contain comments of the form - /// "Since Revision N" where N is an integer revision. - /// - /// When the module runtime starts up, it will check the pinned proto - /// image and panic if there are runtime protobuf definitions that are not - /// in the pinned descriptor which do not have - /// a "Since Revision N" comment or have a "Since Revision N" comment where - /// N is <= to the revision specified here. This indicates that the protobuf - /// files have been updated, but the pinned file descriptor hasn't. - /// - /// If there are items in the pinned file descriptor with a revision - /// greater than the value indicated here, this will also cause a panic - /// as it may mean that the pinned descriptor for a legacy module has been - /// improperly updated or that there is some other versioning discrepancy. - /// Runtime protobuf definitions will also be checked for compatibility - /// with pinned file descriptors to make sure there are no incompatible changes. - /// - /// This behavior ensures that: - /// * pinned proto images are up-to-date - /// * protobuf files are carefully annotated with revision comments which - /// are important good client UX - /// * protobuf files are changed in backwards and forwards compatible ways - #[prost(uint32, tag = "2")] - pub revision: u32, -} -impl ::prost::Name for PackageReference { - const NAME: &'static str = "PackageReference"; - const PACKAGE: &'static str = "cosmos.app.v1alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.app.v1alpha1.{}", Self::NAME) - } -} -/// MigrateFromInfo is information on a module version that a newer module -/// can migrate from. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MigrateFromInfo { - /// module is the fully-qualified protobuf name of the module config object - /// for the previous module version, ex: "cosmos.group.module.v1.Module". - #[prost(string, tag = "1")] - pub module: ::prost::alloc::string::String, -} -impl ::prost::Name for MigrateFromInfo { - const NAME: &'static str = "MigrateFromInfo"; - const PACKAGE: &'static str = "cosmos.app.v1alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.app.v1alpha1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.auth.module.v1.rs b/src/prost/cosmos.auth.module.v1.rs deleted file mode 100644 index 59a0940d..00000000 --- a/src/prost/cosmos.auth.module.v1.rs +++ /dev/null @@ -1,40 +0,0 @@ -/// Module is the config object for the auth module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Module { - /// bech32_prefix is the bech32 account prefix for the app. - #[prost(string, tag = "1")] - pub bech32_prefix: ::prost::alloc::string::String, - /// module_account_permissions are module account permissions. - #[prost(message, repeated, tag = "2")] - pub module_account_permissions: ::prost::alloc::vec::Vec, - /// authority defines the custom module authority. If not set, defaults to the governance module. - #[prost(string, tag = "3")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for Module { - const NAME: &'static str = "Module"; - const PACKAGE: &'static str = "cosmos.auth.module.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.module.v1.{}", Self::NAME) - } -} -/// ModuleAccountPermission represents permissions for a module account. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ModuleAccountPermission { - /// account is the name of the module. - #[prost(string, tag = "1")] - pub account: ::prost::alloc::string::String, - /// permissions are the permissions this module has. Currently recognized - /// values are minter, burner and staking. - #[prost(string, repeated, tag = "2")] - pub permissions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ModuleAccountPermission { - const NAME: &'static str = "ModuleAccountPermission"; - const PACKAGE: &'static str = "cosmos.auth.module.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.module.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.auth.v1beta1.rs b/src/prost/cosmos.auth.v1beta1.rs deleted file mode 100644 index 15ed107b..00000000 --- a/src/prost/cosmos.auth.v1beta1.rs +++ /dev/null @@ -1,1854 +0,0 @@ -/// BaseAccount defines a base account type. It contains all the necessary fields -/// for basic account functionality. Any custom account type should extend this -/// type for additional functionality (e.g. vesting). -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BaseAccount { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub pub_key: ::core::option::Option, - #[prost(uint64, tag = "3")] - pub account_number: u64, - #[prost(uint64, tag = "4")] - pub sequence: u64, -} -impl ::prost::Name for BaseAccount { - const NAME: &'static str = "BaseAccount"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// ModuleAccount defines an account for modules that holds coins on a pool. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ModuleAccount { - #[prost(message, optional, tag = "1")] - pub base_account: ::core::option::Option, - #[prost(string, tag = "2")] - pub name: ::prost::alloc::string::String, - #[prost(string, repeated, tag = "3")] - pub permissions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ModuleAccount { - const NAME: &'static str = "ModuleAccount"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// ModuleCredential represents a unclaimable pubkey for base accounts controlled by modules. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ModuleCredential { - /// module_name is the name of the module used for address derivation (passed into address.Module). - #[prost(string, tag = "1")] - pub module_name: ::prost::alloc::string::String, - /// derivation_keys is for deriving a module account address (passed into address.Module) - /// adding more keys creates sub-account addresses (passed into address.Derive) - #[prost(bytes = "vec", repeated, tag = "2")] - pub derivation_keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for ModuleCredential { - const NAME: &'static str = "ModuleCredential"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// Params defines the parameters for the auth module. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - #[prost(uint64, tag = "1")] - pub max_memo_characters: u64, - #[prost(uint64, tag = "2")] - pub tx_sig_limit: u64, - #[prost(uint64, tag = "3")] - pub tx_size_cost_per_byte: u64, - #[prost(uint64, tag = "4")] - pub sig_verify_cost_ed25519: u64, - #[prost(uint64, tag = "5")] - pub sig_verify_cost_secp256k1: u64, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// MsgUpdateParams is the Msg/UpdateParams request type. -/// -/// Since: cosmos-sdk 0.47 -#[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. -/// -/// Since: cosmos-sdk 0.47 -#[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) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the x/auth Msg service. - #[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 - } - /// UpdateParams defines a (governance) operation for updating the x/auth module - /// parameters. The authority defaults to the x/gov module account. - /// - /// Since: cosmos-sdk 0.47 - pub async fn update_params( - &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.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 - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// UpdateParams defines a (governance) operation for updating the x/auth module - /// parameters. The authority defaults to the x/gov module account. - /// - /// Since: cosmos-sdk 0.47 - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the x/auth Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.auth.v1beta1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "cosmos.auth.v1beta1.Msg"; - } -} -/// QueryAccountsRequest is the request type for the Query/Accounts RPC method. -/// -/// Since: cosmos-sdk 0.43 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAccountsRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryAccountsRequest { - const NAME: &'static str = "QueryAccountsRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountsResponse is the response type for the Query/Accounts RPC method. -/// -/// Since: cosmos-sdk 0.43 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAccountsResponse { - /// accounts are the existing accounts - #[prost(message, repeated, tag = "1")] - pub accounts: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryAccountsResponse { - const NAME: &'static str = "QueryAccountsResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountRequest is the request type for the Query/Account 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 QueryAccountRequest { - /// address defines the address to query for. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryAccountRequest { - const NAME: &'static str = "QueryAccountRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountResponse is the response type for the Query/Account 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 QueryAccountResponse { - /// account defines the account of the corresponding address. - #[prost(message, optional, tag = "1")] - pub account: ::core::option::Option, -} -impl ::prost::Name for QueryAccountResponse { - const NAME: &'static str = "QueryAccountResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryParamsRequest is the request type for the Query/Params 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 QueryParamsRequest {} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryParamsResponse is the response type for the Query/Params 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 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 = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryModuleAccountsRequest is the request type for the Query/ModuleAccounts RPC method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryModuleAccountsRequest {} -impl ::prost::Name for QueryModuleAccountsRequest { - const NAME: &'static str = "QueryModuleAccountsRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryModuleAccountsResponse { - #[prost(message, repeated, tag = "1")] - pub accounts: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryModuleAccountsResponse { - const NAME: &'static str = "QueryModuleAccountsResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryModuleAccountByNameRequest is the request type for the Query/ModuleAccountByName 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 QueryModuleAccountByNameRequest { - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryModuleAccountByNameRequest { - const NAME: &'static str = "QueryModuleAccountByNameRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName 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 QueryModuleAccountByNameResponse { - #[prost(message, optional, tag = "1")] - pub account: ::core::option::Option, -} -impl ::prost::Name for QueryModuleAccountByNameResponse { - const NAME: &'static str = "QueryModuleAccountByNameResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// Bech32PrefixRequest is the request type for Bech32Prefix rpc method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Bech32PrefixRequest {} -impl ::prost::Name for Bech32PrefixRequest { - const NAME: &'static str = "Bech32PrefixRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// Bech32PrefixResponse is the response type for Bech32Prefix rpc method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Bech32PrefixResponse { - #[prost(string, tag = "1")] - pub bech32_prefix: ::prost::alloc::string::String, -} -impl ::prost::Name for Bech32PrefixResponse { - const NAME: &'static str = "Bech32PrefixResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// AddressBytesToStringRequest is the request type for AddressString rpc method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AddressBytesToStringRequest { - #[prost(bytes = "vec", tag = "1")] - pub address_bytes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for AddressBytesToStringRequest { - const NAME: &'static str = "AddressBytesToStringRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// AddressBytesToStringResponse is the response type for AddressString rpc method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AddressBytesToStringResponse { - #[prost(string, tag = "1")] - pub address_string: ::prost::alloc::string::String, -} -impl ::prost::Name for AddressBytesToStringResponse { - const NAME: &'static str = "AddressBytesToStringResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// AddressStringToBytesRequest is the request type for AccountBytes rpc method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AddressStringToBytesRequest { - #[prost(string, tag = "1")] - pub address_string: ::prost::alloc::string::String, -} -impl ::prost::Name for AddressStringToBytesRequest { - const NAME: &'static str = "AddressStringToBytesRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// AddressStringToBytesResponse is the response type for AddressBytes rpc method. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AddressStringToBytesResponse { - #[prost(bytes = "vec", tag = "1")] - pub address_bytes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for AddressStringToBytesResponse { - const NAME: &'static str = "AddressStringToBytesResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountAddressByIDRequest is the request type for AccountAddressByID rpc method -/// -/// Since: cosmos-sdk 0.46.2 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAccountAddressByIdRequest { - /// Deprecated, use account_id instead - /// - /// id is the account number of the address to be queried. This field - /// should have been an uint64 (like all account numbers), and will be - /// updated to uint64 in a future version of the auth query. - #[deprecated] - #[prost(int64, tag = "1")] - pub id: i64, - /// account_id is the account number of the address to be queried. - /// - /// Since: cosmos-sdk 0.47 - #[prost(uint64, tag = "2")] - pub account_id: u64, -} -impl ::prost::Name for QueryAccountAddressByIdRequest { - const NAME: &'static str = "QueryAccountAddressByIDRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method -/// -/// Since: cosmos-sdk 0.46.2 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAccountAddressByIdResponse { - #[prost(string, tag = "1")] - pub account_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryAccountAddressByIdResponse { - const NAME: &'static str = "QueryAccountAddressByIDResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountInfoRequest is the Query/AccountInfo request type. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAccountInfoRequest { - /// address is the account address string. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryAccountInfoRequest { - const NAME: &'static str = "QueryAccountInfoRequest"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// QueryAccountInfoResponse is the Query/AccountInfo response type. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAccountInfoResponse { - /// info is the account info which is represented by BaseAccount. - #[prost(message, optional, tag = "1")] - pub info: ::core::option::Option, -} -impl ::prost::Name for QueryAccountInfoResponse { - const NAME: &'static str = "QueryAccountInfoResponse"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Accounts returns all the existing accounts. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.43 - pub async fn accounts( - &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.auth.v1beta1.Query/Accounts", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Accounts")); - self.inner.unary(req, path, codec).await - } - /// Account returns account details based on address. - pub async fn account( - &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.auth.v1beta1.Query/Account", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Account")); - self.inner.unary(req, path, codec).await - } - /// AccountAddressByID returns account address based on account number. - /// - /// Since: cosmos-sdk 0.46.2 - pub async fn account_address_by_id( - &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.auth.v1beta1.Query/AccountAddressByID", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.auth.v1beta1.Query", "AccountAddressByID"), - ); - self.inner.unary(req, path, codec).await - } - /// Params queries all parameters. - pub async fn params( - &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.auth.v1beta1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Params")); - self.inner.unary(req, path, codec).await - } - /// ModuleAccounts returns all the existing module accounts. - /// - /// Since: cosmos-sdk 0.46 - pub async fn module_accounts( - &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.auth.v1beta1.Query/ModuleAccounts", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "ModuleAccounts")); - self.inner.unary(req, path, codec).await - } - /// ModuleAccountByName returns the module account info by module name - pub async fn module_account_by_name( - &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.auth.v1beta1.Query/ModuleAccountByName", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.auth.v1beta1.Query", "ModuleAccountByName"), - ); - self.inner.unary(req, path, codec).await - } - /// Bech32Prefix queries bech32Prefix - /// - /// Since: cosmos-sdk 0.46 - pub async fn bech32_prefix( - &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.auth.v1beta1.Query/Bech32Prefix", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Bech32Prefix")); - self.inner.unary(req, path, codec).await - } - /// AddressBytesToString converts Account Address bytes to string - /// - /// Since: cosmos-sdk 0.46 - pub async fn address_bytes_to_string( - &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.auth.v1beta1.Query/AddressBytesToString", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.auth.v1beta1.Query", "AddressBytesToString"), - ); - self.inner.unary(req, path, codec).await - } - /// AddressStringToBytes converts Address string to bytes - /// - /// Since: cosmos-sdk 0.46 - pub async fn address_string_to_bytes( - &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.auth.v1beta1.Query/AddressStringToBytes", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.auth.v1beta1.Query", "AddressStringToBytes"), - ); - self.inner.unary(req, path, codec).await - } - /// AccountInfo queries account info which is common to all account types. - /// - /// Since: cosmos-sdk 0.47 - pub async fn account_info( - &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.auth.v1beta1.Query/AccountInfo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "AccountInfo")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Accounts returns all the existing accounts. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.43 - async fn accounts( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Account returns account details based on address. - async fn account( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// AccountAddressByID returns account address based on account number. - /// - /// Since: cosmos-sdk 0.46.2 - async fn account_address_by_id( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Params queries all parameters. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ModuleAccounts returns all the existing module accounts. - /// - /// Since: cosmos-sdk 0.46 - async fn module_accounts( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ModuleAccountByName returns the module account info by module name - async fn module_account_by_name( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Bech32Prefix queries bech32Prefix - /// - /// Since: cosmos-sdk 0.46 - async fn bech32_prefix( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// AddressBytesToString converts Account Address bytes to string - /// - /// Since: cosmos-sdk 0.46 - async fn address_bytes_to_string( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// AddressStringToBytes converts Address string to bytes - /// - /// Since: cosmos-sdk 0.46 - async fn address_string_to_bytes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// AccountInfo queries account info which is common to all account types. - /// - /// Since: cosmos-sdk 0.47 - async fn account_info( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.auth.v1beta1.Query/Accounts" => { - #[allow(non_camel_case_types)] - struct AccountsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AccountsSvc { - type Response = super::QueryAccountsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::accounts(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AccountsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/Account" => { - #[allow(non_camel_case_types)] - struct AccountSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AccountSvc { - type Response = super::QueryAccountResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::account(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AccountSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/AccountAddressByID" => { - #[allow(non_camel_case_types)] - struct AccountAddressByIDSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AccountAddressByIDSvc { - type Response = super::QueryAccountAddressByIdResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryAccountAddressByIdRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::account_address_by_id(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AccountAddressByIDSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/ModuleAccounts" => { - #[allow(non_camel_case_types)] - struct ModuleAccountsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ModuleAccountsSvc { - type Response = super::QueryModuleAccountsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::module_accounts(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ModuleAccountsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/ModuleAccountByName" => { - #[allow(non_camel_case_types)] - struct ModuleAccountByNameSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ModuleAccountByNameSvc { - type Response = super::QueryModuleAccountByNameResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryModuleAccountByNameRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::module_account_by_name(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ModuleAccountByNameSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/Bech32Prefix" => { - #[allow(non_camel_case_types)] - struct Bech32PrefixSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for Bech32PrefixSvc { - type Response = super::Bech32PrefixResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::bech32_prefix(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = Bech32PrefixSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/AddressBytesToString" => { - #[allow(non_camel_case_types)] - struct AddressBytesToStringSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AddressBytesToStringSvc { - type Response = super::AddressBytesToStringResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::address_bytes_to_string(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AddressBytesToStringSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/AddressStringToBytes" => { - #[allow(non_camel_case_types)] - struct AddressStringToBytesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AddressStringToBytesSvc { - type Response = super::AddressStringToBytesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::address_string_to_bytes(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AddressStringToBytesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.auth.v1beta1.Query/AccountInfo" => { - #[allow(non_camel_case_types)] - struct AccountInfoSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AccountInfoSvc { - type Response = super::QueryAccountInfoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::account_info(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AccountInfoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "cosmos.auth.v1beta1.Query"; - } -} -/// GenesisState defines the auth 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, - /// accounts are the accounts present at genesis. - #[prost(message, repeated, tag = "2")] - pub accounts: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "cosmos.auth.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.bank.module.v1.rs b/src/prost/cosmos.bank.module.v1.rs deleted file mode 100644 index fe1abca4..00000000 --- a/src/prost/cosmos.bank.module.v1.rs +++ /dev/null @@ -1,22 +0,0 @@ -/// Module is the config object of the bank module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Module { - /// blocked_module_accounts configures exceptional module accounts which should be blocked from receiving funds. - /// If left empty it defaults to the list of account names supplied in the auth module configuration as - /// module_account_permissions - #[prost(string, repeated, tag = "1")] - pub blocked_module_accounts_override: ::prost::alloc::vec::Vec< - ::prost::alloc::string::String, - >, - /// authority defines the custom module authority. If not set, defaults to the governance module. - #[prost(string, tag = "2")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for Module { - const NAME: &'static str = "Module"; - const PACKAGE: &'static str = "cosmos.bank.module.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.module.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.bank.v1beta1.rs b/src/prost/cosmos.bank.v1beta1.rs deleted file mode 100644 index 46725f94..00000000 --- a/src/prost/cosmos.bank.v1beta1.rs +++ /dev/null @@ -1,2565 +0,0 @@ -/// Params defines the parameters for the bank module. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// Deprecated: Use of SendEnabled in params is deprecated. - /// For genesis, use the newly added send_enabled field in the genesis object. - /// Storage, lookup, and manipulation of this information is now in the keeper. - /// - /// As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files. - #[deprecated] - #[prost(message, repeated, tag = "1")] - pub send_enabled: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "2")] - pub default_send_enabled: bool, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// SendEnabled maps coin denom to a send_enabled status (whether a denom is -/// sendable). -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SendEnabled { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(bool, tag = "2")] - pub enabled: bool, -} -impl ::prost::Name for SendEnabled { - const NAME: &'static str = "SendEnabled"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// Input models transaction input. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Input { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Input { - const NAME: &'static str = "Input"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// Output models transaction outputs. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Output { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Output { - const NAME: &'static str = "Output"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// Supply represents a struct that passively keeps track of the total supply -/// amounts in the network. -/// This message is deprecated now that supply is indexed by denom. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Supply { - #[prost(message, repeated, tag = "1")] - pub total: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Supply { - const NAME: &'static str = "Supply"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// DenomUnit represents a struct that describes a given -/// denomination unit of the basic token. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DenomUnit { - /// denom represents the string name of the given denom unit (e.g uatom). - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - /// exponent represents power of 10 exponent that one must - /// raise the base_denom to in order to equal the given DenomUnit's denom - /// 1 denom = 10^exponent base_denom - /// (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with - /// exponent = 6, thus: 1 atom = 10^6 uatom). - #[prost(uint32, tag = "2")] - pub exponent: u32, - /// aliases is a list of string aliases for the given denom - #[prost(string, repeated, tag = "3")] - pub aliases: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for DenomUnit { - const NAME: &'static str = "DenomUnit"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// Metadata represents a struct that describes -/// a basic token. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Metadata { - #[prost(string, tag = "1")] - pub description: ::prost::alloc::string::String, - /// denom_units represents the list of DenomUnit's for a given coin - #[prost(message, repeated, tag = "2")] - pub denom_units: ::prost::alloc::vec::Vec, - /// base represents the base denom (should be the DenomUnit with exponent = 0). - #[prost(string, tag = "3")] - pub base: ::prost::alloc::string::String, - /// display indicates the suggested denom that should be - /// displayed in clients. - #[prost(string, tag = "4")] - pub display: ::prost::alloc::string::String, - /// name defines the name of the token (eg: Cosmos Atom) - /// - /// Since: cosmos-sdk 0.43 - #[prost(string, tag = "5")] - pub name: ::prost::alloc::string::String, - /// symbol is the token symbol usually shown on exchanges (eg: ATOM). This can - /// be the same as the display. - /// - /// Since: cosmos-sdk 0.43 - #[prost(string, tag = "6")] - pub symbol: ::prost::alloc::string::String, - /// URI to a document (on or off-chain) that contains additional information. Optional. - /// - /// Since: cosmos-sdk 0.46 - #[prost(string, tag = "7")] - pub uri: ::prost::alloc::string::String, - /// URIHash is a sha256 hash of a document pointed by URI. It's used to verify that - /// the document didn't change. Optional. - /// - /// Since: cosmos-sdk 0.46 - #[prost(string, tag = "8")] - pub uri_hash: ::prost::alloc::string::String, -} -impl ::prost::Name for Metadata { - const NAME: &'static str = "Metadata"; - 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. -/// -/// Since: cosmos-sdk 0.47 -#[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. -/// -/// Since: cosmos-sdk 0.47 -#[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. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSetSendEnabled { - #[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. -/// -/// Since: cosmos-sdk 0.47 -#[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) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the bank Msg service. - #[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 - } - /// Send defines a method for sending coins from one account to another account. - pub async fn send( - &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.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 - } - /// MultiSend defines a method for sending coins from some accounts to other accounts. - pub async fn multi_send( - &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.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 - } - /// UpdateParams defines a governance operation for updating the x/bank module parameters. - /// The authority is defined in the keeper. - /// - /// Since: cosmos-sdk 0.47 - pub async fn update_params( - &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.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 - } - /// SetSendEnabled is a governance operation for setting the SendEnabled flag - /// on any number of Denoms. Only the entries to add or update should be - /// included. Entries that already exist in the store, but that aren't - /// included in this message, will be left unchanged. - /// - /// Since: cosmos-sdk 0.47 - pub async fn set_send_enabled( - &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.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 server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// Send defines a method for sending coins from one account to another account. - async fn send( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// MultiSend defines a method for sending coins from some accounts to other accounts. - async fn multi_send( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateParams defines a governance operation for updating the x/bank module parameters. - /// The authority is defined in the keeper. - /// - /// Since: cosmos-sdk 0.47 - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SetSendEnabled is a governance operation for setting the SendEnabled flag - /// on any number of Denoms. Only the entries to add or update should be - /// included. Entries that already exist in the store, but that aren't - /// included in this message, will be left unchanged. - /// - /// Since: cosmos-sdk 0.47 - async fn set_send_enabled( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the bank Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.bank.v1beta1.Msg/Send" => { - #[allow(non_camel_case_types)] - struct SendSvc(pub Arc); - impl tonic::server::UnaryService - for SendSvc { - type Response = super::MsgSendResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::send(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SendSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Msg/MultiSend" => { - #[allow(non_camel_case_types)] - struct MultiSendSvc(pub Arc); - impl tonic::server::UnaryService - for MultiSendSvc { - type Response = super::MsgMultiSendResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::multi_send(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = MultiSendSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Msg/SetSendEnabled" => { - #[allow(non_camel_case_types)] - struct SetSendEnabledSvc(pub Arc); - impl tonic::server::UnaryService - for SetSendEnabledSvc { - type Response = super::MsgSetSendEnabledResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::set_send_enabled(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SetSendEnabledSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "cosmos.bank.v1beta1.Msg"; - } -} -/// 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)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryBalanceRequest { - /// address is the address to query balances for. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// denom is the coin denom to query balances for. - #[prost(string, tag = "2")] - pub denom: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryBalanceRequest { - const NAME: &'static str = "QueryBalanceRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryBalanceResponse is the response type for the Query/Balance 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 QueryBalanceResponse { - /// balance is the balance of the coin. - #[prost(message, optional, tag = "1")] - pub balance: ::core::option::Option, -} -impl ::prost::Name for QueryBalanceResponse { - const NAME: &'static str = "QueryBalanceResponse"; - 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/AllBalances 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 QueryAllBalancesRequest { - /// address is the address to query balances for. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryAllBalancesRequest { - const NAME: &'static str = "QueryAllBalancesRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryAllBalancesResponse is the response type for the Query/AllBalances 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 QueryAllBalancesResponse { - /// balances is the balances of all the coins. - #[prost(message, repeated, tag = "1")] - pub balances: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryAllBalancesResponse { - const NAME: &'static str = "QueryAllBalancesResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySpendableBalancesRequest defines the gRPC request structure for querying -/// an account's spendable balances. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QuerySpendableBalancesRequest { - /// address is the address to query spendable balances for. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QuerySpendableBalancesRequest { - const NAME: &'static str = "QuerySpendableBalancesRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySpendableBalancesResponse defines the gRPC response structure for querying -/// an account's spendable balances. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QuerySpendableBalancesResponse { - /// balances is the spendable balances of all the coins. - #[prost(message, repeated, tag = "1")] - pub balances: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QuerySpendableBalancesResponse { - const NAME: &'static str = "QuerySpendableBalancesResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySpendableBalanceByDenomRequest defines the gRPC request structure for -/// querying an account's spendable balance for a specific denom. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QuerySpendableBalanceByDenomRequest { - /// address is the address to query balances for. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// denom is the coin denom to query balances for. - #[prost(string, tag = "2")] - pub denom: ::prost::alloc::string::String, -} -impl ::prost::Name for QuerySpendableBalanceByDenomRequest { - const NAME: &'static str = "QuerySpendableBalanceByDenomRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySpendableBalanceByDenomResponse defines the gRPC response structure for -/// querying an account's spendable balance for a specific denom. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QuerySpendableBalanceByDenomResponse { - /// balance is the balance of the coin. - #[prost(message, optional, tag = "1")] - pub balance: ::core::option::Option, -} -impl ::prost::Name for QuerySpendableBalanceByDenomResponse { - const NAME: &'static str = "QuerySpendableBalanceByDenomResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryTotalSupplyRequest is the request type for the Query/TotalSupply 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 QueryTotalSupplyRequest { - /// pagination defines an optional pagination for the request. - /// - /// Since: cosmos-sdk 0.43 - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryTotalSupplyRequest { - const NAME: &'static str = "QueryTotalSupplyRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryTotalSupplyResponse is the response type for the Query/TotalSupply 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 QueryTotalSupplyResponse { - /// supply is the supply of the coins - #[prost(message, repeated, tag = "1")] - pub supply: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - /// - /// Since: cosmos-sdk 0.43 - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryTotalSupplyResponse { - const NAME: &'static str = "QueryTotalSupplyResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySupplyOfRequest is the request type for the Query/SupplyOf 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 QuerySupplyOfRequest { - /// denom is the coin denom to query balances for. - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -impl ::prost::Name for QuerySupplyOfRequest { - const NAME: &'static str = "QuerySupplyOfRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySupplyOfResponse is the response type for the Query/SupplyOf 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 QuerySupplyOfResponse { - /// amount is the supply of the coin. - #[prost(message, optional, tag = "1")] - pub amount: ::core::option::Option, -} -impl ::prost::Name for QuerySupplyOfResponse { - const NAME: &'static str = "QuerySupplyOfResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryParamsRequest defines the request type for querying x/bank parameters. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[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 = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryParamsResponse defines the response type for querying x/bank parameters. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -impl ::prost::Name for QueryParamsResponse { - const NAME: &'static str = "QueryParamsResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata 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 QueryDenomsMetadataRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryDenomsMetadataRequest { - const NAME: &'static str = "QueryDenomsMetadataRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata 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 QueryDenomsMetadataResponse { - /// metadata provides the client information for all the registered tokens. - #[prost(message, repeated, tag = "1")] - pub metadatas: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryDenomsMetadataResponse { - const NAME: &'static str = "QueryDenomsMetadataResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomMetadataRequest is the request type for the Query/DenomMetadata 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 QueryDenomMetadataRequest { - /// denom is the coin denom to query the metadata for. - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDenomMetadataRequest { - const NAME: &'static str = "QueryDenomMetadataRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomMetadataResponse is the response type for the Query/DenomMetadata 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 QueryDenomMetadataResponse { - /// metadata describes and provides all the client information for the requested token. - #[prost(message, optional, tag = "1")] - pub metadata: ::core::option::Option, -} -impl ::prost::Name for QueryDenomMetadataResponse { - const NAME: &'static str = "QueryDenomMetadataResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomOwnersRequest defines the request type for the DenomOwners RPC query, -/// which queries for a paginated set of all account holders of a particular -/// denomination. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDenomOwnersRequest { - /// denom defines the coin denomination to query all account holders for. - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryDenomOwnersRequest { - const NAME: &'static str = "QueryDenomOwnersRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// DenomOwner defines structure representing an account that owns or holds a -/// particular denominated token. It contains the account address and account -/// balance of the denominated token. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DenomOwner { - /// address defines the address that owns a particular denomination. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// balance is the balance of the denominated coin for an account. - #[prost(message, optional, tag = "2")] - pub balance: ::core::option::Option, -} -impl ::prost::Name for DenomOwner { - const NAME: &'static str = "DenomOwner"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDenomOwnersResponse { - #[prost(message, repeated, tag = "1")] - pub denom_owners: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryDenomOwnersResponse { - const NAME: &'static str = "QueryDenomOwnersResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySendEnabledRequest defines the RPC request for looking up SendEnabled entries. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QuerySendEnabledRequest { - /// denoms is the specific denoms you want look up. Leave empty to get all entries. - #[prost(string, repeated, tag = "1")] - pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// pagination defines an optional pagination for the request. This field is - /// only read if the denoms field is empty. - #[prost(message, optional, tag = "99")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QuerySendEnabledRequest { - const NAME: &'static str = "QuerySendEnabledRequest"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// QuerySendEnabledResponse defines the RPC response of a SendEnable query. -/// -/// Since: cosmos-sdk 0.47 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QuerySendEnabledResponse { - #[prost(message, repeated, tag = "1")] - pub send_enabled: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. This field is only - /// populated if the denoms field in the request is empty. - #[prost(message, optional, tag = "99")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QuerySendEnabledResponse { - const NAME: &'static str = "QuerySendEnabledResponse"; - const PACKAGE: &'static str = "cosmos.bank.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Balance queries the balance of a single coin for a single account. - pub async fn balance( - &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.bank.v1beta1.Query/Balance", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "Balance")); - self.inner.unary(req, path, codec).await - } - /// AllBalances queries the balance of all coins for a single account. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn all_balances( - &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.bank.v1beta1.Query/AllBalances", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "AllBalances")); - self.inner.unary(req, path, codec).await - } - /// SpendableBalances queries the spendable balance of all coins for a single - /// account. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.46 - pub async fn spendable_balances( - &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.bank.v1beta1.Query/SpendableBalances", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.bank.v1beta1.Query", "SpendableBalances"), - ); - self.inner.unary(req, path, codec).await - } - /// SpendableBalanceByDenom queries the spendable balance of a single denom for - /// a single account. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.47 - pub async fn spendable_balance_by_denom( - &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.bank.v1beta1.Query/SpendableBalanceByDenom", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.bank.v1beta1.Query", - "SpendableBalanceByDenom", - ), - ); - self.inner.unary(req, path, codec).await - } - /// TotalSupply queries the total supply of all coins. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn total_supply( - &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.bank.v1beta1.Query/TotalSupply", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "TotalSupply")); - self.inner.unary(req, path, codec).await - } - /// SupplyOf queries the supply of a single coin. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn supply_of( - &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.bank.v1beta1.Query/SupplyOf", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "SupplyOf")); - self.inner.unary(req, path, codec).await - } - /// Params queries the parameters of x/bank module. - pub async fn params( - &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.bank.v1beta1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "Params")); - self.inner.unary(req, path, codec).await - } - /// DenomsMetadata queries the client metadata of a given coin denomination. - pub async fn denom_metadata( - &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.bank.v1beta1.Query/DenomMetadata", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "DenomMetadata")); - self.inner.unary(req, path, codec).await - } - /// DenomsMetadata queries the client metadata for all registered coin - /// denominations. - pub async fn denoms_metadata( - &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.bank.v1beta1.Query/DenomsMetadata", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "DenomsMetadata")); - self.inner.unary(req, path, codec).await - } - /// DenomOwners queries for all account addresses that own a particular token - /// denomination. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.46 - pub async fn denom_owners( - &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.bank.v1beta1.Query/DenomOwners", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "DenomOwners")); - self.inner.unary(req, path, codec).await - } - /// SendEnabled queries for SendEnabled entries. - /// - /// This query only returns denominations that have specific SendEnabled settings. - /// Any denomination that does not have a specific setting will use the default - /// params.default_send_enabled, and will not be returned by this query. - /// - /// Since: cosmos-sdk 0.47 - pub async fn send_enabled( - &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.bank.v1beta1.Query/SendEnabled", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "SendEnabled")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Balance queries the balance of a single coin for a single account. - async fn balance( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// AllBalances queries the balance of all coins for a single account. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn all_balances( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SpendableBalances queries the spendable balance of all coins for a single - /// account. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.46 - async fn spendable_balances( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SpendableBalanceByDenom queries the spendable balance of a single denom for - /// a single account. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.47 - async fn spendable_balance_by_denom( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TotalSupply queries the total supply of all coins. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn total_supply( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SupplyOf queries the supply of a single coin. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn supply_of( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Params queries the parameters of x/bank module. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DenomsMetadata queries the client metadata of a given coin denomination. - async fn denom_metadata( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DenomsMetadata queries the client metadata for all registered coin - /// denominations. - async fn denoms_metadata( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DenomOwners queries for all account addresses that own a particular token - /// denomination. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - /// - /// Since: cosmos-sdk 0.46 - async fn denom_owners( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SendEnabled queries for SendEnabled entries. - /// - /// This query only returns denominations that have specific SendEnabled settings. - /// Any denomination that does not have a specific setting will use the default - /// params.default_send_enabled, and will not be returned by this query. - /// - /// Since: cosmos-sdk 0.47 - async fn send_enabled( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.bank.v1beta1.Query/Balance" => { - #[allow(non_camel_case_types)] - struct BalanceSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for BalanceSvc { - type Response = super::QueryBalanceResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::balance(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = BalanceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/AllBalances" => { - #[allow(non_camel_case_types)] - struct AllBalancesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AllBalancesSvc { - type Response = super::QueryAllBalancesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::all_balances(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AllBalancesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/SpendableBalances" => { - #[allow(non_camel_case_types)] - struct SpendableBalancesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for SpendableBalancesSvc { - type Response = super::QuerySpendableBalancesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::spendable_balances(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SpendableBalancesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/SpendableBalanceByDenom" => { - #[allow(non_camel_case_types)] - struct SpendableBalanceByDenomSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QuerySpendableBalanceByDenomRequest, - > for SpendableBalanceByDenomSvc { - type Response = super::QuerySpendableBalanceByDenomResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QuerySpendableBalanceByDenomRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::spendable_balance_by_denom(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SpendableBalanceByDenomSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/TotalSupply" => { - #[allow(non_camel_case_types)] - struct TotalSupplySvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TotalSupplySvc { - type Response = super::QueryTotalSupplyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::total_supply(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TotalSupplySvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/SupplyOf" => { - #[allow(non_camel_case_types)] - struct SupplyOfSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for SupplyOfSvc { - type Response = super::QuerySupplyOfResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::supply_of(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SupplyOfSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/DenomMetadata" => { - #[allow(non_camel_case_types)] - struct DenomMetadataSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DenomMetadataSvc { - type Response = super::QueryDenomMetadataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::denom_metadata(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DenomMetadataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/DenomsMetadata" => { - #[allow(non_camel_case_types)] - struct DenomsMetadataSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DenomsMetadataSvc { - type Response = super::QueryDenomsMetadataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::denoms_metadata(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DenomsMetadataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/DenomOwners" => { - #[allow(non_camel_case_types)] - struct DenomOwnersSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DenomOwnersSvc { - type Response = super::QueryDenomOwnersResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::denom_owners(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DenomOwnersSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.bank.v1beta1.Query/SendEnabled" => { - #[allow(non_camel_case_types)] - struct SendEnabledSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for SendEnabledSvc { - type Response = super::QuerySendEnabledResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::send_enabled(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SendEnabledSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "cosmos.bank.v1beta1.Query"; - } -} -/// SendAuthorization allows the grantee to spend up to spend_limit coins from -/// the granter's account. -/// -/// Since: cosmos-sdk 0.43 -#[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. - /// - /// Since: cosmos-sdk 0.47 - #[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. - /// - /// Since: cosmos-sdk 0.47 - #[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) - } -} diff --git a/src/prost/cosmos.base.abci.v1beta1.rs b/src/prost/cosmos.base.abci.v1beta1.rs deleted file mode 100644 index fbf5862f..00000000 --- a/src/prost/cosmos.base.abci.v1beta1.rs +++ /dev/null @@ -1,253 +0,0 @@ -/// TxResponse defines a structure containing relevant tx data and metadata. The -/// tags are stringified and the log is JSON decoded. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxResponse { - /// The block height - #[prost(int64, tag = "1")] - pub height: i64, - /// The transaction hash. - #[prost(string, tag = "2")] - pub txhash: ::prost::alloc::string::String, - /// Namespace for the Code - #[prost(string, tag = "3")] - pub codespace: ::prost::alloc::string::String, - /// Response code. - #[prost(uint32, tag = "4")] - pub code: u32, - /// Result bytes, if any. - #[prost(string, tag = "5")] - pub data: ::prost::alloc::string::String, - /// The output of the application's logger (raw string). May be - /// non-deterministic. - #[prost(string, tag = "6")] - pub raw_log: ::prost::alloc::string::String, - /// The output of the application's logger (typed). May be non-deterministic. - #[prost(message, repeated, tag = "7")] - pub logs: ::prost::alloc::vec::Vec, - /// Additional information. May be non-deterministic. - #[prost(string, tag = "8")] - pub info: ::prost::alloc::string::String, - /// Amount of gas requested for transaction. - #[prost(int64, tag = "9")] - pub gas_wanted: i64, - /// Amount of gas consumed by transaction. - #[prost(int64, tag = "10")] - pub gas_used: i64, - /// The request transaction bytes. - #[prost(message, optional, tag = "11")] - pub tx: ::core::option::Option, - /// Time of the previous block. For heights > 1, it's the weighted median of - /// the timestamps of the valid votes in the block.LastCommit. For height == 1, - /// it's genesis time. - #[prost(string, tag = "12")] - pub timestamp: ::prost::alloc::string::String, - /// Events defines all the events emitted by processing a transaction. Note, - /// these events include those emitted by processing all the messages and those - /// emitted from the ante. Whereas Logs contains the events, with - /// additional metadata, emitted only by processing the messages. - /// - /// Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 - #[prost(message, repeated, tag = "13")] - pub events: ::prost::alloc::vec::Vec<::tendermint_proto::abci::Event>, -} -impl ::prost::Name for TxResponse { - const NAME: &'static str = "TxResponse"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// ABCIMessageLog defines a structure containing an indexed tx ABCI message log. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AbciMessageLog { - #[prost(uint32, tag = "1")] - pub msg_index: u32, - #[prost(string, tag = "2")] - pub log: ::prost::alloc::string::String, - /// Events contains a slice of Event objects that were emitted during some - /// execution. - #[prost(message, repeated, tag = "3")] - pub events: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for AbciMessageLog { - const NAME: &'static str = "ABCIMessageLog"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// StringEvent defines en Event object wrapper where all the attributes -/// contain key/value pairs that are strings instead of raw bytes. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StringEvent { - #[prost(string, tag = "1")] - pub r#type: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub attributes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for StringEvent { - const NAME: &'static str = "StringEvent"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// Attribute defines an attribute wrapper where the key and value are -/// strings instead of raw bytes. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Attribute { - #[prost(string, tag = "1")] - pub key: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub value: ::prost::alloc::string::String, -} -impl ::prost::Name for Attribute { - const NAME: &'static str = "Attribute"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// GasInfo defines tx execution gas context. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GasInfo { - /// GasWanted is the maximum units of work we allow this tx to perform. - #[prost(uint64, tag = "1")] - pub gas_wanted: u64, - /// GasUsed is the amount of gas actually consumed. - #[prost(uint64, tag = "2")] - pub gas_used: u64, -} -impl ::prost::Name for GasInfo { - const NAME: &'static str = "GasInfo"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// Result is the union of ResponseFormat and ResponseCheckTx. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Result { - /// Data is any data returned from message or handler execution. It MUST be - /// length prefixed in order to separate data from multiple message executions. - /// Deprecated. This field is still populated, but prefer msg_response instead - /// because it also contains the Msg response typeURL. - #[deprecated] - #[prost(bytes = "vec", tag = "1")] - pub data: ::prost::alloc::vec::Vec, - /// Log contains the log information from message or handler execution. - #[prost(string, tag = "2")] - pub log: ::prost::alloc::string::String, - /// Events contains a slice of Event objects that were emitted during message - /// or handler execution. - #[prost(message, repeated, tag = "3")] - pub events: ::prost::alloc::vec::Vec<::tendermint_proto::abci::Event>, - /// msg_responses contains the Msg handler responses type packed in Anys. - /// - /// Since: cosmos-sdk 0.46 - #[prost(message, repeated, tag = "4")] - pub msg_responses: ::prost::alloc::vec::Vec< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for Result { - const NAME: &'static str = "Result"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// SimulationResponse defines the response generated when a transaction is -/// successfully simulated. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SimulationResponse { - #[prost(message, optional, tag = "1")] - pub gas_info: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub result: ::core::option::Option, -} -impl ::prost::Name for SimulationResponse { - const NAME: &'static str = "SimulationResponse"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// MsgData defines the data returned in a Result object during message -/// execution. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgData { - #[prost(string, tag = "1")] - pub msg_type: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "2")] - pub data: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgData { - const NAME: &'static str = "MsgData"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// TxMsgData defines a list of MsgData. A transaction will have a MsgData object -/// for each message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxMsgData { - /// data field is deprecated and not populated. - #[deprecated] - #[prost(message, repeated, tag = "1")] - pub data: ::prost::alloc::vec::Vec, - /// msg_responses contains the Msg handler responses packed into Anys. - /// - /// Since: cosmos-sdk 0.46 - #[prost(message, repeated, tag = "2")] - pub msg_responses: ::prost::alloc::vec::Vec< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for TxMsgData { - const NAME: &'static str = "TxMsgData"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} -/// SearchTxsResult defines a structure for querying txs pageable -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SearchTxsResult { - /// Count of all txs - #[prost(uint64, tag = "1")] - pub total_count: u64, - /// Count of txs in current page - #[prost(uint64, tag = "2")] - pub count: u64, - /// Index of current page, start from 1 - #[prost(uint64, tag = "3")] - pub page_number: u64, - /// Count of total pages - #[prost(uint64, tag = "4")] - pub page_total: u64, - /// Max count txs per page - #[prost(uint64, tag = "5")] - pub limit: u64, - /// List of txs in current page - #[prost(message, repeated, tag = "6")] - pub txs: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SearchTxsResult { - const NAME: &'static str = "SearchTxsResult"; - const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.base.kv.v1beta1.rs b/src/prost/cosmos.base.kv.v1beta1.rs deleted file mode 100644 index 6bd5f9c6..00000000 --- a/src/prost/cosmos.base.kv.v1beta1.rs +++ /dev/null @@ -1,30 +0,0 @@ -/// Pairs defines a repeated slice of Pair objects. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Pairs { - #[prost(message, repeated, tag = "1")] - pub pairs: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Pairs { - const NAME: &'static str = "Pairs"; - const PACKAGE: &'static str = "cosmos.base.kv.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.kv.v1beta1.{}", Self::NAME) - } -} -/// Pair defines a key/value bytes tuple. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Pair { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Pair { - const NAME: &'static str = "Pair"; - const PACKAGE: &'static str = "cosmos.base.kv.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.kv.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.base.node.v1beta1.rs b/src/prost/cosmos.base.node.v1beta1.rs deleted file mode 100644 index 69d16e40..00000000 --- a/src/prost/cosmos.base.node.v1beta1.rs +++ /dev/null @@ -1,316 +0,0 @@ -/// ConfigRequest defines the request structure for the Config gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigRequest {} -impl ::prost::Name for ConfigRequest { - const NAME: &'static str = "ConfigRequest"; - const PACKAGE: &'static str = "cosmos.base.node.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.node.v1beta1.{}", Self::NAME) - } -} -/// ConfigResponse defines the response structure for the Config gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigResponse { - #[prost(string, tag = "1")] - pub minimum_gas_price: ::prost::alloc::string::String, -} -impl ::prost::Name for ConfigResponse { - const NAME: &'static str = "ConfigResponse"; - const PACKAGE: &'static str = "cosmos.base.node.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.node.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod service_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Service defines the gRPC querier service for node related queries. - #[derive(Debug, Clone)] - pub struct ServiceClient { - inner: tonic::client::Grpc, - } - impl ServiceClient { - /// 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 ServiceClient - 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, - ) -> ServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - ServiceClient::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 - } - /// Config queries for the operator configuration. - pub async fn config( - &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.base.node.v1beta1.Service/Config", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.base.node.v1beta1.Service", "Config")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with ServiceServer. - #[async_trait] - pub trait Service: Send + Sync + 'static { - /// Config queries for the operator configuration. - async fn config( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - } - /// Service defines the gRPC querier service for node related queries. - #[derive(Debug)] - pub struct ServiceServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl ServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for ServiceServer - where - T: Service, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.base.node.v1beta1.Service/Config" => { - #[allow(non_camel_case_types)] - struct ConfigSvc(pub Arc); - impl tonic::server::UnaryService - for ConfigSvc { - type Response = super::ConfigResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::config(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConfigSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for ServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for ServiceServer { - const NAME: &'static str = "cosmos.base.node.v1beta1.Service"; - } -} diff --git a/src/prost/cosmos.base.query.v1beta1.rs b/src/prost/cosmos.base.query.v1beta1.rs deleted file mode 100644 index 9ed79dc7..00000000 --- a/src/prost/cosmos.base.query.v1beta1.rs +++ /dev/null @@ -1,72 +0,0 @@ -/// PageRequest is to be embedded in gRPC request messages for efficient -/// pagination. Ex: -/// -/// message SomeRequest { -/// Foo some_parameter = 1; -/// PageRequest pagination = 2; -/// } -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PageRequest { - /// key is a value returned in PageResponse.next_key to begin - /// querying the next page most efficiently. Only one of offset or key - /// should be set. - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - /// offset is a numeric offset that can be used when key is unavailable. - /// It is less efficient than using key. Only one of offset or key should - /// be set. - #[prost(uint64, tag = "2")] - pub offset: u64, - /// limit is the total number of results to be returned in the result page. - /// If left empty it will default to a value to be set by each app. - #[prost(uint64, tag = "3")] - pub limit: u64, - /// count_total is set to true to indicate that the result set should include - /// a count of the total number of items available for pagination in UIs. - /// count_total is only respected when offset is used. It is ignored when key - /// is set. - #[prost(bool, tag = "4")] - pub count_total: bool, - /// reverse is set to true if results are to be returned in the descending order. - /// - /// Since: cosmos-sdk 0.43 - #[prost(bool, tag = "5")] - pub reverse: bool, -} -impl ::prost::Name for PageRequest { - const NAME: &'static str = "PageRequest"; - const PACKAGE: &'static str = "cosmos.base.query.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.query.v1beta1.{}", Self::NAME) - } -} -/// PageResponse is to be embedded in gRPC response messages where the -/// corresponding request message has used PageRequest. -/// -/// message SomeResponse { -/// repeated Bar results = 1; -/// PageResponse page = 2; -/// } -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PageResponse { - /// next_key is the key to be passed to PageRequest.key to - /// query the next page most efficiently. It will be empty if - /// there are no more results. - #[prost(bytes = "vec", tag = "1")] - pub next_key: ::prost::alloc::vec::Vec, - /// total is total number of results available if PageRequest.count_total - /// was set, its value is undefined otherwise - #[prost(uint64, tag = "2")] - pub total: u64, -} -impl ::prost::Name for PageResponse { - const NAME: &'static str = "PageResponse"; - const PACKAGE: &'static str = "cosmos.base.query.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.query.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.base.reflection.v1beta1.rs b/src/prost/cosmos.base.reflection.v1beta1.rs deleted file mode 100644 index 09305595..00000000 --- a/src/prost/cosmos.base.reflection.v1beta1.rs +++ /dev/null @@ -1,461 +0,0 @@ -/// ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListAllInterfacesRequest {} -impl ::prost::Name for ListAllInterfacesRequest { - const NAME: &'static str = "ListAllInterfacesRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) - } -} -/// ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListAllInterfacesResponse { - /// interface_names is an array of all the registered interfaces. - #[prost(string, repeated, tag = "1")] - pub interface_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ListAllInterfacesResponse { - const NAME: &'static str = "ListAllInterfacesResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) - } -} -/// ListImplementationsRequest is the request type of the ListImplementations -/// RPC. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListImplementationsRequest { - /// interface_name defines the interface to query the implementations for. - #[prost(string, tag = "1")] - pub interface_name: ::prost::alloc::string::String, -} -impl ::prost::Name for ListImplementationsRequest { - const NAME: &'static str = "ListImplementationsRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) - } -} -/// ListImplementationsResponse is the response type of the ListImplementations -/// RPC. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListImplementationsResponse { - #[prost(string, repeated, tag = "1")] - pub implementation_message_names: ::prost::alloc::vec::Vec< - ::prost::alloc::string::String, - >, -} -impl ::prost::Name for ListImplementationsResponse { - const NAME: &'static str = "ListImplementationsResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod reflection_service_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// ReflectionService defines a service for interface reflection. - #[derive(Debug, Clone)] - pub struct ReflectionServiceClient { - inner: tonic::client::Grpc, - } - impl ReflectionServiceClient { - /// 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 ReflectionServiceClient - 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, - ) -> ReflectionServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - ReflectionServiceClient::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 - } - /// ListAllInterfaces lists all the interfaces registered in the interface - /// registry. - pub async fn list_all_interfaces( - &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.base.reflection.v1beta1.ReflectionService/ListAllInterfaces", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v1beta1.ReflectionService", - "ListAllInterfaces", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ListImplementations list all the concrete types that implement a given - /// interface. - pub async fn list_implementations( - &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.base.reflection.v1beta1.ReflectionService/ListImplementations", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v1beta1.ReflectionService", - "ListImplementations", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod reflection_service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with ReflectionServiceServer. - #[async_trait] - pub trait ReflectionService: Send + Sync + 'static { - /// ListAllInterfaces lists all the interfaces registered in the interface - /// registry. - async fn list_all_interfaces( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ListImplementations list all the concrete types that implement a given - /// interface. - async fn list_implementations( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// ReflectionService defines a service for interface reflection. - #[derive(Debug)] - pub struct ReflectionServiceServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl ReflectionServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for ReflectionServiceServer - where - T: ReflectionService, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.base.reflection.v1beta1.ReflectionService/ListAllInterfaces" => { - #[allow(non_camel_case_types)] - struct ListAllInterfacesSvc(pub Arc); - impl< - T: ReflectionService, - > tonic::server::UnaryService - for ListAllInterfacesSvc { - type Response = super::ListAllInterfacesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_all_interfaces( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ListAllInterfacesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.reflection.v1beta1.ReflectionService/ListImplementations" => { - #[allow(non_camel_case_types)] - struct ListImplementationsSvc(pub Arc); - impl< - T: ReflectionService, - > tonic::server::UnaryService - for ListImplementationsSvc { - type Response = super::ListImplementationsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_implementations( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ListImplementationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for ReflectionServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService - for ReflectionServiceServer { - const NAME: &'static str = "cosmos.base.reflection.v1beta1.ReflectionService"; - } -} diff --git a/src/prost/cosmos.base.reflection.v2alpha1.rs b/src/prost/cosmos.base.reflection.v2alpha1.rs deleted file mode 100644 index ec09ac3a..00000000 --- a/src/prost/cosmos.base.reflection.v2alpha1.rs +++ /dev/null @@ -1,1197 +0,0 @@ -/// AppDescriptor describes a cosmos-sdk based application -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AppDescriptor { - /// AuthnDescriptor provides information on how to authenticate transactions on the application - /// NOTE: experimental and subject to change in future releases. - #[prost(message, optional, tag = "1")] - pub authn: ::core::option::Option, - /// chain provides the chain descriptor - #[prost(message, optional, tag = "2")] - pub chain: ::core::option::Option, - /// codec provides metadata information regarding codec related types - #[prost(message, optional, tag = "3")] - pub codec: ::core::option::Option, - /// configuration provides metadata information regarding the sdk.Config type - #[prost(message, optional, tag = "4")] - pub configuration: ::core::option::Option, - /// query_services provides metadata information regarding the available queriable endpoints - #[prost(message, optional, tag = "5")] - pub query_services: ::core::option::Option, - /// tx provides metadata information regarding how to send transactions to the given application - #[prost(message, optional, tag = "6")] - pub tx: ::core::option::Option, -} -impl ::prost::Name for AppDescriptor { - const NAME: &'static str = "AppDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// TxDescriptor describes the accepted transaction type -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxDescriptor { - /// fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type) - /// it is not meant to support polymorphism of transaction types, it is supposed to be used by - /// reflection clients to understand if they can handle a specific transaction type in an application. - #[prost(string, tag = "1")] - pub fullname: ::prost::alloc::string::String, - /// msgs lists the accepted application messages (sdk.Msg) - #[prost(message, repeated, tag = "2")] - pub msgs: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TxDescriptor { - const NAME: &'static str = "TxDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// AuthnDescriptor provides information on how to sign transactions without relying -/// on the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AuthnDescriptor { - /// sign_modes defines the supported signature algorithm - #[prost(message, repeated, tag = "1")] - pub sign_modes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for AuthnDescriptor { - const NAME: &'static str = "AuthnDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// SigningModeDescriptor provides information on a signing flow of the application -/// NOTE(fdymylja): here we could go as far as providing an entire flow on how -/// to sign a message given a SigningModeDescriptor, but it's better to think about -/// this another time -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SigningModeDescriptor { - /// name defines the unique name of the signing mode - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// number is the unique int32 identifier for the sign_mode enum - #[prost(int32, tag = "2")] - pub number: i32, - /// authn_info_provider_method_fullname defines the fullname of the method to call to get - /// the metadata required to authenticate using the provided sign_modes - #[prost(string, tag = "3")] - pub authn_info_provider_method_fullname: ::prost::alloc::string::String, -} -impl ::prost::Name for SigningModeDescriptor { - const NAME: &'static str = "SigningModeDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// ChainDescriptor describes chain information of the application -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ChainDescriptor { - /// id is the chain id - #[prost(string, tag = "1")] - pub id: ::prost::alloc::string::String, -} -impl ::prost::Name for ChainDescriptor { - const NAME: &'static str = "ChainDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// CodecDescriptor describes the registered interfaces and provides metadata information on the types -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CodecDescriptor { - /// interfaces is a list of the registerted interfaces descriptors - #[prost(message, repeated, tag = "1")] - pub interfaces: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for CodecDescriptor { - const NAME: &'static str = "CodecDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// InterfaceDescriptor describes the implementation of an interface -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterfaceDescriptor { - /// fullname is the name of the interface - #[prost(string, tag = "1")] - pub fullname: ::prost::alloc::string::String, - /// interface_accepting_messages contains information regarding the proto messages which contain the interface as - /// google.protobuf.Any field - #[prost(message, repeated, tag = "2")] - pub interface_accepting_messages: ::prost::alloc::vec::Vec< - InterfaceAcceptingMessageDescriptor, - >, - /// interface_implementers is a list of the descriptors of the interface implementers - #[prost(message, repeated, tag = "3")] - pub interface_implementers: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for InterfaceDescriptor { - const NAME: &'static str = "InterfaceDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// InterfaceImplementerDescriptor describes an interface implementer -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterfaceImplementerDescriptor { - /// fullname is the protobuf queryable name of the interface implementer - #[prost(string, tag = "1")] - pub fullname: ::prost::alloc::string::String, - /// type_url defines the type URL used when marshalling the type as any - /// this is required so we can provide type safe google.protobuf.Any marshalling and - /// unmarshalling, making sure that we don't accept just 'any' type - /// in our interface fields - #[prost(string, tag = "2")] - pub type_url: ::prost::alloc::string::String, -} -impl ::prost::Name for InterfaceImplementerDescriptor { - const NAME: &'static str = "InterfaceImplementerDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// InterfaceAcceptingMessageDescriptor describes a protobuf message which contains -/// an interface represented as a google.protobuf.Any -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterfaceAcceptingMessageDescriptor { - /// fullname is the protobuf fullname of the type containing the interface - #[prost(string, tag = "1")] - pub fullname: ::prost::alloc::string::String, - /// field_descriptor_names is a list of the protobuf name (not fullname) of the field - /// which contains the interface as google.protobuf.Any (the interface is the same, but - /// it can be in multiple fields of the same proto message) - #[prost(string, repeated, tag = "2")] - pub field_descriptor_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for InterfaceAcceptingMessageDescriptor { - const NAME: &'static str = "InterfaceAcceptingMessageDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// ConfigurationDescriptor contains metadata information on the sdk.Config -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConfigurationDescriptor { - /// bech32_account_address_prefix is the account address prefix - #[prost(string, tag = "1")] - pub bech32_account_address_prefix: ::prost::alloc::string::String, -} -impl ::prost::Name for ConfigurationDescriptor { - const NAME: &'static str = "ConfigurationDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDescriptor { - /// msg_type_url contains the TypeURL of a sdk.Msg. - #[prost(string, tag = "1")] - pub msg_type_url: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgDescriptor { - const NAME: &'static str = "MsgDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetAuthnDescriptorRequest is the request used for the GetAuthnDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetAuthnDescriptorRequest {} -impl ::prost::Name for GetAuthnDescriptorRequest { - const NAME: &'static str = "GetAuthnDescriptorRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetAuthnDescriptorResponse { - /// authn describes how to authenticate to the application when sending transactions - #[prost(message, optional, tag = "1")] - pub authn: ::core::option::Option, -} -impl ::prost::Name for GetAuthnDescriptorResponse { - const NAME: &'static str = "GetAuthnDescriptorResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetChainDescriptorRequest is the request used for the GetChainDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetChainDescriptorRequest {} -impl ::prost::Name for GetChainDescriptorRequest { - const NAME: &'static str = "GetChainDescriptorRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetChainDescriptorResponse { - /// chain describes application chain information - #[prost(message, optional, tag = "1")] - pub chain: ::core::option::Option, -} -impl ::prost::Name for GetChainDescriptorResponse { - const NAME: &'static str = "GetChainDescriptorResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetCodecDescriptorRequest is the request used for the GetCodecDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetCodecDescriptorRequest {} -impl ::prost::Name for GetCodecDescriptorRequest { - const NAME: &'static str = "GetCodecDescriptorRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetCodecDescriptorResponse { - /// codec describes the application codec such as registered interfaces and implementations - #[prost(message, optional, tag = "1")] - pub codec: ::core::option::Option, -} -impl ::prost::Name for GetCodecDescriptorResponse { - const NAME: &'static str = "GetCodecDescriptorResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetConfigurationDescriptorRequest is the request used for the GetConfigurationDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetConfigurationDescriptorRequest {} -impl ::prost::Name for GetConfigurationDescriptorRequest { - const NAME: &'static str = "GetConfigurationDescriptorRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetConfigurationDescriptorResponse { - /// config describes the application's sdk.Config - #[prost(message, optional, tag = "1")] - pub config: ::core::option::Option, -} -impl ::prost::Name for GetConfigurationDescriptorResponse { - const NAME: &'static str = "GetConfigurationDescriptorResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetQueryServicesDescriptorRequest is the request used for the GetQueryServicesDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetQueryServicesDescriptorRequest {} -impl ::prost::Name for GetQueryServicesDescriptorRequest { - const NAME: &'static str = "GetQueryServicesDescriptorRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetQueryServicesDescriptorResponse { - /// queries provides information on the available queryable services - #[prost(message, optional, tag = "1")] - pub queries: ::core::option::Option, -} -impl ::prost::Name for GetQueryServicesDescriptorResponse { - const NAME: &'static str = "GetQueryServicesDescriptorResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetTxDescriptorRequest is the request used for the GetTxDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetTxDescriptorRequest {} -impl ::prost::Name for GetTxDescriptorRequest { - const NAME: &'static str = "GetTxDescriptorRequest"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetTxDescriptorResponse { - /// tx provides information on msgs that can be forwarded to the application - /// alongside the accepted transaction protobuf type - #[prost(message, optional, tag = "1")] - pub tx: ::core::option::Option, -} -impl ::prost::Name for GetTxDescriptorResponse { - const NAME: &'static str = "GetTxDescriptorResponse"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// QueryServicesDescriptor contains the list of cosmos-sdk queriable services -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryServicesDescriptor { - /// query_services is a list of cosmos-sdk QueryServiceDescriptor - #[prost(message, repeated, tag = "1")] - pub query_services: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryServicesDescriptor { - const NAME: &'static str = "QueryServicesDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// QueryServiceDescriptor describes a cosmos-sdk queryable service -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryServiceDescriptor { - /// fullname is the protobuf fullname of the service descriptor - #[prost(string, tag = "1")] - pub fullname: ::prost::alloc::string::String, - /// is_module describes if this service is actually exposed by an application's module - #[prost(bool, tag = "2")] - pub is_module: bool, - /// methods provides a list of query service methods - #[prost(message, repeated, tag = "3")] - pub methods: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryServiceDescriptor { - const NAME: &'static str = "QueryServiceDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// QueryMethodDescriptor describes a queryable method of a query service -/// no other info is provided beside method name and tendermint queryable path -/// because it would be redundant with the grpc reflection service -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryMethodDescriptor { - /// name is the protobuf name (not fullname) of the method - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// full_query_path is the path that can be used to query - /// this method via tendermint abci.Query - #[prost(string, tag = "2")] - pub full_query_path: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryMethodDescriptor { - const NAME: &'static str = "QueryMethodDescriptor"; - const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod reflection_service_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// ReflectionService defines a service for application reflection. - #[derive(Debug, Clone)] - pub struct ReflectionServiceClient { - inner: tonic::client::Grpc, - } - impl ReflectionServiceClient { - /// 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 ReflectionServiceClient - 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, - ) -> ReflectionServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - ReflectionServiceClient::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 - } - /// GetAuthnDescriptor returns information on how to authenticate transactions in the application - /// NOTE: this RPC is still experimental and might be subject to breaking changes or removal in - /// future releases of the cosmos-sdk. - pub async fn get_authn_descriptor( - &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.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v2alpha1.ReflectionService", - "GetAuthnDescriptor", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetChainDescriptor returns the description of the chain - pub async fn get_chain_descriptor( - &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.base.reflection.v2alpha1.ReflectionService/GetChainDescriptor", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v2alpha1.ReflectionService", - "GetChainDescriptor", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetCodecDescriptor returns the descriptor of the codec of the application - pub async fn get_codec_descriptor( - &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.base.reflection.v2alpha1.ReflectionService/GetCodecDescriptor", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v2alpha1.ReflectionService", - "GetCodecDescriptor", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application - pub async fn get_configuration_descriptor( - &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.base.reflection.v2alpha1.ReflectionService/GetConfigurationDescriptor", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v2alpha1.ReflectionService", - "GetConfigurationDescriptor", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetQueryServicesDescriptor returns the available gRPC queryable services of the application - pub async fn get_query_services_descriptor( - &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.base.reflection.v2alpha1.ReflectionService/GetQueryServicesDescriptor", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v2alpha1.ReflectionService", - "GetQueryServicesDescriptor", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetTxDescriptor returns information on the used transaction object and available msgs that can be used - pub async fn get_tx_descriptor( - &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.base.reflection.v2alpha1.ReflectionService/GetTxDescriptor", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.reflection.v2alpha1.ReflectionService", - "GetTxDescriptor", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod reflection_service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with ReflectionServiceServer. - #[async_trait] - pub trait ReflectionService: Send + Sync + 'static { - /// GetAuthnDescriptor returns information on how to authenticate transactions in the application - /// NOTE: this RPC is still experimental and might be subject to breaking changes or removal in - /// future releases of the cosmos-sdk. - async fn get_authn_descriptor( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetChainDescriptor returns the description of the chain - async fn get_chain_descriptor( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetCodecDescriptor returns the descriptor of the codec of the application - async fn get_codec_descriptor( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application - async fn get_configuration_descriptor( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetQueryServicesDescriptor returns the available gRPC queryable services of the application - async fn get_query_services_descriptor( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetTxDescriptor returns information on the used transaction object and available msgs that can be used - async fn get_tx_descriptor( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// ReflectionService defines a service for application reflection. - #[derive(Debug)] - pub struct ReflectionServiceServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl ReflectionServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for ReflectionServiceServer - where - T: ReflectionService, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor" => { - #[allow(non_camel_case_types)] - struct GetAuthnDescriptorSvc(pub Arc); - impl< - T: ReflectionService, - > tonic::server::UnaryService - for GetAuthnDescriptorSvc { - type Response = super::GetAuthnDescriptorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_authn_descriptor( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetAuthnDescriptorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.reflection.v2alpha1.ReflectionService/GetChainDescriptor" => { - #[allow(non_camel_case_types)] - struct GetChainDescriptorSvc(pub Arc); - impl< - T: ReflectionService, - > tonic::server::UnaryService - for GetChainDescriptorSvc { - type Response = super::GetChainDescriptorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_chain_descriptor( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetChainDescriptorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.reflection.v2alpha1.ReflectionService/GetCodecDescriptor" => { - #[allow(non_camel_case_types)] - struct GetCodecDescriptorSvc(pub Arc); - impl< - T: ReflectionService, - > tonic::server::UnaryService - for GetCodecDescriptorSvc { - type Response = super::GetCodecDescriptorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_codec_descriptor( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetCodecDescriptorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.reflection.v2alpha1.ReflectionService/GetConfigurationDescriptor" => { - #[allow(non_camel_case_types)] - struct GetConfigurationDescriptorSvc( - pub Arc, - ); - impl< - T: ReflectionService, - > tonic::server::UnaryService< - super::GetConfigurationDescriptorRequest, - > for GetConfigurationDescriptorSvc { - type Response = super::GetConfigurationDescriptorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::GetConfigurationDescriptorRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_configuration_descriptor( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetConfigurationDescriptorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.reflection.v2alpha1.ReflectionService/GetQueryServicesDescriptor" => { - #[allow(non_camel_case_types)] - struct GetQueryServicesDescriptorSvc( - pub Arc, - ); - impl< - T: ReflectionService, - > tonic::server::UnaryService< - super::GetQueryServicesDescriptorRequest, - > for GetQueryServicesDescriptorSvc { - type Response = super::GetQueryServicesDescriptorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::GetQueryServicesDescriptorRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_query_services_descriptor( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetQueryServicesDescriptorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.reflection.v2alpha1.ReflectionService/GetTxDescriptor" => { - #[allow(non_camel_case_types)] - struct GetTxDescriptorSvc(pub Arc); - impl< - T: ReflectionService, - > tonic::server::UnaryService - for GetTxDescriptorSvc { - type Response = super::GetTxDescriptorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_tx_descriptor(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetTxDescriptorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for ReflectionServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService - for ReflectionServiceServer { - const NAME: &'static str = "cosmos.base.reflection.v2alpha1.ReflectionService"; - } -} diff --git a/src/prost/cosmos.base.snapshots.v1beta1.rs b/src/prost/cosmos.base.snapshots.v1beta1.rs deleted file mode 100644 index 614c936c..00000000 --- a/src/prost/cosmos.base.snapshots.v1beta1.rs +++ /dev/null @@ -1,184 +0,0 @@ -/// Snapshot contains Tendermint state sync snapshot info. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Snapshot { - #[prost(uint64, tag = "1")] - pub height: u64, - #[prost(uint32, tag = "2")] - pub format: u32, - #[prost(uint32, tag = "3")] - pub chunks: u32, - #[prost(bytes = "vec", tag = "4")] - pub hash: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "5")] - pub metadata: ::core::option::Option, -} -impl ::prost::Name for Snapshot { - const NAME: &'static str = "Snapshot"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// Metadata contains SDK-specific snapshot metadata. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Metadata { - /// SHA-256 chunk hashes - #[prost(bytes = "vec", repeated, tag = "1")] - pub chunk_hashes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for Metadata { - const NAME: &'static str = "Metadata"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotItem is an item contained in a rootmulti.Store snapshot. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotItem { - /// item is the specific type of snapshot item. - #[prost(oneof = "snapshot_item::Item", tags = "1, 2, 3, 4, 5, 6")] - pub item: ::core::option::Option, -} -/// Nested message and enum types in `SnapshotItem`. -pub mod snapshot_item { - /// item is the specific type of snapshot item. - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Item { - #[prost(message, tag = "1")] - Store(super::SnapshotStoreItem), - #[prost(message, tag = "2")] - Iavl(super::SnapshotIavlItem), - #[prost(message, tag = "3")] - Extension(super::SnapshotExtensionMeta), - #[prost(message, tag = "4")] - ExtensionPayload(super::SnapshotExtensionPayload), - #[prost(message, tag = "5")] - Kv(super::SnapshotKvItem), - #[prost(message, tag = "6")] - Schema(super::SnapshotSchema), - } -} -impl ::prost::Name for SnapshotItem { - const NAME: &'static str = "SnapshotItem"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotStoreItem contains metadata about a snapshotted store. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotStoreItem { - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, -} -impl ::prost::Name for SnapshotStoreItem { - const NAME: &'static str = "SnapshotStoreItem"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotIAVLItem is an exported IAVL node. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotIavlItem { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, - /// version is block height - #[prost(int64, tag = "3")] - pub version: i64, - /// height is depth of the tree. - #[prost(int32, tag = "4")] - pub height: i32, -} -impl ::prost::Name for SnapshotIavlItem { - const NAME: &'static str = "SnapshotIAVLItem"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotExtensionMeta contains metadata about an external snapshotter. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotExtensionMeta { - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - #[prost(uint32, tag = "2")] - pub format: u32, -} -impl ::prost::Name for SnapshotExtensionMeta { - const NAME: &'static str = "SnapshotExtensionMeta"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotExtensionPayload contains payloads of an external snapshotter. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotExtensionPayload { - #[prost(bytes = "vec", tag = "1")] - pub payload: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SnapshotExtensionPayload { - const NAME: &'static str = "SnapshotExtensionPayload"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotKVItem is an exported Key/Value Pair -/// -/// Since: cosmos-sdk 0.46 -/// Deprecated: This message was part of store/v2alpha1 which has been deleted from v0.47. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotKvItem { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SnapshotKvItem { - const NAME: &'static str = "SnapshotKVItem"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} -/// SnapshotSchema is an exported schema of smt store -/// -/// Since: cosmos-sdk 0.46 -/// Deprecated: This message was part of store/v2alpha1 which has been deleted from v0.47. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SnapshotSchema { - #[prost(bytes = "vec", repeated, tag = "1")] - pub keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for SnapshotSchema { - const NAME: &'static str = "SnapshotSchema"; - const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.base.tendermint.v1beta1.rs b/src/prost/cosmos.base.tendermint.v1beta1.rs deleted file mode 100644 index 82dd22d6..00000000 --- a/src/prost/cosmos.base.tendermint.v1beta1.rs +++ /dev/null @@ -1,1262 +0,0 @@ -/// Block is tendermint type Block, with the Header proposer address -/// field converted to bech32 string. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Block { - #[prost(message, optional, tag = "1")] - pub header: ::core::option::Option
, - #[prost(message, optional, tag = "2")] - pub data: ::core::option::Option<::tendermint_proto::types::Data>, - #[prost(message, optional, tag = "3")] - pub evidence: ::core::option::Option<::tendermint_proto::types::EvidenceList>, - #[prost(message, optional, tag = "4")] - pub last_commit: ::core::option::Option<::tendermint_proto::types::Commit>, -} -impl ::prost::Name for Block { - const NAME: &'static str = "Block"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// Header defines the structure of a Tendermint block header. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - /// basic block info - #[prost(message, optional, tag = "1")] - pub version: ::core::option::Option<::tendermint_proto::version::Consensus>, - #[prost(string, tag = "2")] - pub chain_id: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - pub height: i64, - #[prost(message, optional, tag = "4")] - pub time: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, - /// prev block info - #[prost(message, optional, tag = "5")] - pub last_block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, - /// hashes of block data - /// - /// commit from validators from the last block - #[prost(bytes = "vec", tag = "6")] - pub last_commit_hash: ::prost::alloc::vec::Vec, - /// transactions - #[prost(bytes = "vec", tag = "7")] - pub data_hash: ::prost::alloc::vec::Vec, - /// hashes from the app output from the prev block - /// - /// validators for the current block - #[prost(bytes = "vec", tag = "8")] - pub validators_hash: ::prost::alloc::vec::Vec, - /// validators for the next block - #[prost(bytes = "vec", tag = "9")] - pub next_validators_hash: ::prost::alloc::vec::Vec, - /// consensus params for current block - #[prost(bytes = "vec", tag = "10")] - pub consensus_hash: ::prost::alloc::vec::Vec, - /// state after txs from the previous block - #[prost(bytes = "vec", tag = "11")] - pub app_hash: ::prost::alloc::vec::Vec, - /// root hash of all results from the txs from the previous block - #[prost(bytes = "vec", tag = "12")] - pub last_results_hash: ::prost::alloc::vec::Vec, - /// consensus info - /// - /// evidence included in the block - #[prost(bytes = "vec", tag = "13")] - pub evidence_hash: ::prost::alloc::vec::Vec, - /// proposer_address is the original block proposer address, formatted as a Bech32 string. - /// In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string - /// for better UX. - /// - /// original proposer of the block - #[prost(string, tag = "14")] - pub proposer_address: ::prost::alloc::string::String, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetValidatorSetByHeightRequest is the request type for the Query/GetValidatorSetByHeight RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetValidatorSetByHeightRequest { - #[prost(int64, tag = "1")] - pub height: i64, - /// pagination defines an pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for GetValidatorSetByHeightRequest { - const NAME: &'static str = "GetValidatorSetByHeightRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetValidatorSetByHeightResponse { - #[prost(int64, tag = "1")] - pub block_height: i64, - #[prost(message, repeated, tag = "2")] - pub validators: ::prost::alloc::vec::Vec, - /// pagination defines an pagination for the response. - #[prost(message, optional, tag = "3")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for GetValidatorSetByHeightResponse { - const NAME: &'static str = "GetValidatorSetByHeightResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetLatestValidatorSetRequest is the request type for the Query/GetValidatorSetByHeight RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetLatestValidatorSetRequest { - /// pagination defines an pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for GetLatestValidatorSetRequest { - const NAME: &'static str = "GetLatestValidatorSetRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetLatestValidatorSetResponse { - #[prost(int64, tag = "1")] - pub block_height: i64, - #[prost(message, repeated, tag = "2")] - pub validators: ::prost::alloc::vec::Vec, - /// pagination defines an pagination for the response. - #[prost(message, optional, tag = "3")] - pub pagination: ::core::option::Option, -} -impl ::prost::Name for GetLatestValidatorSetResponse { - const NAME: &'static str = "GetLatestValidatorSetResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// Validator is the type for the validator-set. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Validator { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub pub_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - #[prost(int64, tag = "3")] - pub voting_power: i64, - #[prost(int64, tag = "4")] - pub proposer_priority: i64, -} -impl ::prost::Name for Validator { - const NAME: &'static str = "Validator"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetBlockByHeightRequest { - #[prost(int64, tag = "1")] - pub height: i64, -} -impl ::prost::Name for GetBlockByHeightRequest { - const NAME: &'static str = "GetBlockByHeightRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetBlockByHeightResponse { - #[prost(message, optional, tag = "1")] - pub block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, - /// Deprecated: please use `sdk_block` instead - #[prost(message, optional, tag = "2")] - pub block: ::core::option::Option<::tendermint_proto::types::Block>, - /// Since: cosmos-sdk 0.47 - #[prost(message, optional, tag = "3")] - pub sdk_block: ::core::option::Option, -} -impl ::prost::Name for GetBlockByHeightResponse { - const NAME: &'static str = "GetBlockByHeightResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetLatestBlockRequest is the request type for the Query/GetLatestBlock RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetLatestBlockRequest {} -impl ::prost::Name for GetLatestBlockRequest { - const NAME: &'static str = "GetLatestBlockRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetLatestBlockResponse { - #[prost(message, optional, tag = "1")] - pub block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, - /// Deprecated: please use `sdk_block` instead - #[prost(message, optional, tag = "2")] - pub block: ::core::option::Option<::tendermint_proto::types::Block>, - /// Since: cosmos-sdk 0.47 - #[prost(message, optional, tag = "3")] - pub sdk_block: ::core::option::Option, -} -impl ::prost::Name for GetLatestBlockResponse { - const NAME: &'static str = "GetLatestBlockResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetSyncingRequest is the request type for the Query/GetSyncing RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetSyncingRequest {} -impl ::prost::Name for GetSyncingRequest { - const NAME: &'static str = "GetSyncingRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetSyncingResponse is the response type for the Query/GetSyncing RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetSyncingResponse { - #[prost(bool, tag = "1")] - pub syncing: bool, -} -impl ::prost::Name for GetSyncingResponse { - const NAME: &'static str = "GetSyncingResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetNodeInfoRequest is the request type for the Query/GetNodeInfo RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetNodeInfoRequest {} -impl ::prost::Name for GetNodeInfoRequest { - const NAME: &'static str = "GetNodeInfoRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetNodeInfoResponse { - #[prost(message, optional, tag = "1")] - pub default_node_info: ::core::option::Option< - ::tendermint_proto::p2p::DefaultNodeInfo, - >, - #[prost(message, optional, tag = "2")] - pub application_version: ::core::option::Option, -} -impl ::prost::Name for GetNodeInfoResponse { - const NAME: &'static str = "GetNodeInfoResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// VersionInfo is the type for the GetNodeInfoResponse message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VersionInfo { - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub app_name: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub version: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub git_commit: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub build_tags: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub go_version: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "7")] - pub build_deps: ::prost::alloc::vec::Vec, - /// Since: cosmos-sdk 0.43 - #[prost(string, tag = "8")] - pub cosmos_sdk_version: ::prost::alloc::string::String, -} -impl ::prost::Name for VersionInfo { - const NAME: &'static str = "VersionInfo"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// Module is the type for VersionInfo -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Module { - /// module path - #[prost(string, tag = "1")] - pub path: ::prost::alloc::string::String, - /// module version - #[prost(string, tag = "2")] - pub version: ::prost::alloc::string::String, - /// checksum - #[prost(string, tag = "3")] - pub sum: ::prost::alloc::string::String, -} -impl ::prost::Name for Module { - const NAME: &'static str = "Module"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// ABCIQueryRequest defines the request structure for the ABCIQuery gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AbciQueryRequest { - #[prost(bytes = "vec", tag = "1")] - pub data: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub path: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - pub height: i64, - #[prost(bool, tag = "4")] - pub prove: bool, -} -impl ::prost::Name for AbciQueryRequest { - const NAME: &'static str = "ABCIQueryRequest"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query. -/// -/// Note: This type is a duplicate of the ResponseQuery proto type defined in -/// Tendermint. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AbciQueryResponse { - #[prost(uint32, tag = "1")] - pub code: u32, - /// nondeterministic - #[prost(string, tag = "3")] - pub log: ::prost::alloc::string::String, - /// nondeterministic - #[prost(string, tag = "4")] - pub info: ::prost::alloc::string::String, - #[prost(int64, tag = "5")] - pub index: i64, - #[prost(bytes = "vec", tag = "6")] - pub key: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "7")] - pub value: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "8")] - pub proof_ops: ::core::option::Option, - #[prost(int64, tag = "9")] - pub height: i64, - #[prost(string, tag = "10")] - pub codespace: ::prost::alloc::string::String, -} -impl ::prost::Name for AbciQueryResponse { - const NAME: &'static str = "ABCIQueryResponse"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// ProofOp defines an operation used for calculating Merkle root. The data could -/// be arbitrary format, providing necessary data for example neighbouring node -/// hash. -/// -/// Note: This type is a duplicate of the ProofOp proto type defined in Tendermint. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ProofOp { - #[prost(string, tag = "1")] - pub r#type: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "2")] - pub key: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - pub data: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ProofOp { - const NAME: &'static str = "ProofOp"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// ProofOps is Merkle proof defined by the list of ProofOps. -/// -/// Note: This type is a duplicate of the ProofOps proto type defined in Tendermint. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ProofOps { - #[prost(message, repeated, tag = "1")] - pub ops: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ProofOps { - const NAME: &'static str = "ProofOps"; - const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod service_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Service defines the gRPC querier service for tendermint queries. - #[derive(Debug, Clone)] - pub struct ServiceClient { - inner: tonic::client::Grpc, - } - impl ServiceClient { - /// 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 ServiceClient - 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, - ) -> ServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - ServiceClient::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 - } - /// GetNodeInfo queries the current node info. - pub async fn get_node_info( - &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.base.tendermint.v1beta1.Service/GetNodeInfo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "GetNodeInfo", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetSyncing queries node syncing. - pub async fn get_syncing( - &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.base.tendermint.v1beta1.Service/GetSyncing", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "GetSyncing", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetLatestBlock returns the latest block. - pub async fn get_latest_block( - &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.base.tendermint.v1beta1.Service/GetLatestBlock", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "GetLatestBlock", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetBlockByHeight queries block for given height. - pub async fn get_block_by_height( - &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.base.tendermint.v1beta1.Service/GetBlockByHeight", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "GetBlockByHeight", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetLatestValidatorSet queries latest validator-set. - pub async fn get_latest_validator_set( - &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.base.tendermint.v1beta1.Service/GetLatestValidatorSet", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "GetLatestValidatorSet", - ), - ); - self.inner.unary(req, path, codec).await - } - /// GetValidatorSetByHeight queries validator-set at a given height. - pub async fn get_validator_set_by_height( - &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.base.tendermint.v1beta1.Service/GetValidatorSetByHeight", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "GetValidatorSetByHeight", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ABCIQuery defines a query handler that supports ABCI queries directly to the - /// application, bypassing Tendermint completely. The ABCI query must contain - /// a valid and supported path, including app, custom, p2p, and store. - /// - /// Since: cosmos-sdk 0.46 - pub async fn abci_query( - &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.base.tendermint.v1beta1.Service/ABCIQuery", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.base.tendermint.v1beta1.Service", - "ABCIQuery", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with ServiceServer. - #[async_trait] - pub trait Service: Send + Sync + 'static { - /// GetNodeInfo queries the current node info. - async fn get_node_info( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetSyncing queries node syncing. - async fn get_syncing( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetLatestBlock returns the latest block. - async fn get_latest_block( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetBlockByHeight queries block for given height. - async fn get_block_by_height( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetLatestValidatorSet queries latest validator-set. - async fn get_latest_validator_set( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetValidatorSetByHeight queries validator-set at a given height. - async fn get_validator_set_by_height( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ABCIQuery defines a query handler that supports ABCI queries directly to the - /// application, bypassing Tendermint completely. The ABCI query must contain - /// a valid and supported path, including app, custom, p2p, and store. - /// - /// Since: cosmos-sdk 0.46 - async fn abci_query( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Service defines the gRPC querier service for tendermint queries. - #[derive(Debug)] - pub struct ServiceServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl ServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for ServiceServer - where - T: Service, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.base.tendermint.v1beta1.Service/GetNodeInfo" => { - #[allow(non_camel_case_types)] - struct GetNodeInfoSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetNodeInfoSvc { - type Response = super::GetNodeInfoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_node_info(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetNodeInfoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.tendermint.v1beta1.Service/GetSyncing" => { - #[allow(non_camel_case_types)] - struct GetSyncingSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetSyncingSvc { - type Response = super::GetSyncingResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_syncing(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetSyncingSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.tendermint.v1beta1.Service/GetLatestBlock" => { - #[allow(non_camel_case_types)] - struct GetLatestBlockSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetLatestBlockSvc { - type Response = super::GetLatestBlockResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_latest_block(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetLatestBlockSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.tendermint.v1beta1.Service/GetBlockByHeight" => { - #[allow(non_camel_case_types)] - struct GetBlockByHeightSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetBlockByHeightSvc { - type Response = super::GetBlockByHeightResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_block_by_height(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetBlockByHeightSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.tendermint.v1beta1.Service/GetLatestValidatorSet" => { - #[allow(non_camel_case_types)] - struct GetLatestValidatorSetSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetLatestValidatorSetSvc { - type Response = super::GetLatestValidatorSetResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_latest_validator_set(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetLatestValidatorSetSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.tendermint.v1beta1.Service/GetValidatorSetByHeight" => { - #[allow(non_camel_case_types)] - struct GetValidatorSetByHeightSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetValidatorSetByHeightSvc { - type Response = super::GetValidatorSetByHeightResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::GetValidatorSetByHeightRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_validator_set_by_height(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetValidatorSetByHeightSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.base.tendermint.v1beta1.Service/ABCIQuery" => { - #[allow(non_camel_case_types)] - struct ABCIQuerySvc(pub Arc); - impl tonic::server::UnaryService - for ABCIQuerySvc { - type Response = super::AbciQueryResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::abci_query(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ABCIQuerySvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for ServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for ServiceServer { - const NAME: &'static str = "cosmos.base.tendermint.v1beta1.Service"; - } -} diff --git a/src/prost/cosmos.base.v1beta1.rs b/src/prost/cosmos.base.v1beta1.rs deleted file mode 100644 index 739a6fc9..00000000 --- a/src/prost/cosmos.base.v1beta1.rs +++ /dev/null @@ -1,70 +0,0 @@ -/// Coin defines a token with a denomination and an amount. -/// -/// NOTE: The amount field is an Int which implements the custom method -/// signatures required by gogoproto. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Coin { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount: ::prost::alloc::string::String, -} -impl ::prost::Name for Coin { - const NAME: &'static str = "Coin"; - const PACKAGE: &'static str = "cosmos.base.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) - } -} -/// DecCoin defines a token with a denomination and a decimal amount. -/// -/// NOTE: The amount field is an Dec which implements the custom method -/// signatures required by gogoproto. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DecCoin { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount: ::prost::alloc::string::String, -} -impl ::prost::Name for DecCoin { - const NAME: &'static str = "DecCoin"; - const PACKAGE: &'static str = "cosmos.base.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) - } -} -/// IntProto defines a Protobuf wrapper around an Int object. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IntProto { - #[prost(string, tag = "1")] - pub int: ::prost::alloc::string::String, -} -impl ::prost::Name for IntProto { - const NAME: &'static str = "IntProto"; - const PACKAGE: &'static str = "cosmos.base.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) - } -} -/// DecProto defines a Protobuf wrapper around a Dec object. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DecProto { - #[prost(string, tag = "1")] - pub dec: ::prost::alloc::string::String, -} -impl ::prost::Name for DecProto { - const NAME: &'static str = "DecProto"; - const PACKAGE: &'static str = "cosmos.base.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.ed25519.rs b/src/prost/cosmos.crypto.ed25519.rs deleted file mode 100644 index 4195c048..00000000 --- a/src/prost/cosmos.crypto.ed25519.rs +++ /dev/null @@ -1,33 +0,0 @@ -/// PubKey is an ed25519 public key for handling Tendermint keys in SDK. -/// It's needed for Any serialization and SDK compatibility. -/// It must not be used in a non Tendermint key context because it doesn't implement -/// ADR-28. Nevertheless, you will like to use ed25519 in app user level -/// then you must create a new proto message and follow ADR-28 for Address construction. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PubKey { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PubKey { - const NAME: &'static str = "PubKey"; - const PACKAGE: &'static str = "cosmos.crypto.ed25519"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.ed25519.{}", Self::NAME) - } -} -/// Deprecated: PrivKey defines a ed25519 private key. -/// NOTE: ed25519 keys must not be used in SDK apps except in a tendermint validator context. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PrivKey { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PrivKey { - const NAME: &'static str = "PrivKey"; - const PACKAGE: &'static str = "cosmos.crypto.ed25519"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.ed25519.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.hd.v1.rs b/src/prost/cosmos.crypto.hd.v1.rs deleted file mode 100644 index 0561b040..00000000 --- a/src/prost/cosmos.crypto.hd.v1.rs +++ /dev/null @@ -1,28 +0,0 @@ -/// BIP44Params is used as path field in ledger item in Record. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Bip44Params { - /// purpose is a constant set to 44' (or 0x8000002C) following the BIP43 recommendation - #[prost(uint32, tag = "1")] - pub purpose: u32, - /// coin_type is a constant that improves privacy - #[prost(uint32, tag = "2")] - pub coin_type: u32, - /// account splits the key space into independent user identities - #[prost(uint32, tag = "3")] - pub account: u32, - /// change is a constant used for public derivation. Constant 0 is used for external chain and constant 1 for internal - /// chain. - #[prost(bool, tag = "4")] - pub change: bool, - /// address_index is used as child index in BIP32 derivation - #[prost(uint32, tag = "5")] - pub address_index: u32, -} -impl ::prost::Name for Bip44Params { - const NAME: &'static str = "BIP44Params"; - const PACKAGE: &'static str = "cosmos.crypto.hd.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.hd.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.keyring.v1.rs b/src/prost/cosmos.crypto.keyring.v1.rs deleted file mode 100644 index 1990225d..00000000 --- a/src/prost/cosmos.crypto.keyring.v1.rs +++ /dev/null @@ -1,96 +0,0 @@ -/// Record is used for representing a key in the keyring. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Record { - /// name represents a name of Record - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// pub_key represents a public key in any format - #[prost(message, optional, tag = "2")] - pub pub_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// Record contains one of the following items - #[prost(oneof = "record::Item", tags = "3, 4, 5, 6")] - pub item: ::core::option::Option, -} -/// Nested message and enum types in `Record`. -pub mod record { - /// Item is a keyring item stored in a keyring backend. - /// Local item - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Local { - #[prost(message, optional, tag = "1")] - pub priv_key: ::core::option::Option< - super::super::super::super::super::google::protobuf::Any, - >, - } - impl ::prost::Name for Local { - const NAME: &'static str = "Local"; - const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) - } - } - /// Ledger item - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Ledger { - #[prost(message, optional, tag = "1")] - pub path: ::core::option::Option, - } - impl ::prost::Name for Ledger { - const NAME: &'static str = "Ledger"; - const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) - } - } - /// Multi item - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Multi {} - impl ::prost::Name for Multi { - const NAME: &'static str = "Multi"; - const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) - } - } - /// Offline item - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Offline {} - impl ::prost::Name for Offline { - const NAME: &'static str = "Offline"; - const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) - } - } - /// Record contains one of the following items - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Item { - /// local stores the private key locally. - #[prost(message, tag = "3")] - Local(Local), - /// ledger stores the information about a Ledger key. - #[prost(message, tag = "4")] - Ledger(Ledger), - /// Multi does not store any other information. - #[prost(message, tag = "5")] - Multi(Multi), - /// Offline does not store any other information. - #[prost(message, tag = "6")] - Offline(Offline), - } -} -impl ::prost::Name for Record { - const NAME: &'static str = "Record"; - const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.keyring.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.multisig.rs b/src/prost/cosmos.crypto.multisig.rs deleted file mode 100644 index 6455fb3d..00000000 --- a/src/prost/cosmos.crypto.multisig.rs +++ /dev/null @@ -1,20 +0,0 @@ -/// LegacyAminoPubKey specifies a public key type -/// which nests multiple public keys and a threshold, -/// it uses legacy amino address rules. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LegacyAminoPubKey { - #[prost(uint32, tag = "1")] - pub threshold: u32, - #[prost(message, repeated, tag = "2")] - pub public_keys: ::prost::alloc::vec::Vec< - super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for LegacyAminoPubKey { - const NAME: &'static str = "LegacyAminoPubKey"; - const PACKAGE: &'static str = "cosmos.crypto.multisig"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.multisig.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.multisig.v1beta1.rs b/src/prost/cosmos.crypto.multisig.v1beta1.rs deleted file mode 100644 index 1d784f69..00000000 --- a/src/prost/cosmos.crypto.multisig.v1beta1.rs +++ /dev/null @@ -1,35 +0,0 @@ -/// MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. -/// See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers -/// signed and with which modes. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MultiSignature { - #[prost(bytes = "vec", repeated, tag = "1")] - pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for MultiSignature { - const NAME: &'static str = "MultiSignature"; - const PACKAGE: &'static str = "cosmos.crypto.multisig.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.multisig.v1beta1.{}", Self::NAME) - } -} -/// CompactBitArray is an implementation of a space efficient bit array. -/// This is used to ensure that the encoded data takes up a minimal amount of -/// space after proto encoding. -/// This is not thread safe, and is not intended for concurrent usage. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CompactBitArray { - #[prost(uint32, tag = "1")] - pub extra_bits_stored: u32, - #[prost(bytes = "vec", tag = "2")] - pub elems: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for CompactBitArray { - const NAME: &'static str = "CompactBitArray"; - const PACKAGE: &'static str = "cosmos.crypto.multisig.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.multisig.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.secp256k1.rs b/src/prost/cosmos.crypto.secp256k1.rs deleted file mode 100644 index cafdb65e..00000000 --- a/src/prost/cosmos.crypto.secp256k1.rs +++ /dev/null @@ -1,32 +0,0 @@ -/// PubKey defines a secp256k1 public key -/// Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte -/// if the y-coordinate is the lexicographically largest of the two associated with -/// the x-coordinate. Otherwise the first byte is a 0x03. -/// This prefix is followed with the x-coordinate. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PubKey { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PubKey { - const NAME: &'static str = "PubKey"; - const PACKAGE: &'static str = "cosmos.crypto.secp256k1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.secp256k1.{}", Self::NAME) - } -} -/// PrivKey defines a secp256k1 private key. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PrivKey { - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PrivKey { - const NAME: &'static str = "PrivKey"; - const PACKAGE: &'static str = "cosmos.crypto.secp256k1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.secp256k1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.crypto.secp256r1.rs b/src/prost/cosmos.crypto.secp256r1.rs deleted file mode 100644 index 067eef4b..00000000 --- a/src/prost/cosmos.crypto.secp256r1.rs +++ /dev/null @@ -1,31 +0,0 @@ -/// PubKey defines a secp256r1 ECDSA public key. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PubKey { - /// Point on secp256r1 curve in a compressed representation as specified in section - /// 4.3.6 of ANSI X9.62: - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PubKey { - const NAME: &'static str = "PubKey"; - const PACKAGE: &'static str = "cosmos.crypto.secp256r1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.secp256r1.{}", Self::NAME) - } -} -/// PrivKey defines a secp256r1 ECDSA private key. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PrivKey { - /// secret number serialized using big-endian encoding - #[prost(bytes = "vec", tag = "1")] - pub secret: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PrivKey { - const NAME: &'static str = "PrivKey"; - const PACKAGE: &'static str = "cosmos.crypto.secp256r1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.crypto.secp256r1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.gov.module.v1.rs b/src/prost/cosmos.gov.module.v1.rs deleted file mode 100644 index 9a066d49..00000000 --- a/src/prost/cosmos.gov.module.v1.rs +++ /dev/null @@ -1,19 +0,0 @@ -/// Module is the config object of the gov module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Module { - /// max_metadata_len defines the maximum proposal metadata length. - /// Defaults to 255 if not explicitly set. - #[prost(uint64, tag = "1")] - pub max_metadata_len: u64, - /// authority defines the custom module authority. If not set, defaults to the governance module. - #[prost(string, tag = "2")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for Module { - const NAME: &'static str = "Module"; - const PACKAGE: &'static str = "cosmos.gov.module.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.module.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.gov.v1.rs b/src/prost/cosmos.gov.v1.rs deleted file mode 100644 index feb0a17d..00000000 --- a/src/prost/cosmos.gov.v1.rs +++ /dev/null @@ -1,2459 +0,0 @@ -/// WeightedVoteOption defines a unit of vote for vote split. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct WeightedVoteOption { - /// option defines the valid vote options, it must not contain duplicate vote options. - #[prost(enumeration = "VoteOption", tag = "1")] - pub option: i32, - /// weight is the vote weight associated with the vote option. - #[prost(string, tag = "2")] - pub weight: ::prost::alloc::string::String, -} -impl ::prost::Name for WeightedVoteOption { - const NAME: &'static str = "WeightedVoteOption"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// Deposit defines an amount deposited by an account address to an active -/// proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Deposit { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "2")] - pub depositor: ::prost::alloc::string::String, - /// amount to be deposited by depositor. - #[prost(message, repeated, tag = "3")] - pub amount: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Deposit { - const NAME: &'static str = "Deposit"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// Proposal defines the core field members of a governance proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Proposal { - /// id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub id: u64, - /// messages are the arbitrary messages to be executed if the proposal passes. - #[prost(message, repeated, tag = "2")] - pub messages: ::prost::alloc::vec::Vec, - /// status defines the proposal status. - #[prost(enumeration = "ProposalStatus", tag = "3")] - pub status: i32, - /// final_tally_result is the final tally result of the proposal. When - /// querying a proposal via gRPC, this field is not populated until the - /// proposal's voting period has ended. - #[prost(message, optional, tag = "4")] - pub final_tally_result: ::core::option::Option, - /// submit_time is the time of proposal submission. - #[prost(message, optional, tag = "5")] - pub submit_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// deposit_end_time is the end time for deposition. - #[prost(message, optional, tag = "6")] - pub deposit_end_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// total_deposit is the total deposit on the proposal. - #[prost(message, repeated, tag = "7")] - pub total_deposit: ::prost::alloc::vec::Vec, - /// voting_start_time is the starting time to vote on a proposal. - #[prost(message, optional, tag = "8")] - pub voting_start_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// voting_end_time is the end time of voting on a proposal. - #[prost(message, optional, tag = "9")] - pub voting_end_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// metadata is any arbitrary metadata attached to the proposal. - #[prost(string, tag = "10")] - pub metadata: ::prost::alloc::string::String, - /// title is the title of the proposal - /// - /// Since: cosmos-sdk 0.47 - #[prost(string, tag = "11")] - pub title: ::prost::alloc::string::String, - /// summary is a short summary of the proposal - /// - /// Since: cosmos-sdk 0.47 - #[prost(string, tag = "12")] - pub summary: ::prost::alloc::string::String, - /// Proposer is the address of the proposal sumbitter - /// - /// Since: cosmos-sdk 0.47 - #[prost(string, tag = "13")] - pub proposer: ::prost::alloc::string::String, -} -impl ::prost::Name for Proposal { - const NAME: &'static str = "Proposal"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// TallyResult defines a standard tally for a governance proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TallyResult { - /// yes_count is the number of yes votes on a proposal. - #[prost(string, tag = "1")] - pub yes_count: ::prost::alloc::string::String, - /// abstain_count is the number of abstain votes on a proposal. - #[prost(string, tag = "2")] - pub abstain_count: ::prost::alloc::string::String, - /// no_count is the number of no votes on a proposal. - #[prost(string, tag = "3")] - pub no_count: ::prost::alloc::string::String, - /// no_with_veto_count is the number of no with veto votes on a proposal. - #[prost(string, tag = "4")] - pub no_with_veto_count: ::prost::alloc::string::String, -} -impl ::prost::Name for TallyResult { - const NAME: &'static str = "TallyResult"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// Vote defines a vote on a governance proposal. -/// A Vote consists of a proposal ID, the voter, and the vote option. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Vote { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter is the voter address of the proposal. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// options is the weighted vote options. - #[prost(message, repeated, tag = "4")] - pub options: ::prost::alloc::vec::Vec, - /// metadata is any arbitrary metadata to attached to the vote. - #[prost(string, tag = "5")] - pub metadata: ::prost::alloc::string::String, -} -impl ::prost::Name for Vote { - const NAME: &'static str = "Vote"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// DepositParams defines the params for deposits on governance proposals. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DepositParams { - /// Minimum deposit for a proposal to enter voting period. - #[prost(message, repeated, tag = "1")] - pub min_deposit: ::prost::alloc::vec::Vec, - /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2 - /// months. - #[prost(message, optional, tag = "2")] - pub max_deposit_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, -} -impl ::prost::Name for DepositParams { - const NAME: &'static str = "DepositParams"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// VotingParams defines the params for voting on governance proposals. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VotingParams { - /// Duration of the voting period. - #[prost(message, optional, tag = "1")] - pub voting_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, -} -impl ::prost::Name for VotingParams { - const NAME: &'static str = "VotingParams"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// TallyParams defines the params for tallying votes on governance proposals. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TallyParams { - /// Minimum percentage of total stake needed to vote for a result to be - /// considered valid. - #[prost(string, tag = "1")] - pub quorum: ::prost::alloc::string::String, - /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. - #[prost(string, tag = "2")] - pub threshold: ::prost::alloc::string::String, - /// Minimum value of Veto votes to Total votes ratio for proposal to be - /// vetoed. Default value: 1/3. - #[prost(string, tag = "3")] - pub veto_threshold: ::prost::alloc::string::String, -} -impl ::prost::Name for TallyParams { - const NAME: &'static str = "TallyParams"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// Params defines the parameters for the x/gov module. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// Minimum deposit for a proposal to enter voting period. - #[prost(message, repeated, tag = "1")] - pub min_deposit: ::prost::alloc::vec::Vec, - /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2 - /// months. - #[prost(message, optional, tag = "2")] - pub max_deposit_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, - /// Duration of the voting period. - #[prost(message, optional, tag = "3")] - pub voting_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, - /// Minimum percentage of total stake needed to vote for a result to be - /// considered valid. - #[prost(string, tag = "4")] - pub quorum: ::prost::alloc::string::String, - /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. - #[prost(string, tag = "5")] - pub threshold: ::prost::alloc::string::String, - /// Minimum value of Veto votes to Total votes ratio for proposal to be - /// vetoed. Default value: 1/3. - #[prost(string, tag = "6")] - pub veto_threshold: ::prost::alloc::string::String, - /// The ratio representing the proportion of the deposit value that must be paid at proposal submission. - #[prost(string, tag = "7")] - pub min_initial_deposit_ratio: ::prost::alloc::string::String, - /// burn deposits if a proposal does not meet quorum - #[prost(bool, tag = "13")] - pub burn_vote_quorum: bool, - /// burn deposits if the proposal does not enter voting period - #[prost(bool, tag = "14")] - pub burn_proposal_deposit_prevote: bool, - /// burn deposits if quorum with vote type no_veto is met - #[prost(bool, tag = "15")] - pub burn_vote_veto: bool, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// VoteOption enumerates the valid vote options for a given governance proposal. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum VoteOption { - /// VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - Unspecified = 0, - /// VOTE_OPTION_YES defines a yes vote option. - Yes = 1, - /// VOTE_OPTION_ABSTAIN defines an abstain vote option. - Abstain = 2, - /// VOTE_OPTION_NO defines a no vote option. - No = 3, - /// VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - NoWithVeto = 4, -} -impl VoteOption { - /// 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 { - VoteOption::Unspecified => "VOTE_OPTION_UNSPECIFIED", - VoteOption::Yes => "VOTE_OPTION_YES", - VoteOption::Abstain => "VOTE_OPTION_ABSTAIN", - VoteOption::No => "VOTE_OPTION_NO", - VoteOption::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "VOTE_OPTION_UNSPECIFIED" => Some(Self::Unspecified), - "VOTE_OPTION_YES" => Some(Self::Yes), - "VOTE_OPTION_ABSTAIN" => Some(Self::Abstain), - "VOTE_OPTION_NO" => Some(Self::No), - "VOTE_OPTION_NO_WITH_VETO" => Some(Self::NoWithVeto), - _ => None, - } - } -} -/// ProposalStatus enumerates the valid statuses of a proposal. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ProposalStatus { - /// PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - Unspecified = 0, - /// PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - /// period. - DepositPeriod = 1, - /// PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - /// period. - VotingPeriod = 2, - /// PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - /// passed. - Passed = 3, - /// PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - /// been rejected. - Rejected = 4, - /// PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - /// failed. - Failed = 5, -} -impl ProposalStatus { - /// 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 { - ProposalStatus::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED", - ProposalStatus::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD", - ProposalStatus::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD", - ProposalStatus::Passed => "PROPOSAL_STATUS_PASSED", - ProposalStatus::Rejected => "PROPOSAL_STATUS_REJECTED", - ProposalStatus::Failed => "PROPOSAL_STATUS_FAILED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "PROPOSAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified), - "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Some(Self::DepositPeriod), - "PROPOSAL_STATUS_VOTING_PERIOD" => Some(Self::VotingPeriod), - "PROPOSAL_STATUS_PASSED" => Some(Self::Passed), - "PROPOSAL_STATUS_REJECTED" => Some(Self::Rejected), - "PROPOSAL_STATUS_FAILED" => Some(Self::Failed), - _ => None, - } - } -} -/// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary -/// proposal Content. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitProposal { - /// messages are the arbitrary messages to be executed if proposal passes. - #[prost(message, repeated, tag = "1")] - pub messages: ::prost::alloc::vec::Vec, - /// initial_deposit is the deposit value that must be paid at proposal submission. - #[prost(message, repeated, tag = "2")] - pub initial_deposit: ::prost::alloc::vec::Vec, - /// proposer is the account address of the proposer. - #[prost(string, tag = "3")] - pub proposer: ::prost::alloc::string::String, - /// metadata is any arbitrary metadata attached to the proposal. - #[prost(string, tag = "4")] - pub metadata: ::prost::alloc::string::String, - /// title is the title of the proposal. - /// - /// Since: cosmos-sdk 0.47 - #[prost(string, tag = "5")] - pub title: ::prost::alloc::string::String, - /// summary is the summary of the proposal - /// - /// Since: cosmos-sdk 0.47 - #[prost(string, tag = "6")] - pub summary: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgSubmitProposal { - const NAME: &'static str = "MsgSubmitProposal"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitProposalResponse { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, -} -impl ::prost::Name for MsgSubmitProposalResponse { - const NAME: &'static str = "MsgSubmitProposalResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgExecLegacyContent is used to wrap the legacy content field into a message. -/// This ensures backwards compatibility with v1beta1.MsgSubmitProposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgExecLegacyContent { - /// content is the proposal's content. - #[prost(message, optional, tag = "1")] - pub content: ::core::option::Option, - /// authority must be the gov module address. - #[prost(string, tag = "2")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgExecLegacyContent { - const NAME: &'static str = "MsgExecLegacyContent"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgExecLegacyContentResponse {} -impl ::prost::Name for MsgExecLegacyContentResponse { - const NAME: &'static str = "MsgExecLegacyContentResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgVote defines a message to cast a vote. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVote { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter is the voter address for the proposal. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// option defines the vote option. - #[prost(enumeration = "VoteOption", tag = "3")] - pub option: i32, - /// metadata is any arbitrary metadata attached to the Vote. - #[prost(string, tag = "4")] - pub metadata: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgVote { - const NAME: &'static str = "MsgVote"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgVoteResponse defines the Msg/Vote response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVoteResponse {} -impl ::prost::Name for MsgVoteResponse { - const NAME: &'static str = "MsgVoteResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgVoteWeighted defines a message to cast a vote. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVoteWeighted { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter is the voter address for the proposal. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// options defines the weighted vote options. - #[prost(message, repeated, tag = "3")] - pub options: ::prost::alloc::vec::Vec, - /// metadata is any arbitrary metadata attached to the VoteWeighted. - #[prost(string, tag = "4")] - pub metadata: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgVoteWeighted { - const NAME: &'static str = "MsgVoteWeighted"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVoteWeightedResponse {} -impl ::prost::Name for MsgVoteWeightedResponse { - const NAME: &'static str = "MsgVoteWeightedResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgDeposit defines a message to submit a deposit to an existing proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDeposit { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "2")] - pub depositor: ::prost::alloc::string::String, - /// amount to be deposited by depositor. - #[prost(message, repeated, tag = "3")] - pub amount: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgDeposit { - const NAME: &'static str = "MsgDeposit"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgDepositResponse defines the Msg/Deposit response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDepositResponse {} -impl ::prost::Name for MsgDepositResponse { - const NAME: &'static str = "MsgDepositResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgUpdateParams is the Msg/UpdateParams request type. -/// -/// Since: cosmos-sdk 0.47 -#[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/gov 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.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// MsgUpdateParamsResponse defines the response structure for executing a -/// MsgUpdateParams message. -/// -/// Since: cosmos-sdk 0.47 -#[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.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the gov Msg service. - #[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 - } - /// SubmitProposal defines a method to create new proposal given the messages. - pub async fn submit_proposal( - &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.gov.v1.Msg/SubmitProposal", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "SubmitProposal")); - self.inner.unary(req, path, codec).await - } - /// ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal - /// to execute a legacy content-based proposal. - pub async fn exec_legacy_content( - &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.gov.v1.Msg/ExecLegacyContent", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "ExecLegacyContent")); - self.inner.unary(req, path, codec).await - } - /// Vote defines a method to add a vote on a specific proposal. - pub async fn vote( - &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.gov.v1.Msg/Vote"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Msg", "Vote")); - self.inner.unary(req, path, codec).await - } - /// VoteWeighted defines a method to add a weighted vote on a specific proposal. - pub async fn vote_weighted( - &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.gov.v1.Msg/VoteWeighted", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "VoteWeighted")); - self.inner.unary(req, path, codec).await - } - /// Deposit defines a method to add deposit on a specific proposal. - pub async fn deposit( - &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.gov.v1.Msg/Deposit", - ); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Msg", "Deposit")); - self.inner.unary(req, path, codec).await - } - /// UpdateParams defines a governance operation for updating the x/gov module - /// parameters. The authority is defined in the keeper. - /// - /// Since: cosmos-sdk 0.47 - pub async fn update_params( - &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.gov.v1.Msg/UpdateParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "UpdateParams")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// SubmitProposal defines a method to create new proposal given the messages. - async fn submit_proposal( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal - /// to execute a legacy content-based proposal. - async fn exec_legacy_content( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Vote defines a method to add a vote on a specific proposal. - async fn vote( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// VoteWeighted defines a method to add a weighted vote on a specific proposal. - async fn vote_weighted( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Deposit defines a method to add deposit on a specific proposal. - async fn deposit( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateParams defines a governance operation for updating the x/gov module - /// parameters. The authority is defined in the keeper. - /// - /// Since: cosmos-sdk 0.47 - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the gov Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.gov.v1.Msg/SubmitProposal" => { - #[allow(non_camel_case_types)] - struct SubmitProposalSvc(pub Arc); - impl tonic::server::UnaryService - for SubmitProposalSvc { - type Response = super::MsgSubmitProposalResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::submit_proposal(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SubmitProposalSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Msg/ExecLegacyContent" => { - #[allow(non_camel_case_types)] - struct ExecLegacyContentSvc(pub Arc); - impl tonic::server::UnaryService - for ExecLegacyContentSvc { - type Response = super::MsgExecLegacyContentResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::exec_legacy_content(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ExecLegacyContentSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Msg/Vote" => { - #[allow(non_camel_case_types)] - struct VoteSvc(pub Arc); - impl tonic::server::UnaryService - for VoteSvc { - type Response = super::MsgVoteResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::vote(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VoteSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Msg/VoteWeighted" => { - #[allow(non_camel_case_types)] - struct VoteWeightedSvc(pub Arc); - impl tonic::server::UnaryService - for VoteWeightedSvc { - type Response = super::MsgVoteWeightedResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::vote_weighted(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VoteWeightedSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Msg/Deposit" => { - #[allow(non_camel_case_types)] - struct DepositSvc(pub Arc); - impl tonic::server::UnaryService - for DepositSvc { - type Response = super::MsgDepositResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deposit(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DepositSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "cosmos.gov.v1.Msg"; - } -} -/// QueryProposalRequest is the request type for the Query/Proposal RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, -} -impl ::prost::Name for QueryProposalRequest { - const NAME: &'static str = "QueryProposalRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryProposalResponse is the response type for the Query/Proposal RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalResponse { - /// proposal is the requested governance proposal. - #[prost(message, optional, tag = "1")] - pub proposal: ::core::option::Option, -} -impl ::prost::Name for QueryProposalResponse { - const NAME: &'static str = "QueryProposalResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryProposalsRequest is the request type for the Query/Proposals RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalsRequest { - /// proposal_status defines the status of the proposals. - #[prost(enumeration = "ProposalStatus", tag = "1")] - pub proposal_status: i32, - /// voter defines the voter address for the proposals. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "3")] - pub depositor: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "4")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryProposalsRequest { - const NAME: &'static str = "QueryProposalsRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryProposalsResponse is the response type for the Query/Proposals RPC -/// method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalsResponse { - /// proposals defines all the requested governance proposals. - #[prost(message, repeated, tag = "1")] - pub proposals: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryProposalsResponse { - const NAME: &'static str = "QueryProposalsResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryVoteRequest is the request type for the Query/Vote RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVoteRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter defines the voter address for the proposals. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryVoteRequest { - const NAME: &'static str = "QueryVoteRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryVoteResponse is the response type for the Query/Vote RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVoteResponse { - /// vote defines the queried vote. - #[prost(message, optional, tag = "1")] - pub vote: ::core::option::Option, -} -impl ::prost::Name for QueryVoteResponse { - const NAME: &'static str = "QueryVoteResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryVotesRequest is the request type for the Query/Votes RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVotesRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryVotesRequest { - const NAME: &'static str = "QueryVotesRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryVotesResponse is the response type for the Query/Votes RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVotesResponse { - /// votes defines the queried votes. - #[prost(message, repeated, tag = "1")] - pub votes: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryVotesResponse { - const NAME: &'static str = "QueryVotesResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", 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 { - /// params_type defines which parameters to query for, can be one of "voting", - /// "tallying" or "deposit". - #[prost(string, tag = "1")] - pub params_type: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", 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 { - /// Deprecated: Prefer to use `params` instead. - /// voting_params defines the parameters related to voting. - #[deprecated] - #[prost(message, optional, tag = "1")] - pub voting_params: ::core::option::Option, - /// Deprecated: Prefer to use `params` instead. - /// deposit_params defines the parameters related to deposit. - #[deprecated] - #[prost(message, optional, tag = "2")] - pub deposit_params: ::core::option::Option, - /// Deprecated: Prefer to use `params` instead. - /// tally_params defines the parameters related to tally. - #[deprecated] - #[prost(message, optional, tag = "3")] - pub tally_params: ::core::option::Option, - /// params defines all the paramaters of x/gov module. - /// - /// Since: cosmos-sdk 0.47 - #[prost(message, optional, tag = "4")] - pub params: ::core::option::Option, -} -impl ::prost::Name for QueryParamsResponse { - const NAME: &'static str = "QueryParamsResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryDepositRequest is the request type for the Query/Deposit RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "2")] - pub depositor: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDepositRequest { - const NAME: &'static str = "QueryDepositRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryDepositResponse is the response type for the Query/Deposit RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositResponse { - /// deposit defines the requested deposit. - #[prost(message, optional, tag = "1")] - pub deposit: ::core::option::Option, -} -impl ::prost::Name for QueryDepositResponse { - const NAME: &'static str = "QueryDepositResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryDepositsRequest is the request type for the Query/Deposits RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositsRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryDepositsRequest { - const NAME: &'static str = "QueryDepositsRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryDepositsResponse is the response type for the Query/Deposits RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositsResponse { - /// deposits defines the requested deposits. - #[prost(message, repeated, tag = "1")] - pub deposits: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryDepositsResponse { - const NAME: &'static str = "QueryDepositsResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryTallyResultRequest is the request type for the Query/Tally RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTallyResultRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, -} -impl ::prost::Name for QueryTallyResultRequest { - const NAME: &'static str = "QueryTallyResultRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// QueryTallyResultResponse is the response type for the Query/Tally RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTallyResultResponse { - /// tally defines the requested tally. - #[prost(message, optional, tag = "1")] - pub tally: ::core::option::Option, -} -impl ::prost::Name for QueryTallyResultResponse { - const NAME: &'static str = "QueryTallyResultResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the gRPC querier service for gov module - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Proposal queries proposal details based on ProposalID. - pub async fn proposal( - &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.gov.v1.Query/Proposal", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Proposal")); - self.inner.unary(req, path, codec).await - } - /// Proposals queries all proposals based on given status. - pub async fn proposals( - &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.gov.v1.Query/Proposals", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Proposals")); - self.inner.unary(req, path, codec).await - } - /// Vote queries voted information based on proposalID, voterAddr. - pub async fn vote( - &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.gov.v1.Query/Vote"); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Query", "Vote")); - self.inner.unary(req, path, codec).await - } - /// Votes queries votes of a given proposal. - pub async fn votes( - &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.gov.v1.Query/Votes", - ); - let mut req = request.into_request(); - req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Query", "Votes")); - self.inner.unary(req, path, codec).await - } - /// Params queries all parameters of the gov module. - pub async fn params( - &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.gov.v1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Params")); - self.inner.unary(req, path, codec).await - } - /// Deposit queries single deposit information based proposalID, depositAddr. - pub async fn deposit( - &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.gov.v1.Query/Deposit", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Deposit")); - self.inner.unary(req, path, codec).await - } - /// Deposits queries all deposits of a single proposal. - pub async fn deposits( - &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.gov.v1.Query/Deposits", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Deposits")); - self.inner.unary(req, path, codec).await - } - /// TallyResult queries the tally of a proposal vote. - pub async fn tally_result( - &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.gov.v1.Query/TallyResult", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1.Query", "TallyResult")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Proposal queries proposal details based on ProposalID. - async fn proposal( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Proposals queries all proposals based on given status. - async fn proposals( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Vote queries voted information based on proposalID, voterAddr. - async fn vote( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Votes queries votes of a given proposal. - async fn votes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Params queries all parameters of the gov module. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Deposit queries single deposit information based proposalID, depositAddr. - async fn deposit( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Deposits queries all deposits of a single proposal. - async fn deposits( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TallyResult queries the tally of a proposal vote. - async fn tally_result( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the gRPC querier service for gov module - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.gov.v1.Query/Proposal" => { - #[allow(non_camel_case_types)] - struct ProposalSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ProposalSvc { - type Response = super::QueryProposalResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::proposal(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ProposalSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/Proposals" => { - #[allow(non_camel_case_types)] - struct ProposalsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ProposalsSvc { - type Response = super::QueryProposalsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::proposals(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ProposalsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/Vote" => { - #[allow(non_camel_case_types)] - struct VoteSvc(pub Arc); - impl tonic::server::UnaryService - for VoteSvc { - type Response = super::QueryVoteResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::vote(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VoteSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/Votes" => { - #[allow(non_camel_case_types)] - struct VotesSvc(pub Arc); - impl tonic::server::UnaryService - for VotesSvc { - type Response = super::QueryVotesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::votes(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VotesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/Deposit" => { - #[allow(non_camel_case_types)] - struct DepositSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DepositSvc { - type Response = super::QueryDepositResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deposit(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DepositSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/Deposits" => { - #[allow(non_camel_case_types)] - struct DepositsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DepositsSvc { - type Response = super::QueryDepositsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deposits(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DepositsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1.Query/TallyResult" => { - #[allow(non_camel_case_types)] - struct TallyResultSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TallyResultSvc { - type Response = super::QueryTallyResultResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::tally_result(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TallyResultSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "cosmos.gov.v1.Query"; - } -} -/// GenesisState defines the gov module's genesis state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// starting_proposal_id is the ID of the starting proposal. - #[prost(uint64, tag = "1")] - pub starting_proposal_id: u64, - /// deposits defines all the deposits present at genesis. - #[prost(message, repeated, tag = "2")] - pub deposits: ::prost::alloc::vec::Vec, - /// votes defines all the votes present at genesis. - #[prost(message, repeated, tag = "3")] - pub votes: ::prost::alloc::vec::Vec, - /// proposals defines all the proposals present at genesis. - #[prost(message, repeated, tag = "4")] - pub proposals: ::prost::alloc::vec::Vec, - /// Deprecated: Prefer to use `params` instead. - /// deposit_params defines all the paramaters of related to deposit. - #[deprecated] - #[prost(message, optional, tag = "5")] - pub deposit_params: ::core::option::Option, - /// Deprecated: Prefer to use `params` instead. - /// voting_params defines all the paramaters of related to voting. - #[deprecated] - #[prost(message, optional, tag = "6")] - pub voting_params: ::core::option::Option, - /// Deprecated: Prefer to use `params` instead. - /// tally_params defines all the paramaters of related to tally. - #[deprecated] - #[prost(message, optional, tag = "7")] - pub tally_params: ::core::option::Option, - /// params defines all the paramaters of x/gov module. - /// - /// Since: cosmos-sdk 0.47 - #[prost(message, optional, tag = "8")] - pub params: ::core::option::Option, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "cosmos.gov.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.gov.v1beta1.rs b/src/prost/cosmos.gov.v1beta1.rs deleted file mode 100644 index d421555b..00000000 --- a/src/prost/cosmos.gov.v1beta1.rs +++ /dev/null @@ -1,2160 +0,0 @@ -/// WeightedVoteOption defines a unit of vote for vote split. -/// -/// Since: cosmos-sdk 0.43 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct WeightedVoteOption { - /// option defines the valid vote options, it must not contain duplicate vote options. - #[prost(enumeration = "VoteOption", tag = "1")] - pub option: i32, - /// weight is the vote weight associated with the vote option. - #[prost(string, tag = "2")] - pub weight: ::prost::alloc::string::String, -} -impl ::prost::Name for WeightedVoteOption { - const NAME: &'static str = "WeightedVoteOption"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// TextProposal defines a standard text proposal whose changes need to be -/// manually updated in case of approval. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TextProposal { - /// title of the proposal. - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// description associated with the proposal. - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, -} -impl ::prost::Name for TextProposal { - const NAME: &'static str = "TextProposal"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// Deposit defines an amount deposited by an account address to an active -/// proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Deposit { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "2")] - pub depositor: ::prost::alloc::string::String, - /// amount to be deposited by depositor. - #[prost(message, repeated, tag = "3")] - pub amount: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Deposit { - const NAME: &'static str = "Deposit"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// Proposal defines the core field members of a governance proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Proposal { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// content is the proposal's content. - #[prost(message, optional, tag = "2")] - pub content: ::core::option::Option, - /// status defines the proposal status. - #[prost(enumeration = "ProposalStatus", tag = "3")] - pub status: i32, - /// final_tally_result is the final tally result of the proposal. When - /// querying a proposal via gRPC, this field is not populated until the - /// proposal's voting period has ended. - #[prost(message, optional, tag = "4")] - pub final_tally_result: ::core::option::Option, - /// submit_time is the time of proposal submission. - #[prost(message, optional, tag = "5")] - pub submit_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// deposit_end_time is the end time for deposition. - #[prost(message, optional, tag = "6")] - pub deposit_end_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// total_deposit is the total deposit on the proposal. - #[prost(message, repeated, tag = "7")] - pub total_deposit: ::prost::alloc::vec::Vec, - /// voting_start_time is the starting time to vote on a proposal. - #[prost(message, optional, tag = "8")] - pub voting_start_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// voting_end_time is the end time of voting on a proposal. - #[prost(message, optional, tag = "9")] - pub voting_end_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, -} -impl ::prost::Name for Proposal { - const NAME: &'static str = "Proposal"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// TallyResult defines a standard tally for a governance proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TallyResult { - /// yes is the number of yes votes on a proposal. - #[prost(string, tag = "1")] - pub yes: ::prost::alloc::string::String, - /// abstain is the number of abstain votes on a proposal. - #[prost(string, tag = "2")] - pub abstain: ::prost::alloc::string::String, - /// no is the number of no votes on a proposal. - #[prost(string, tag = "3")] - pub no: ::prost::alloc::string::String, - /// no_with_veto is the number of no with veto votes on a proposal. - #[prost(string, tag = "4")] - pub no_with_veto: ::prost::alloc::string::String, -} -impl ::prost::Name for TallyResult { - const NAME: &'static str = "TallyResult"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// Vote defines a vote on a governance proposal. -/// A Vote consists of a proposal ID, the voter, and the vote option. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Vote { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter is the voter address of the proposal. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// Deprecated: Prefer to use `options` instead. This field is set in queries - /// if and only if `len(options) == 1` and that option has weight 1. In all - /// other cases, this field will default to VOTE_OPTION_UNSPECIFIED. - #[deprecated] - #[prost(enumeration = "VoteOption", tag = "3")] - pub option: i32, - /// options is the weighted vote options. - /// - /// Since: cosmos-sdk 0.43 - #[prost(message, repeated, tag = "4")] - pub options: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Vote { - const NAME: &'static str = "Vote"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// DepositParams defines the params for deposits on governance proposals. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DepositParams { - /// Minimum deposit for a proposal to enter voting period. - #[prost(message, repeated, tag = "1")] - pub min_deposit: ::prost::alloc::vec::Vec, - /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2 - /// months. - #[prost(message, optional, tag = "2")] - pub max_deposit_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, -} -impl ::prost::Name for DepositParams { - const NAME: &'static str = "DepositParams"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// VotingParams defines the params for voting on governance proposals. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VotingParams { - /// Duration of the voting period. - #[prost(message, optional, tag = "1")] - pub voting_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, -} -impl ::prost::Name for VotingParams { - const NAME: &'static str = "VotingParams"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// TallyParams defines the params for tallying votes on governance proposals. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TallyParams { - /// Minimum percentage of total stake needed to vote for a result to be - /// considered valid. - #[prost(bytes = "vec", tag = "1")] - pub quorum: ::prost::alloc::vec::Vec, - /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. - #[prost(bytes = "vec", tag = "2")] - pub threshold: ::prost::alloc::vec::Vec, - /// Minimum value of Veto votes to Total votes ratio for proposal to be - /// vetoed. Default value: 1/3. - #[prost(bytes = "vec", tag = "3")] - pub veto_threshold: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TallyParams { - const NAME: &'static str = "TallyParams"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// VoteOption enumerates the valid vote options for a given governance proposal. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum VoteOption { - /// VOTE_OPTION_UNSPECIFIED defines a no-op vote option. - Unspecified = 0, - /// VOTE_OPTION_YES defines a yes vote option. - Yes = 1, - /// VOTE_OPTION_ABSTAIN defines an abstain vote option. - Abstain = 2, - /// VOTE_OPTION_NO defines a no vote option. - No = 3, - /// VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. - NoWithVeto = 4, -} -impl VoteOption { - /// 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 { - VoteOption::Unspecified => "VOTE_OPTION_UNSPECIFIED", - VoteOption::Yes => "VOTE_OPTION_YES", - VoteOption::Abstain => "VOTE_OPTION_ABSTAIN", - VoteOption::No => "VOTE_OPTION_NO", - VoteOption::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "VOTE_OPTION_UNSPECIFIED" => Some(Self::Unspecified), - "VOTE_OPTION_YES" => Some(Self::Yes), - "VOTE_OPTION_ABSTAIN" => Some(Self::Abstain), - "VOTE_OPTION_NO" => Some(Self::No), - "VOTE_OPTION_NO_WITH_VETO" => Some(Self::NoWithVeto), - _ => None, - } - } -} -/// ProposalStatus enumerates the valid statuses of a proposal. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ProposalStatus { - /// PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. - Unspecified = 0, - /// PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit - /// period. - DepositPeriod = 1, - /// PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting - /// period. - VotingPeriod = 2, - /// PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has - /// passed. - Passed = 3, - /// PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has - /// been rejected. - Rejected = 4, - /// PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has - /// failed. - Failed = 5, -} -impl ProposalStatus { - /// 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 { - ProposalStatus::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED", - ProposalStatus::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD", - ProposalStatus::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD", - ProposalStatus::Passed => "PROPOSAL_STATUS_PASSED", - ProposalStatus::Rejected => "PROPOSAL_STATUS_REJECTED", - ProposalStatus::Failed => "PROPOSAL_STATUS_FAILED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "PROPOSAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified), - "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Some(Self::DepositPeriod), - "PROPOSAL_STATUS_VOTING_PERIOD" => Some(Self::VotingPeriod), - "PROPOSAL_STATUS_PASSED" => Some(Self::Passed), - "PROPOSAL_STATUS_REJECTED" => Some(Self::Rejected), - "PROPOSAL_STATUS_FAILED" => Some(Self::Failed), - _ => None, - } - } -} -/// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary -/// proposal Content. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitProposal { - /// content is the proposal's content. - #[prost(message, optional, tag = "1")] - pub content: ::core::option::Option, - /// initial_deposit is the deposit value that must be paid at proposal submission. - #[prost(message, repeated, tag = "2")] - pub initial_deposit: ::prost::alloc::vec::Vec, - /// proposer is the account address of the proposer. - #[prost(string, tag = "3")] - pub proposer: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgSubmitProposal { - const NAME: &'static str = "MsgSubmitProposal"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitProposalResponse { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, -} -impl ::prost::Name for MsgSubmitProposalResponse { - const NAME: &'static str = "MsgSubmitProposalResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgVote defines a message to cast a vote. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVote { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter is the voter address for the proposal. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// option defines the vote option. - #[prost(enumeration = "VoteOption", tag = "3")] - pub option: i32, -} -impl ::prost::Name for MsgVote { - const NAME: &'static str = "MsgVote"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgVoteResponse defines the Msg/Vote response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVoteResponse {} -impl ::prost::Name for MsgVoteResponse { - const NAME: &'static str = "MsgVoteResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgVoteWeighted defines a message to cast a vote. -/// -/// Since: cosmos-sdk 0.43 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVoteWeighted { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter is the voter address for the proposal. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// options defines the weighted vote options. - #[prost(message, repeated, tag = "3")] - pub options: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgVoteWeighted { - const NAME: &'static str = "MsgVoteWeighted"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. -/// -/// Since: cosmos-sdk 0.43 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgVoteWeightedResponse {} -impl ::prost::Name for MsgVoteWeightedResponse { - const NAME: &'static str = "MsgVoteWeightedResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgDeposit defines a message to submit a deposit to an existing proposal. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDeposit { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "2")] - pub depositor: ::prost::alloc::string::String, - /// amount to be deposited by depositor. - #[prost(message, repeated, tag = "3")] - pub amount: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgDeposit { - const NAME: &'static str = "MsgDeposit"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// MsgDepositResponse defines the Msg/Deposit response type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgDepositResponse {} -impl ::prost::Name for MsgDepositResponse { - const NAME: &'static str = "MsgDepositResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the bank Msg service. - #[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 - } - /// SubmitProposal defines a method to create new proposal given a content. - pub async fn submit_proposal( - &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.gov.v1beta1.Msg/SubmitProposal", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "SubmitProposal")); - self.inner.unary(req, path, codec).await - } - /// Vote defines a method to add a vote on a specific proposal. - pub async fn vote( - &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.gov.v1beta1.Msg/Vote", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "Vote")); - self.inner.unary(req, path, codec).await - } - /// VoteWeighted defines a method to add a weighted vote on a specific proposal. - /// - /// Since: cosmos-sdk 0.43 - pub async fn vote_weighted( - &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.gov.v1beta1.Msg/VoteWeighted", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "VoteWeighted")); - self.inner.unary(req, path, codec).await - } - /// Deposit defines a method to add deposit on a specific proposal. - pub async fn deposit( - &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.gov.v1beta1.Msg/Deposit", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "Deposit")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// SubmitProposal defines a method to create new proposal given a content. - async fn submit_proposal( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Vote defines a method to add a vote on a specific proposal. - async fn vote( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// VoteWeighted defines a method to add a weighted vote on a specific proposal. - /// - /// Since: cosmos-sdk 0.43 - async fn vote_weighted( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Deposit defines a method to add deposit on a specific proposal. - async fn deposit( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the bank Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.gov.v1beta1.Msg/SubmitProposal" => { - #[allow(non_camel_case_types)] - struct SubmitProposalSvc(pub Arc); - impl tonic::server::UnaryService - for SubmitProposalSvc { - type Response = super::MsgSubmitProposalResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::submit_proposal(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SubmitProposalSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Msg/Vote" => { - #[allow(non_camel_case_types)] - struct VoteSvc(pub Arc); - impl tonic::server::UnaryService - for VoteSvc { - type Response = super::MsgVoteResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::vote(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VoteSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Msg/VoteWeighted" => { - #[allow(non_camel_case_types)] - struct VoteWeightedSvc(pub Arc); - impl tonic::server::UnaryService - for VoteWeightedSvc { - type Response = super::MsgVoteWeightedResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::vote_weighted(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VoteWeightedSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Msg/Deposit" => { - #[allow(non_camel_case_types)] - struct DepositSvc(pub Arc); - impl tonic::server::UnaryService - for DepositSvc { - type Response = super::MsgDepositResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deposit(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DepositSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "cosmos.gov.v1beta1.Msg"; - } -} -/// QueryProposalRequest is the request type for the Query/Proposal RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, -} -impl ::prost::Name for QueryProposalRequest { - const NAME: &'static str = "QueryProposalRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryProposalResponse is the response type for the Query/Proposal RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalResponse { - #[prost(message, optional, tag = "1")] - pub proposal: ::core::option::Option, -} -impl ::prost::Name for QueryProposalResponse { - const NAME: &'static str = "QueryProposalResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryProposalsRequest is the request type for the Query/Proposals RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalsRequest { - /// proposal_status defines the status of the proposals. - #[prost(enumeration = "ProposalStatus", tag = "1")] - pub proposal_status: i32, - /// voter defines the voter address for the proposals. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "3")] - pub depositor: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "4")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryProposalsRequest { - const NAME: &'static str = "QueryProposalsRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryProposalsResponse is the response type for the Query/Proposals RPC -/// method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProposalsResponse { - /// proposals defines all the requested governance proposals. - #[prost(message, repeated, tag = "1")] - pub proposals: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryProposalsResponse { - const NAME: &'static str = "QueryProposalsResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryVoteRequest is the request type for the Query/Vote RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVoteRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// voter defines the voter address for the proposals. - #[prost(string, tag = "2")] - pub voter: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryVoteRequest { - const NAME: &'static str = "QueryVoteRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryVoteResponse is the response type for the Query/Vote RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVoteResponse { - /// vote defines the queried vote. - #[prost(message, optional, tag = "1")] - pub vote: ::core::option::Option, -} -impl ::prost::Name for QueryVoteResponse { - const NAME: &'static str = "QueryVoteResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryVotesRequest is the request type for the Query/Votes RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVotesRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryVotesRequest { - const NAME: &'static str = "QueryVotesRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryVotesResponse is the response type for the Query/Votes RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryVotesResponse { - /// votes defines the queried votes. - #[prost(message, repeated, tag = "1")] - pub votes: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryVotesResponse { - const NAME: &'static str = "QueryVotesResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.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 { - /// params_type defines which parameters to query for, can be one of "voting", - /// "tallying" or "deposit". - #[prost(string, tag = "1")] - pub params_type: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.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 { - /// voting_params defines the parameters related to voting. - #[prost(message, optional, tag = "1")] - pub voting_params: ::core::option::Option, - /// deposit_params defines the parameters related to deposit. - #[prost(message, optional, tag = "2")] - pub deposit_params: ::core::option::Option, - /// tally_params defines the parameters related to tally. - #[prost(message, optional, tag = "3")] - pub tally_params: ::core::option::Option, -} -impl ::prost::Name for QueryParamsResponse { - const NAME: &'static str = "QueryParamsResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryDepositRequest is the request type for the Query/Deposit RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// depositor defines the deposit addresses from the proposals. - #[prost(string, tag = "2")] - pub depositor: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDepositRequest { - const NAME: &'static str = "QueryDepositRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryDepositResponse is the response type for the Query/Deposit RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositResponse { - /// deposit defines the requested deposit. - #[prost(message, optional, tag = "1")] - pub deposit: ::core::option::Option, -} -impl ::prost::Name for QueryDepositResponse { - const NAME: &'static str = "QueryDepositResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryDepositsRequest is the request type for the Query/Deposits RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositsRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryDepositsRequest { - const NAME: &'static str = "QueryDepositsRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryDepositsResponse is the response type for the Query/Deposits RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDepositsResponse { - /// deposits defines the requested deposits. - #[prost(message, repeated, tag = "1")] - pub deposits: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryDepositsResponse { - const NAME: &'static str = "QueryDepositsResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryTallyResultRequest is the request type for the Query/Tally RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTallyResultRequest { - /// proposal_id defines the unique id of the proposal. - #[prost(uint64, tag = "1")] - pub proposal_id: u64, -} -impl ::prost::Name for QueryTallyResultRequest { - const NAME: &'static str = "QueryTallyResultRequest"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// QueryTallyResultResponse is the response type for the Query/Tally RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTallyResultResponse { - /// tally defines the requested tally. - #[prost(message, optional, tag = "1")] - pub tally: ::core::option::Option, -} -impl ::prost::Name for QueryTallyResultResponse { - const NAME: &'static str = "QueryTallyResultResponse"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the gRPC querier service for gov module - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Proposal queries proposal details based on ProposalID. - pub async fn proposal( - &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.gov.v1beta1.Query/Proposal", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Proposal")); - self.inner.unary(req, path, codec).await - } - /// Proposals queries all proposals based on given status. - pub async fn proposals( - &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.gov.v1beta1.Query/Proposals", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Proposals")); - self.inner.unary(req, path, codec).await - } - /// Vote queries voted information based on proposalID, voterAddr. - pub async fn vote( - &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.gov.v1beta1.Query/Vote", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Vote")); - self.inner.unary(req, path, codec).await - } - /// Votes queries votes of a given proposal. - pub async fn votes( - &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.gov.v1beta1.Query/Votes", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Votes")); - self.inner.unary(req, path, codec).await - } - /// Params queries all parameters of the gov module. - pub async fn params( - &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.gov.v1beta1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Params")); - self.inner.unary(req, path, codec).await - } - /// Deposit queries single deposit information based proposalID, depositAddr. - pub async fn deposit( - &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.gov.v1beta1.Query/Deposit", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Deposit")); - self.inner.unary(req, path, codec).await - } - /// Deposits queries all deposits of a single proposal. - pub async fn deposits( - &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.gov.v1beta1.Query/Deposits", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Deposits")); - self.inner.unary(req, path, codec).await - } - /// TallyResult queries the tally of a proposal vote. - pub async fn tally_result( - &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.gov.v1beta1.Query/TallyResult", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "TallyResult")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Proposal queries proposal details based on ProposalID. - async fn proposal( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Proposals queries all proposals based on given status. - async fn proposals( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Vote queries voted information based on proposalID, voterAddr. - async fn vote( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Votes queries votes of a given proposal. - async fn votes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Params queries all parameters of the gov module. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Deposit queries single deposit information based proposalID, depositAddr. - async fn deposit( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Deposits queries all deposits of a single proposal. - async fn deposits( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TallyResult queries the tally of a proposal vote. - async fn tally_result( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the gRPC querier service for gov module - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.gov.v1beta1.Query/Proposal" => { - #[allow(non_camel_case_types)] - struct ProposalSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ProposalSvc { - type Response = super::QueryProposalResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::proposal(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ProposalSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/Proposals" => { - #[allow(non_camel_case_types)] - struct ProposalsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ProposalsSvc { - type Response = super::QueryProposalsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::proposals(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ProposalsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/Vote" => { - #[allow(non_camel_case_types)] - struct VoteSvc(pub Arc); - impl tonic::server::UnaryService - for VoteSvc { - type Response = super::QueryVoteResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::vote(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VoteSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/Votes" => { - #[allow(non_camel_case_types)] - struct VotesSvc(pub Arc); - impl tonic::server::UnaryService - for VotesSvc { - type Response = super::QueryVotesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::votes(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = VotesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/Deposit" => { - #[allow(non_camel_case_types)] - struct DepositSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DepositSvc { - type Response = super::QueryDepositResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deposit(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DepositSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/Deposits" => { - #[allow(non_camel_case_types)] - struct DepositsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DepositsSvc { - type Response = super::QueryDepositsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::deposits(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DepositsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.gov.v1beta1.Query/TallyResult" => { - #[allow(non_camel_case_types)] - struct TallyResultSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TallyResultSvc { - type Response = super::QueryTallyResultResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::tally_result(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TallyResultSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "cosmos.gov.v1beta1.Query"; - } -} -/// GenesisState defines the gov module's genesis state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// starting_proposal_id is the ID of the starting proposal. - #[prost(uint64, tag = "1")] - pub starting_proposal_id: u64, - /// deposits defines all the deposits present at genesis. - #[prost(message, repeated, tag = "2")] - pub deposits: ::prost::alloc::vec::Vec, - /// votes defines all the votes present at genesis. - #[prost(message, repeated, tag = "3")] - pub votes: ::prost::alloc::vec::Vec, - /// proposals defines all the proposals present at genesis. - #[prost(message, repeated, tag = "4")] - pub proposals: ::prost::alloc::vec::Vec, - /// params defines all the parameters of related to deposit. - #[prost(message, optional, tag = "5")] - pub deposit_params: ::core::option::Option, - /// params defines all the parameters of related to voting. - #[prost(message, optional, tag = "6")] - pub voting_params: ::core::option::Option, - /// params defines all the parameters of related to tally. - #[prost(message, optional, tag = "7")] - pub tally_params: ::core::option::Option, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "cosmos.gov.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.staking.module.v1.rs b/src/prost/cosmos.staking.module.v1.rs deleted file mode 100644 index 2a8d086b..00000000 --- a/src/prost/cosmos.staking.module.v1.rs +++ /dev/null @@ -1,20 +0,0 @@ -/// Module is the config object of the staking module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Module { - /// hooks_order specifies the order of staking hooks and should be a list - /// of module names which provide a staking hooks instance. If no order is - /// provided, then hooks will be applied in alphabetical order of module names. - #[prost(string, repeated, tag = "1")] - pub hooks_order: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// authority defines the custom module authority. If not set, defaults to the governance module. - #[prost(string, tag = "2")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for Module { - const NAME: &'static str = "Module"; - const PACKAGE: &'static str = "cosmos.staking.module.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.module.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.staking.v1beta1.rs b/src/prost/cosmos.staking.v1beta1.rs deleted file mode 100644 index 2c2c1b8d..00000000 --- a/src/prost/cosmos.staking.v1beta1.rs +++ /dev/null @@ -1,3742 +0,0 @@ -/// HistoricalInfo contains header and validator information for a given block. -/// It is stored as part of staking module's state, which persists the `n` most -/// recent HistoricalInfo -/// (`n` is set by the staking module's `historical_entries` parameter). -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HistoricalInfo { - #[prost(message, optional, tag = "1")] - pub header: ::core::option::Option<::tendermint_proto::types::Header>, - #[prost(message, repeated, tag = "2")] - pub valset: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for HistoricalInfo { - const NAME: &'static str = "HistoricalInfo"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// CommissionRates defines the initial commission rates to be used for creating -/// a validator. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CommissionRates { - /// rate is the commission rate charged to delegators, as a fraction. - #[prost(string, tag = "1")] - pub rate: ::prost::alloc::string::String, - /// max_rate defines the maximum commission rate which validator can ever charge, as a fraction. - #[prost(string, tag = "2")] - pub max_rate: ::prost::alloc::string::String, - /// max_change_rate defines the maximum daily increase of the validator commission, as a fraction. - #[prost(string, tag = "3")] - pub max_change_rate: ::prost::alloc::string::String, -} -impl ::prost::Name for CommissionRates { - const NAME: &'static str = "CommissionRates"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Commission defines commission parameters for a given validator. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Commission { - /// commission_rates defines the initial commission rates to be used for creating a validator. - #[prost(message, optional, tag = "1")] - pub commission_rates: ::core::option::Option, - /// update_time is the last time the commission rate was changed. - #[prost(message, optional, tag = "2")] - pub update_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, -} -impl ::prost::Name for Commission { - const NAME: &'static str = "Commission"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Description defines a validator description. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Description { - /// moniker defines a human-readable name for the validator. - #[prost(string, tag = "1")] - pub moniker: ::prost::alloc::string::String, - /// identity defines an optional identity signature (ex. UPort or Keybase). - #[prost(string, tag = "2")] - pub identity: ::prost::alloc::string::String, - /// website defines an optional website link. - #[prost(string, tag = "3")] - pub website: ::prost::alloc::string::String, - /// security_contact defines an optional email for security contact. - #[prost(string, tag = "4")] - pub security_contact: ::prost::alloc::string::String, - /// details define other optional details. - #[prost(string, tag = "5")] - pub details: ::prost::alloc::string::String, -} -impl ::prost::Name for Description { - const NAME: &'static str = "Description"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Validator defines a validator, together with the total amount of the -/// Validator's bond shares and their exchange rate to coins. Slashing results in -/// a decrease in the exchange rate, allowing correct calculation of future -/// undelegations without iterating over delegators. When coins are delegated to -/// this validator, the validator is credited with a delegation whose number of -/// bond shares is based on the amount of coins delegated divided by the current -/// exchange rate. Voting power can be calculated as total bonded shares -/// multiplied by exchange rate. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Validator { - /// operator_address defines the address of the validator's operator; bech encoded in JSON. - #[prost(string, tag = "1")] - pub operator_address: ::prost::alloc::string::String, - /// consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. - #[prost(message, optional, tag = "2")] - pub consensus_pubkey: ::core::option::Option< - super::super::super::google::protobuf::Any, - >, - /// jailed defined whether the validator has been jailed from bonded status or not. - #[prost(bool, tag = "3")] - pub jailed: bool, - /// status is the validator status (bonded/unbonding/unbonded). - #[prost(enumeration = "BondStatus", tag = "4")] - pub status: i32, - /// tokens define the delegated tokens (incl. self-delegation). - #[prost(string, tag = "5")] - pub tokens: ::prost::alloc::string::String, - /// delegator_shares defines total shares issued to a validator's delegators. - #[prost(string, tag = "6")] - pub delegator_shares: ::prost::alloc::string::String, - /// description defines the description terms for the validator. - #[prost(message, optional, tag = "7")] - pub description: ::core::option::Option, - /// unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. - #[prost(int64, tag = "8")] - pub unbonding_height: i64, - /// unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. - #[prost(message, optional, tag = "9")] - pub unbonding_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// commission defines the commission parameters. - #[prost(message, optional, tag = "10")] - pub commission: ::core::option::Option, - /// min_self_delegation is the validator's self declared minimum self delegation. - /// - /// Since: cosmos-sdk 0.46 - #[prost(string, tag = "11")] - pub min_self_delegation: ::prost::alloc::string::String, - /// strictly positive if this validator's unbonding has been stopped by external modules - #[prost(int64, tag = "12")] - pub unbonding_on_hold_ref_count: i64, - /// list of unbonding ids, each uniquely identifing an unbonding of this validator - #[prost(uint64, repeated, tag = "13")] - pub unbonding_ids: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Validator { - const NAME: &'static str = "Validator"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// ValAddresses defines a repeated set of validator addresses. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValAddresses { - #[prost(string, repeated, tag = "1")] - pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ValAddresses { - const NAME: &'static str = "ValAddresses"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// DVPair is struct that just has a delegator-validator pair with no other data. -/// It is intended to be used as a marshalable pointer. For example, a DVPair can -/// be used to construct the key to getting an UnbondingDelegation from state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DvPair { - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, -} -impl ::prost::Name for DvPair { - const NAME: &'static str = "DVPair"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// DVPairs defines an array of DVPair objects. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DvPairs { - #[prost(message, repeated, tag = "1")] - pub pairs: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for DvPairs { - const NAME: &'static str = "DVPairs"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// DVVTriplet is struct that just has a delegator-validator-validator triplet -/// with no other data. It is intended to be used as a marshalable pointer. For -/// example, a DVVTriplet can be used to construct the key to getting a -/// Redelegation from state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DvvTriplet { - #[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, -} -impl ::prost::Name for DvvTriplet { - const NAME: &'static str = "DVVTriplet"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// DVVTriplets defines an array of DVVTriplet objects. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DvvTriplets { - #[prost(message, repeated, tag = "1")] - pub triplets: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for DvvTriplets { - const NAME: &'static str = "DVVTriplets"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Delegation represents the bond with tokens held by an account. It is -/// owned by one delegator, and is associated with the voting power of one -/// validator. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Delegation { - /// delegator_address is the bech32-encoded address of the delegator. - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - /// validator_address is the bech32-encoded address of the validator. - #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, - /// shares define the delegation shares received. - #[prost(string, tag = "3")] - pub shares: ::prost::alloc::string::String, -} -impl ::prost::Name for Delegation { - const NAME: &'static str = "Delegation"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// UnbondingDelegation stores all of a single delegator's unbonding bonds -/// for a single validator in an time-ordered list. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UnbondingDelegation { - /// delegator_address is the bech32-encoded address of the delegator. - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - /// validator_address is the bech32-encoded address of the validator. - #[prost(string, tag = "2")] - pub validator_address: ::prost::alloc::string::String, - /// entries are the unbonding delegation entries. - /// - /// unbonding delegation entries - #[prost(message, repeated, tag = "3")] - pub entries: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for UnbondingDelegation { - const NAME: &'static str = "UnbondingDelegation"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// UnbondingDelegationEntry defines an unbonding object with relevant metadata. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UnbondingDelegationEntry { - /// creation_height is the height which the unbonding took place. - #[prost(int64, tag = "1")] - pub creation_height: i64, - /// completion_time is the unix time for unbonding completion. - #[prost(message, optional, tag = "2")] - pub completion_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// initial_balance defines the tokens initially scheduled to receive at completion. - #[prost(string, tag = "3")] - pub initial_balance: ::prost::alloc::string::String, - /// balance defines the tokens to receive at completion. - #[prost(string, tag = "4")] - pub balance: ::prost::alloc::string::String, - /// Incrementing id that uniquely identifies this entry - #[prost(uint64, tag = "5")] - pub unbonding_id: u64, - /// Strictly positive if this entry's unbonding has been stopped by external modules - #[prost(int64, tag = "6")] - pub unbonding_on_hold_ref_count: i64, -} -impl ::prost::Name for UnbondingDelegationEntry { - const NAME: &'static str = "UnbondingDelegationEntry"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// RedelegationEntry defines a redelegation object with relevant metadata. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RedelegationEntry { - /// creation_height defines the height which the redelegation took place. - #[prost(int64, tag = "1")] - pub creation_height: i64, - /// completion_time defines the unix time for redelegation completion. - #[prost(message, optional, tag = "2")] - pub completion_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, - /// initial_balance defines the initial balance when redelegation started. - #[prost(string, tag = "3")] - pub initial_balance: ::prost::alloc::string::String, - /// shares_dst is the amount of destination-validator shares created by redelegation. - #[prost(string, tag = "4")] - pub shares_dst: ::prost::alloc::string::String, - /// Incrementing id that uniquely identifies this entry - #[prost(uint64, tag = "5")] - pub unbonding_id: u64, - /// Strictly positive if this entry's unbonding has been stopped by external modules - #[prost(int64, tag = "6")] - pub unbonding_on_hold_ref_count: i64, -} -impl ::prost::Name for RedelegationEntry { - const NAME: &'static str = "RedelegationEntry"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Redelegation contains the list of a particular delegator's redelegating bonds -/// from a particular source validator to a particular destination validator. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Redelegation { - /// delegator_address is the bech32-encoded address of the delegator. - #[prost(string, tag = "1")] - pub delegator_address: ::prost::alloc::string::String, - /// validator_src_address is the validator redelegation source operator address. - #[prost(string, tag = "2")] - pub validator_src_address: ::prost::alloc::string::String, - /// validator_dst_address is the validator redelegation destination operator address. - #[prost(string, tag = "3")] - pub validator_dst_address: ::prost::alloc::string::String, - /// entries are the redelegation entries. - /// - /// redelegation entries - #[prost(message, repeated, tag = "4")] - pub entries: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Redelegation { - const NAME: &'static str = "Redelegation"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Params defines the parameters for the x/staking module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// unbonding_time is the time duration of unbonding. - #[prost(message, optional, tag = "1")] - pub unbonding_time: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, - /// max_validators is the maximum number of validators. - #[prost(uint32, tag = "2")] - pub max_validators: u32, - /// max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). - #[prost(uint32, tag = "3")] - pub max_entries: u32, - /// historical_entries is the number of historical entries to persist. - #[prost(uint32, tag = "4")] - pub historical_entries: u32, - /// bond_denom defines the bondable coin denomination. - #[prost(string, tag = "5")] - pub bond_denom: ::prost::alloc::string::String, - /// min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators - #[prost(string, tag = "6")] - pub min_commission_rate: ::prost::alloc::string::String, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// DelegationResponse is equivalent to Delegation except that it contains a -/// balance in addition to shares which is more suitable for client responses. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DelegationResponse { - #[prost(message, optional, tag = "1")] - pub delegation: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub balance: ::core::option::Option, -} -impl ::prost::Name for DelegationResponse { - const NAME: &'static str = "DelegationResponse"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// RedelegationEntryResponse is equivalent to a RedelegationEntry except that it -/// contains a balance in addition to shares which is more suitable for client -/// responses. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RedelegationEntryResponse { - #[prost(message, optional, tag = "1")] - pub redelegation_entry: ::core::option::Option, - #[prost(string, tag = "4")] - pub balance: ::prost::alloc::string::String, -} -impl ::prost::Name for RedelegationEntryResponse { - const NAME: &'static str = "RedelegationEntryResponse"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// RedelegationResponse is equivalent to a Redelegation except that its entries -/// contain a balance in addition to shares which is more suitable for client -/// responses. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RedelegationResponse { - #[prost(message, optional, tag = "1")] - pub redelegation: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub entries: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for RedelegationResponse { - const NAME: &'static str = "RedelegationResponse"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Pool is used for tracking bonded and not-bonded token supply of the bond -/// denomination. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Pool { - #[prost(string, tag = "1")] - pub not_bonded_tokens: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub bonded_tokens: ::prost::alloc::string::String, -} -impl ::prost::Name for Pool { - const NAME: &'static str = "Pool"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// ValidatorUpdates defines an array of abci.ValidatorUpdate objects. -/// TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorUpdates { - #[prost(message, repeated, tag = "1")] - pub updates: ::prost::alloc::vec::Vec<::tendermint_proto::abci::ValidatorUpdate>, -} -impl ::prost::Name for ValidatorUpdates { - const NAME: &'static str = "ValidatorUpdates"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// BondStatus is the status of a validator. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum BondStatus { - /// UNSPECIFIED defines an invalid validator status. - Unspecified = 0, - /// UNBONDED defines a validator that is not bonded. - Unbonded = 1, - /// UNBONDING defines a validator that is unbonding. - Unbonding = 2, - /// BONDED defines a validator that is bonded. - Bonded = 3, -} -impl BondStatus { - /// 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 { - BondStatus::Unspecified => "BOND_STATUS_UNSPECIFIED", - BondStatus::Unbonded => "BOND_STATUS_UNBONDED", - BondStatus::Unbonding => "BOND_STATUS_UNBONDING", - BondStatus::Bonded => "BOND_STATUS_BONDED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "BOND_STATUS_UNSPECIFIED" => Some(Self::Unspecified), - "BOND_STATUS_UNBONDED" => Some(Self::Unbonded), - "BOND_STATUS_UNBONDING" => Some(Self::Unbonding), - "BOND_STATUS_BONDED" => Some(Self::Bonded), - _ => None, - } - } -} -/// Infraction indicates the infraction a validator commited. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum Infraction { - /// UNSPECIFIED defines an empty infraction. - Unspecified = 0, - /// DOUBLE_SIGN defines a validator that double-signs a block. - DoubleSign = 1, - /// DOWNTIME defines a validator that missed signing too many blocks. - Downtime = 2, -} -impl Infraction { - /// 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 { - Infraction::Unspecified => "INFRACTION_UNSPECIFIED", - Infraction::DoubleSign => "INFRACTION_DOUBLE_SIGN", - Infraction::Downtime => "INFRACTION_DOWNTIME", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "INFRACTION_UNSPECIFIED" => Some(Self::Unspecified), - "INFRACTION_DOUBLE_SIGN" => Some(Self::DoubleSign), - "INFRACTION_DOWNTIME" => Some(Self::Downtime), - _ => None, - } - } -} -/// InfractionType indicates the infraction type a validator commited. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum InfractionType { - /// UNSPECIFIED defines an empty infraction type. - Unspecified = 0, - /// DOUBLE_SIGN defines a validator that double-signs a block. - DoubleSign = 1, - /// DOWNTIME defines a validator that missed signing too many blocks. - Downtime = 2, -} -impl InfractionType { - /// 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 { - InfractionType::Unspecified => "INFRACTION_TYPE_UNSPECIFIED", - InfractionType::DoubleSign => "INFRACTION_TYPE_DOUBLE_SIGN", - InfractionType::Downtime => "INFRACTION_TYPE_DOWNTIME", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "INFRACTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "INFRACTION_TYPE_DOUBLE_SIGN" => Some(Self::DoubleSign), - "INFRACTION_TYPE_DOWNTIME" => Some(Self::Downtime), - _ => None, - } - } -} -/// MsgCreateValidator defines a SDK message for creating a new validator. -#[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, - #[prost(message, optional, tag = "2")] - pub commission: ::core::option::Option, - #[prost(string, tag = "3")] - pub min_self_delegation: ::prost::alloc::string::String, - #[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, - #[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) - } -} -/// 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"; - 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. -#[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, - #[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 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) - } -} -/// MsgEditValidatorResponse defines the Msg/EditValidator response type. -#[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"; - 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. -#[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, -} -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) - } -} -/// MsgDelegateResponse defines the Msg/Delegate response type. -#[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"; - 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. -#[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"; - 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. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgBeginRedelegateResponse { - #[prost(message, optional, tag = "1")] - pub completion_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, -} -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) - } -} -/// 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 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"; - 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. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgUndelegateResponse { - #[prost(message, optional, tag = "1")] - pub completion_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, -} -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) - } -} -/// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator -/// -/// Since: cosmos-sdk 0.46 -#[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) - } -} -/// MsgCancelUnbondingDelegationResponse -/// -/// Since: cosmos-sdk 0.46 -#[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"; - 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. -/// -/// Since: cosmos-sdk 0.47 -#[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/staking 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.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. -/// -/// Since: cosmos-sdk 0.47 -#[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.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the staking Msg service. - #[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 - } - /// CreateValidator defines a method for creating a new validator. - pub async fn create_validator( - &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/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 - } - /// EditValidator defines a method for editing an existing validator. - pub async fn edit_validator( - &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/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 - } - /// Delegate defines a method for performing a delegation of coins - /// from a delegator to a validator. - pub async fn delegate( - &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/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 - } - /// BeginRedelegate defines a method for performing a redelegation - /// of coins from a delegator and source validator to a destination validator. - pub async fn begin_redelegate( - &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/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 - } - /// Undelegate defines a method for performing an undelegation from a - /// delegate and a validator. - pub async fn undelegate( - &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/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 - } - /// CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation - /// and delegate back to previous validator. - /// - /// Since: cosmos-sdk 0.46 - 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 - } - /// UpdateParams defines an operation for updating the x/staking module - /// parameters. - /// Since: cosmos-sdk 0.47 - pub async fn update_params( - &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/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 - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// CreateValidator defines a method for creating a new validator. - async fn create_validator( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// EditValidator defines a method for editing an existing validator. - async fn edit_validator( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Delegate defines a method for performing a delegation of coins - /// from a delegator to a validator. - async fn delegate( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// BeginRedelegate defines a method for performing a redelegation - /// of coins from a delegator and source validator to a destination validator. - async fn begin_redelegate( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Undelegate defines a method for performing an undelegation from a - /// delegate and a validator. - async fn undelegate( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation - /// and delegate back to previous validator. - /// - /// Since: cosmos-sdk 0.46 - async fn cancel_unbonding_delegation( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateParams defines an operation for updating the x/staking module - /// parameters. - /// Since: cosmos-sdk 0.47 - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the staking Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.staking.v1beta1.Msg/CreateValidator" => { - #[allow(non_camel_case_types)] - struct CreateValidatorSvc(pub Arc); - impl tonic::server::UnaryService - for CreateValidatorSvc { - type Response = super::MsgCreateValidatorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_validator(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = CreateValidatorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Msg/EditValidator" => { - #[allow(non_camel_case_types)] - struct EditValidatorSvc(pub Arc); - impl tonic::server::UnaryService - for EditValidatorSvc { - type Response = super::MsgEditValidatorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::edit_validator(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = EditValidatorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Msg/Delegate" => { - #[allow(non_camel_case_types)] - struct DelegateSvc(pub Arc); - impl tonic::server::UnaryService - for DelegateSvc { - type Response = super::MsgDelegateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::delegate(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DelegateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Msg/BeginRedelegate" => { - #[allow(non_camel_case_types)] - struct BeginRedelegateSvc(pub Arc); - impl tonic::server::UnaryService - for BeginRedelegateSvc { - type Response = super::MsgBeginRedelegateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::begin_redelegate(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = BeginRedelegateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Msg/Undelegate" => { - #[allow(non_camel_case_types)] - struct UndelegateSvc(pub Arc); - impl tonic::server::UnaryService - for UndelegateSvc { - type Response = super::MsgUndelegateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::undelegate(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UndelegateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation" => { - #[allow(non_camel_case_types)] - struct CancelUnbondingDelegationSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for CancelUnbondingDelegationSvc { - type Response = super::MsgCancelUnbondingDelegationResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::cancel_unbonding_delegation(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = CancelUnbondingDelegationSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "cosmos.staking.v1beta1.Msg"; - } -} -/// 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 status: ::prost::alloc::string::String, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// 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 { - /// validators contains all the queried validators. - #[prost(message, repeated, tag = "1")] - pub validators: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -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) - } -} -/// QueryValidatorRequest is response type for the Query/Validator RPC method -#[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, -} -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 = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// QueryValidatorDelegationsResponse is response type for the -/// Query/ValidatorDelegations RPC method -#[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< - super::super::base::query::v1beta1::PageResponse, - >, -} -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) - } -} -/// QueryValidatorUnbondingDelegationsRequest is required type for the -/// Query/ValidatorUnbondingDelegations RPC method -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorUnbondingDelegationsRequest { - /// 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 = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// QueryValidatorUnbondingDelegationsResponse is response type for the -/// Query/ValidatorUnbondingDelegations RPC method. -#[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< - super::super::base::query::v1beta1::PageResponse, - >, -} -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) - } -} -/// QueryDelegationRequest is request type for the Query/Delegation RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegationRequest { - /// 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 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) - } -} -/// QueryDelegationResponse is response type for the Query/Delegation RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryDelegationResponse { - /// delegation_responses defines the delegation info of a delegation. - #[prost(message, optional, tag = "1")] - pub delegation_response: ::core::option::Option, -} -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) - } -} -/// QueryUnbondingDelegationRequest is request type for the -/// Query/UnbondingDelegation RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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 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) - } -} -/// QueryDelegationResponse is response type for the Query/UnbondingDelegation -/// RPC method. -#[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"; - 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. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// QueryDelegatorDelegationsResponse is response type for the -/// Query/DelegatorDelegations RPC method. -#[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. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -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) - } -} -/// QueryDelegatorUnbondingDelegationsRequest is request type for the -/// Query/DelegatorUnbondingDelegations RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// QueryUnbondingDelegatorDelegationsResponse is response type for the -/// Query/UnbondingDelegatorDelegations RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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< - super::super::base::query::v1beta1::PageResponse, - >, -} -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) - } -} -/// QueryRedelegationsRequest is request type for the Query/Redelegations 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. - #[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, - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "4")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// QueryRedelegationsResponse is response type for the Query/Redelegations RPC -/// method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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< - super::super::base::query::v1beta1::PageResponse, - >, -} -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 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 pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -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) - } -} -/// QueryDelegatorValidatorsResponse is response type for the -/// Query/DelegatorValidators 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. - #[prost(message, repeated, tag = "1")] - pub validators: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -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) - } -} -/// QueryDelegatorValidatorRequest is request type for the -/// Query/DelegatorValidator RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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_addr: ::prost::alloc::string::String, -} -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) - } -} -/// QueryDelegatorValidatorResponse response type for the -/// Query/DelegatorValidator RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -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) - } -} -/// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo 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, -} -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) - } -} -/// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo 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. - #[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) - } -} -/// QueryPoolRequest is request type for the Query/Pool 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"; - 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. -#[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) - } -} -/// 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"; - 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. -#[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, -} -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) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Validators queries all validators that match the given status. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn validators( - &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.Query/Validators", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Validators")); - self.inner.unary(req, path, codec).await - } - /// Validator queries validator info for given validator address. - pub async fn validator( - &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.Query/Validator", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Validator")); - self.inner.unary(req, path, codec).await - } - /// ValidatorDelegations queries delegate info for given validator. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn validator_delegations( - &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.Query/ValidatorDelegations", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.staking.v1beta1.Query", - "ValidatorDelegations", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ValidatorUnbondingDelegations queries unbonding delegations of a validator. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn validator_unbonding_delegations( - &mut self, - request: impl tonic::IntoRequest< - super::QueryValidatorUnbondingDelegationsRequest, - >, - ) -> 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.Query/ValidatorUnbondingDelegations", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.staking.v1beta1.Query", - "ValidatorUnbondingDelegations", - ), - ); - self.inner.unary(req, path, codec).await - } - /// Delegation queries delegate info for given validator delegator pair. - pub async fn 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.Query/Delegation", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Delegation")); - self.inner.unary(req, path, codec).await - } - /// UnbondingDelegation queries unbonding info for given validator delegator - /// pair. - pub async fn 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.Query/UnbondingDelegation", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.staking.v1beta1.Query", - "UnbondingDelegation", - ), - ); - self.inner.unary(req, path, codec).await - } - /// DelegatorDelegations queries all delegations of a given delegator address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn delegator_delegations( - &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.Query/DelegatorDelegations", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.staking.v1beta1.Query", - "DelegatorDelegations", - ), - ); - self.inner.unary(req, path, codec).await - } - /// DelegatorUnbondingDelegations queries all unbonding delegations of a given - /// delegator address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn delegator_unbonding_delegations( - &mut self, - request: impl tonic::IntoRequest< - super::QueryDelegatorUnbondingDelegationsRequest, - >, - ) -> 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.Query/DelegatorUnbondingDelegations", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.staking.v1beta1.Query", - "DelegatorUnbondingDelegations", - ), - ); - self.inner.unary(req, path, codec).await - } - /// Redelegations queries redelegations of given address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn redelegations( - &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.Query/Redelegations", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.staking.v1beta1.Query", "Redelegations"), - ); - self.inner.unary(req, path, codec).await - } - /// DelegatorValidators queries all validators info for given delegator - /// address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - pub async fn delegator_validators( - &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.Query/DelegatorValidators", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.staking.v1beta1.Query", - "DelegatorValidators", - ), - ); - self.inner.unary(req, path, codec).await - } - /// DelegatorValidator queries validator info for given delegator validator - /// pair. - pub async fn delegator_validator( - &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.Query/DelegatorValidator", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.staking.v1beta1.Query", "DelegatorValidator"), - ); - self.inner.unary(req, path, codec).await - } - /// HistoricalInfo queries the historical info for given height. - pub async fn historical_info( - &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.Query/HistoricalInfo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.staking.v1beta1.Query", "HistoricalInfo"), - ); - self.inner.unary(req, path, codec).await - } - /// Pool queries the pool info. - pub async fn pool( - &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.Query/Pool", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Pool")); - self.inner.unary(req, path, codec).await - } - /// Parameters queries the staking parameters. - pub async fn params( - &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.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Params")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Validators queries all validators that match the given status. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn validators( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Validator queries validator info for given validator address. - async fn validator( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ValidatorDelegations queries delegate info for given validator. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn validator_delegations( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ValidatorUnbondingDelegations queries unbonding delegations of a validator. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn validator_unbonding_delegations( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Delegation queries delegate info for given validator delegator pair. - async fn delegation( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UnbondingDelegation queries unbonding info for given validator delegator - /// pair. - async fn unbonding_delegation( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DelegatorDelegations queries all delegations of a given delegator address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn delegator_delegations( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DelegatorUnbondingDelegations queries all unbonding delegations of a given - /// delegator address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn delegator_unbonding_delegations( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Redelegations queries redelegations of given address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn redelegations( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DelegatorValidators queries all validators info for given delegator - /// address. - /// - /// When called from another module, this query might consume a high amount of - /// gas if the pagination field is incorrectly set. - async fn delegator_validators( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DelegatorValidator queries validator info for given delegator validator - /// pair. - async fn delegator_validator( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// HistoricalInfo queries the historical info for given height. - async fn historical_info( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Pool queries the pool info. - async fn pool( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Parameters queries the staking parameters. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.staking.v1beta1.Query/Validators" => { - #[allow(non_camel_case_types)] - struct ValidatorsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ValidatorsSvc { - type Response = super::QueryValidatorsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::validators(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ValidatorsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/Validator" => { - #[allow(non_camel_case_types)] - struct ValidatorSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ValidatorSvc { - type Response = super::QueryValidatorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::validator(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ValidatorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/ValidatorDelegations" => { - #[allow(non_camel_case_types)] - struct ValidatorDelegationsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryValidatorDelegationsRequest, - > for ValidatorDelegationsSvc { - type Response = super::QueryValidatorDelegationsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryValidatorDelegationsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::validator_delegations(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ValidatorDelegationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations" => { - #[allow(non_camel_case_types)] - struct ValidatorUnbondingDelegationsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryValidatorUnbondingDelegationsRequest, - > for ValidatorUnbondingDelegationsSvc { - type Response = super::QueryValidatorUnbondingDelegationsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryValidatorUnbondingDelegationsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::validator_unbonding_delegations( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ValidatorUnbondingDelegationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/Delegation" => { - #[allow(non_camel_case_types)] - struct DelegationSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DelegationSvc { - type Response = super::QueryDelegationResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::delegation(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DelegationSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/UnbondingDelegation" => { - #[allow(non_camel_case_types)] - struct UnbondingDelegationSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for UnbondingDelegationSvc { - type Response = super::QueryUnbondingDelegationResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryUnbondingDelegationRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unbonding_delegation(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UnbondingDelegationSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/DelegatorDelegations" => { - #[allow(non_camel_case_types)] - struct DelegatorDelegationsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryDelegatorDelegationsRequest, - > for DelegatorDelegationsSvc { - type Response = super::QueryDelegatorDelegationsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryDelegatorDelegationsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::delegator_delegations(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DelegatorDelegationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations" => { - #[allow(non_camel_case_types)] - struct DelegatorUnbondingDelegationsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryDelegatorUnbondingDelegationsRequest, - > for DelegatorUnbondingDelegationsSvc { - type Response = super::QueryDelegatorUnbondingDelegationsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryDelegatorUnbondingDelegationsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::delegator_unbonding_delegations( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DelegatorUnbondingDelegationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/Redelegations" => { - #[allow(non_camel_case_types)] - struct RedelegationsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for RedelegationsSvc { - type Response = super::QueryRedelegationsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::redelegations(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RedelegationsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/DelegatorValidators" => { - #[allow(non_camel_case_types)] - struct DelegatorValidatorsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DelegatorValidatorsSvc { - type Response = super::QueryDelegatorValidatorsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryDelegatorValidatorsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::delegator_validators(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DelegatorValidatorsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/DelegatorValidator" => { - #[allow(non_camel_case_types)] - struct DelegatorValidatorSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DelegatorValidatorSvc { - type Response = super::QueryDelegatorValidatorResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryDelegatorValidatorRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::delegator_validator(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DelegatorValidatorSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/HistoricalInfo" => { - #[allow(non_camel_case_types)] - struct HistoricalInfoSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for HistoricalInfoSvc { - type Response = super::QueryHistoricalInfoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::historical_info(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = HistoricalInfoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/Pool" => { - #[allow(non_camel_case_types)] - struct PoolSvc(pub Arc); - impl tonic::server::UnaryService - for PoolSvc { - type Response = super::QueryPoolResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::pool(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PoolSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.staking.v1beta1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "cosmos.staking.v1beta1.Query"; - } -} -/// StakeAuthorization defines authorization for delegate/undelegate/redelegate. -/// -/// Since: cosmos-sdk 0.43 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StakeAuthorization { - /// max_tokens specifies the maximum amount of tokens can be delegate to a validator. If it is - /// empty, there is no spend limit and any amount of coins can be delegated. - #[prost(message, optional, tag = "1")] - pub max_tokens: ::core::option::Option, - /// authorization_type defines one of AuthorizationType. - #[prost(enumeration = "AuthorizationType", tag = "4")] - pub authorization_type: i32, - /// validators is the oneof that represents either allow_list or deny_list - #[prost(oneof = "stake_authorization::Validators", tags = "2, 3")] - pub validators: ::core::option::Option, -} -/// Nested message and enum types in `StakeAuthorization`. -pub mod stake_authorization { - /// Validators defines list of validator addresses. - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct ValidatorsVec { - #[prost(string, repeated, tag = "1")] - pub address: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - } - impl ::prost::Name for ValidatorsVec { - const NAME: &'static str = "Validators"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "cosmos.staking.v1beta1.StakeAuthorization.{}", Self::NAME - ) - } - } - /// validators is the oneof that represents either allow_list or deny_list - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Validators { - /// allow_list specifies list of validator addresses to whom grantee can delegate tokens on behalf of granter's - /// account. - #[prost(message, tag = "2")] - AllowList(ValidatorsVec), - /// deny_list specifies list of validator addresses to whom grantee can not delegate tokens. - #[prost(message, tag = "3")] - DenyList(ValidatorsVec), - } -} -impl ::prost::Name for StakeAuthorization { - const NAME: &'static str = "StakeAuthorization"; - const PACKAGE: &'static str = "cosmos.staking.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) - } -} -/// AuthorizationType defines the type of staking module authorization type -/// -/// Since: cosmos-sdk 0.43 -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum AuthorizationType { - /// AUTHORIZATION_TYPE_UNSPECIFIED specifies an unknown authorization type - Unspecified = 0, - /// AUTHORIZATION_TYPE_DELEGATE defines an authorization type for Msg/Delegate - Delegate = 1, - /// AUTHORIZATION_TYPE_UNDELEGATE defines an authorization type for Msg/Undelegate - Undelegate = 2, - /// AUTHORIZATION_TYPE_REDELEGATE defines an authorization type for Msg/BeginRedelegate - Redelegate = 3, -} -impl AuthorizationType { - /// 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 { - AuthorizationType::Unspecified => "AUTHORIZATION_TYPE_UNSPECIFIED", - AuthorizationType::Delegate => "AUTHORIZATION_TYPE_DELEGATE", - AuthorizationType::Undelegate => "AUTHORIZATION_TYPE_UNDELEGATE", - AuthorizationType::Redelegate => "AUTHORIZATION_TYPE_REDELEGATE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "AUTHORIZATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "AUTHORIZATION_TYPE_DELEGATE" => Some(Self::Delegate), - "AUTHORIZATION_TYPE_UNDELEGATE" => Some(Self::Undelegate), - "AUTHORIZATION_TYPE_REDELEGATE" => Some(Self::Redelegate), - _ => None, - } - } -} -/// GenesisState defines the staking module's genesis state. -#[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, - /// delegations 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, - #[prost(bool, tag = "8")] - pub exported: bool, -} -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) - } -} -/// LastValidatorPower required for validator set update logic. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LastValidatorPower { - /// address is the address of the validator. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// power defines the power of the validator. - #[prost(int64, tag = "2")] - pub power: i64, -} -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) - } -} diff --git a/src/prost/cosmos.tx.config.v1.rs b/src/prost/cosmos.tx.config.v1.rs deleted file mode 100644 index ee76c8a2..00000000 --- a/src/prost/cosmos.tx.config.v1.rs +++ /dev/null @@ -1,21 +0,0 @@ -/// Config is the config object of the x/auth/tx package. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Config { - /// skip_ante_handler defines whether the ante handler registration should be skipped in case an app wants to override - /// this functionality. - #[prost(bool, tag = "1")] - pub skip_ante_handler: bool, - /// skip_post_handler defines whether the post handler registration should be skipped in case an app wants to override - /// this functionality. - #[prost(bool, tag = "2")] - pub skip_post_handler: bool, -} -impl ::prost::Name for Config { - const NAME: &'static str = "Config"; - const PACKAGE: &'static str = "cosmos.tx.config.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.config.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.tx.signing.v1beta1.rs b/src/prost/cosmos.tx.signing.v1beta1.rs deleted file mode 100644 index 4685364f..00000000 --- a/src/prost/cosmos.tx.signing.v1beta1.rs +++ /dev/null @@ -1,189 +0,0 @@ -/// SignatureDescriptors wraps multiple SignatureDescriptor's. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignatureDescriptors { - /// signatures are the signature descriptors - #[prost(message, repeated, tag = "1")] - pub signatures: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SignatureDescriptors { - const NAME: &'static str = "SignatureDescriptors"; - const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.signing.v1beta1.{}", Self::NAME) - } -} -/// SignatureDescriptor is a convenience type which represents the full data for -/// a signature including the public key of the signer, signing modes and the -/// signature itself. It is primarily used for coordinating signatures between -/// clients. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignatureDescriptor { - /// public_key is the public key of the signer - #[prost(message, optional, tag = "1")] - pub public_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - #[prost(message, optional, tag = "2")] - pub data: ::core::option::Option, - /// sequence is the sequence of the account, which describes the - /// number of committed transactions signed by a given address. It is used to prevent - /// replay attacks. - #[prost(uint64, tag = "3")] - pub sequence: u64, -} -/// Nested message and enum types in `SignatureDescriptor`. -pub mod signature_descriptor { - /// Data represents signature data - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Data { - /// sum is the oneof that specifies whether this represents single or multi-signature data - #[prost(oneof = "data::Sum", tags = "1, 2")] - pub sum: ::core::option::Option, - } - /// Nested message and enum types in `Data`. - pub mod data { - /// Single is the signature data for a single signer - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Single { - /// mode is the signing mode of the single signer - #[prost(enumeration = "super::super::SignMode", tag = "1")] - pub mode: i32, - /// signature is the raw signature bytes - #[prost(bytes = "vec", tag = "2")] - pub signature: ::prost::alloc::vec::Vec, - } - impl ::prost::Name for Single { - const NAME: &'static str = "Single"; - const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.{}", Self::NAME - ) - } - } - /// Multi is the signature data for a multisig public key - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Multi { - /// bitarray specifies which keys within the multisig are signing - #[prost(message, optional, tag = "1")] - pub bitarray: ::core::option::Option< - super::super::super::super::super::crypto::multisig::v1beta1::CompactBitArray, - >, - /// signatures is the signatures of the multi-signature - #[prost(message, repeated, tag = "2")] - pub signatures: ::prost::alloc::vec::Vec, - } - impl ::prost::Name for Multi { - const NAME: &'static str = "Multi"; - const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.{}", Self::NAME - ) - } - } - /// sum is the oneof that specifies whether this represents single or multi-signature data - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Sum { - /// single represents a single signer - #[prost(message, tag = "1")] - Single(Single), - /// multi represents a multisig signer - #[prost(message, tag = "2")] - Multi(Multi), - } - } - impl ::prost::Name for Data { - const NAME: &'static str = "Data"; - const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "cosmos.tx.signing.v1beta1.SignatureDescriptor.{}", Self::NAME - ) - } - } -} -impl ::prost::Name for SignatureDescriptor { - const NAME: &'static str = "SignatureDescriptor"; - const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.signing.v1beta1.{}", Self::NAME) - } -} -/// SignMode represents a signing mode with its own security guarantees. -/// -/// This enum should be considered a registry of all known sign modes -/// in the Cosmos ecosystem. Apps are not expected to support all known -/// sign modes. Apps that would like to support custom sign modes are -/// encouraged to open a small PR against this file to add a new case -/// to this SignMode enum describing their sign mode so that different -/// apps have a consistent version of this enum. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum SignMode { - /// SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be - /// rejected. - Unspecified = 0, - /// SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is - /// verified with raw bytes from Tx. - Direct = 1, - /// SIGN_MODE_TEXTUAL is a future signing mode that will verify some - /// human-readable textual representation on top of the binary representation - /// from SIGN_MODE_DIRECT. It is currently not supported. - Textual = 2, - /// SIGN_MODE_DIRECT_AUX specifies a signing mode which uses - /// SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not - /// require signers signing over other signers' `signer_info`. It also allows - /// for adding Tips in transactions. - /// - /// Since: cosmos-sdk 0.46 - DirectAux = 3, - /// SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses - /// Amino JSON and will be removed in the future. - LegacyAminoJson = 127, - /// SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos - /// SDK. Ref: - /// - /// Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, - /// but is not implemented on the SDK by default. To enable EIP-191, you need - /// to pass a custom `TxConfig` that has an implementation of - /// `SignModeHandler` for EIP-191. The SDK may decide to fully support - /// EIP-191 in the future. - /// - /// Since: cosmos-sdk 0.45.2 - Eip191 = 191, -} -impl SignMode { - /// 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 { - SignMode::Unspecified => "SIGN_MODE_UNSPECIFIED", - SignMode::Direct => "SIGN_MODE_DIRECT", - SignMode::Textual => "SIGN_MODE_TEXTUAL", - SignMode::DirectAux => "SIGN_MODE_DIRECT_AUX", - SignMode::LegacyAminoJson => "SIGN_MODE_LEGACY_AMINO_JSON", - SignMode::Eip191 => "SIGN_MODE_EIP_191", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "SIGN_MODE_UNSPECIFIED" => Some(Self::Unspecified), - "SIGN_MODE_DIRECT" => Some(Self::Direct), - "SIGN_MODE_TEXTUAL" => Some(Self::Textual), - "SIGN_MODE_DIRECT_AUX" => Some(Self::DirectAux), - "SIGN_MODE_LEGACY_AMINO_JSON" => Some(Self::LegacyAminoJson), - "SIGN_MODE_EIP_191" => Some(Self::Eip191), - _ => None, - } - } -} diff --git a/src/prost/cosmos.tx.v1beta1.rs b/src/prost/cosmos.tx.v1beta1.rs deleted file mode 100644 index 403722eb..00000000 --- a/src/prost/cosmos.tx.v1beta1.rs +++ /dev/null @@ -1,1763 +0,0 @@ -/// Tx is the standard type used for broadcasting transactions. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Tx { - /// body is the processable content of the transaction - #[prost(message, optional, tag = "1")] - pub body: ::core::option::Option, - /// auth_info is the authorization related content of the transaction, - /// specifically signers, signer modes and fee - #[prost(message, optional, tag = "2")] - pub auth_info: ::core::option::Option, - /// signatures is a list of signatures that matches the length and order of - /// AuthInfo's signer_infos to allow connecting signature meta information like - /// public key and signing mode by position. - #[prost(bytes = "vec", repeated, tag = "3")] - pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for Tx { - const NAME: &'static str = "Tx"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxRaw is a variant of Tx that pins the signer's exact binary representation -/// of body and auth_info. This is used for signing, broadcasting and -/// verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and -/// the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used -/// as the transaction ID. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxRaw { - /// body_bytes is a protobuf serialization of a TxBody that matches the - /// representation in SignDoc. - #[prost(bytes = "vec", tag = "1")] - pub body_bytes: ::prost::alloc::vec::Vec, - /// auth_info_bytes is a protobuf serialization of an AuthInfo that matches the - /// representation in SignDoc. - #[prost(bytes = "vec", tag = "2")] - pub auth_info_bytes: ::prost::alloc::vec::Vec, - /// signatures is a list of signatures that matches the length and order of - /// AuthInfo's signer_infos to allow connecting signature meta information like - /// public key and signing mode by position. - #[prost(bytes = "vec", repeated, tag = "3")] - pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for TxRaw { - const NAME: &'static str = "TxRaw"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignDoc { - /// body_bytes is protobuf serialization of a TxBody that matches the - /// representation in TxRaw. - #[prost(bytes = "vec", tag = "1")] - pub body_bytes: ::prost::alloc::vec::Vec, - /// auth_info_bytes is a protobuf serialization of an AuthInfo that matches the - /// representation in TxRaw. - #[prost(bytes = "vec", tag = "2")] - pub auth_info_bytes: ::prost::alloc::vec::Vec, - /// chain_id is the unique identifier of the chain this transaction targets. - /// It prevents signed transactions from being used on another chain by an - /// attacker - #[prost(string, tag = "3")] - pub chain_id: ::prost::alloc::string::String, - /// account_number is the account number of the account in state - #[prost(uint64, tag = "4")] - pub account_number: u64, -} -impl ::prost::Name for SignDoc { - const NAME: &'static str = "SignDoc"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// SignDocDirectAux is the type used for generating sign bytes for -/// SIGN_MODE_DIRECT_AUX. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignDocDirectAux { - /// body_bytes is protobuf serialization of a TxBody that matches the - /// representation in TxRaw. - #[prost(bytes = "vec", tag = "1")] - pub body_bytes: ::prost::alloc::vec::Vec, - /// public_key is the public key of the signing account. - #[prost(message, optional, tag = "2")] - pub public_key: ::core::option::Option, - /// chain_id is the identifier of the chain this transaction targets. - /// It prevents signed transactions from being used on another chain by an - /// attacker. - #[prost(string, tag = "3")] - pub chain_id: ::prost::alloc::string::String, - /// account_number is the account number of the account in state. - #[prost(uint64, tag = "4")] - pub account_number: u64, - /// sequence is the sequence number of the signing account. - #[prost(uint64, tag = "5")] - pub sequence: u64, - /// Tip is the optional tip used for transactions fees paid in another denom. - /// It should be left empty if the signer is not the tipper for this - /// transaction. - /// - /// This field is ignored if the chain didn't enable tips, i.e. didn't add the - /// `TipDecorator` in its posthandler. - #[prost(message, optional, tag = "6")] - pub tip: ::core::option::Option, -} -impl ::prost::Name for SignDocDirectAux { - const NAME: &'static str = "SignDocDirectAux"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxBody is the body of a transaction that all signers sign over. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxBody { - /// messages is a list of messages to be executed. The required signers of - /// those messages define the number and order of elements in AuthInfo's - /// signer_infos and Tx's signatures. Each required signer address is added to - /// the list only the first time it occurs. - /// By convention, the first required signer (usually from the first message) - /// is referred to as the primary signer and pays the fee for the whole - /// transaction. - #[prost(message, repeated, tag = "1")] - pub messages: ::prost::alloc::vec::Vec, - /// memo is any arbitrary note/comment to be added to the transaction. - /// WARNING: in clients, any publicly exposed text should not be called memo, - /// but should be called `note` instead (see ). - #[prost(string, tag = "2")] - pub memo: ::prost::alloc::string::String, - /// timeout is the block height after which this transaction will not - /// be processed by the chain - #[prost(uint64, tag = "3")] - pub timeout_height: u64, - /// extension_options are arbitrary options that can be added by chains - /// when the default options are not sufficient. If any of these are present - /// and can't be handled, the transaction will be rejected - #[prost(message, repeated, tag = "1023")] - pub extension_options: ::prost::alloc::vec::Vec< - super::super::super::google::protobuf::Any, - >, - /// extension_options are arbitrary options that can be added by chains - /// when the default options are not sufficient. If any of these are present - /// and can't be handled, they will be ignored - #[prost(message, repeated, tag = "2047")] - pub non_critical_extension_options: ::prost::alloc::vec::Vec< - super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for TxBody { - const NAME: &'static str = "TxBody"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// AuthInfo describes the fee and signer modes that are used to sign a -/// transaction. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AuthInfo { - /// signer_infos defines the signing modes for the required signers. The number - /// and order of elements must match the required signers from TxBody's - /// messages. The first element is the primary signer and the one which pays - /// the fee. - #[prost(message, repeated, tag = "1")] - pub signer_infos: ::prost::alloc::vec::Vec, - /// Fee is the fee and gas limit for the transaction. The first signer is the - /// primary signer and the one which pays the fee. The fee can be calculated - /// based on the cost of evaluating the body and doing signature verification - /// of the signers. This can be estimated via simulation. - #[prost(message, optional, tag = "2")] - pub fee: ::core::option::Option, - /// Tip is the optional tip used for transactions fees paid in another denom. - /// - /// This field is ignored if the chain didn't enable tips, i.e. didn't add the - /// `TipDecorator` in its posthandler. - /// - /// Since: cosmos-sdk 0.46 - #[prost(message, optional, tag = "3")] - pub tip: ::core::option::Option, -} -impl ::prost::Name for AuthInfo { - const NAME: &'static str = "AuthInfo"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// SignerInfo describes the public key and signing mode of a single top-level -/// signer. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignerInfo { - /// public_key is the public key of the signer. It is optional for accounts - /// that already exist in state. If unset, the verifier can use the required \ - /// signer address for this position and lookup the public key. - #[prost(message, optional, tag = "1")] - pub public_key: ::core::option::Option, - /// mode_info describes the signing mode of the signer and is a nested - /// structure to support nested multisig pubkey's - #[prost(message, optional, tag = "2")] - pub mode_info: ::core::option::Option, - /// sequence is the sequence of the account, which describes the - /// number of committed transactions signed by a given address. It is used to - /// prevent replay attacks. - #[prost(uint64, tag = "3")] - pub sequence: u64, -} -impl ::prost::Name for SignerInfo { - const NAME: &'static str = "SignerInfo"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// ModeInfo describes the signing mode of a single or nested multisig signer. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ModeInfo { - /// sum is the oneof that specifies whether this represents a single or nested - /// multisig signer - #[prost(oneof = "mode_info::Sum", tags = "1, 2")] - pub sum: ::core::option::Option, -} -/// Nested message and enum types in `ModeInfo`. -pub mod mode_info { - /// Single is the mode info for a single signer. It is structured as a message - /// to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the - /// future - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Single { - /// mode is the signing mode of the single signer - #[prost(enumeration = "super::super::signing::v1beta1::SignMode", tag = "1")] - pub mode: i32, - } - impl ::prost::Name for Single { - const NAME: &'static str = "Single"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.ModeInfo.{}", Self::NAME) - } - } - /// Multi is the mode info for a multisig public key - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Multi { - /// bitarray specifies which keys within the multisig are signing - #[prost(message, optional, tag = "1")] - pub bitarray: ::core::option::Option< - super::super::super::crypto::multisig::v1beta1::CompactBitArray, - >, - /// mode_infos is the corresponding modes of the signers of the multisig - /// which could include nested multisig public keys - #[prost(message, repeated, tag = "2")] - pub mode_infos: ::prost::alloc::vec::Vec, - } - impl ::prost::Name for Multi { - const NAME: &'static str = "Multi"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.ModeInfo.{}", Self::NAME) - } - } - /// sum is the oneof that specifies whether this represents a single or nested - /// multisig signer - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Sum { - /// single represents a single signer - #[prost(message, tag = "1")] - Single(Single), - /// multi represents a nested multisig signer - #[prost(message, tag = "2")] - Multi(Multi), - } -} -impl ::prost::Name for ModeInfo { - const NAME: &'static str = "ModeInfo"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// Fee includes the amount of coins paid in fees and the maximum -/// gas to be used by the transaction. The ratio yields an effective "gasprice", -/// which must be above some miminum to be accepted into the mempool. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Fee { - /// amount is the amount of coins to be paid as a fee - #[prost(message, repeated, tag = "1")] - pub amount: ::prost::alloc::vec::Vec, - /// gas_limit is the maximum gas that can be used in transaction processing - /// before an out of gas error occurs - #[prost(uint64, tag = "2")] - pub gas_limit: u64, - /// if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. - /// the payer must be a tx signer (and thus have signed this field in AuthInfo). - /// setting this field does *not* change the ordering of required signers for the transaction. - #[prost(string, tag = "3")] - pub payer: ::prost::alloc::string::String, - /// if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used - /// to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does - /// not support fee grants, this will fail - #[prost(string, tag = "4")] - pub granter: ::prost::alloc::string::String, -} -impl ::prost::Name for Fee { - const NAME: &'static str = "Fee"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// Tip is the tip used for meta-transactions. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Tip { - /// amount is the amount of the tip - #[prost(message, repeated, tag = "1")] - pub amount: ::prost::alloc::vec::Vec, - /// tipper is the address of the account paying for the tip - #[prost(string, tag = "2")] - pub tipper: ::prost::alloc::string::String, -} -impl ::prost::Name for Tip { - const NAME: &'static str = "Tip"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// AuxSignerData is the intermediary format that an auxiliary signer (e.g. a -/// tipper) builds and sends to the fee payer (who will build and broadcast the -/// actual tx). AuxSignerData is not a valid tx in itself, and will be rejected -/// by the node if sent directly as-is. -/// -/// Since: cosmos-sdk 0.46 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AuxSignerData { - /// address is the bech32-encoded address of the auxiliary signer. If using - /// AuxSignerData across different chains, the bech32 prefix of the target - /// chain (where the final transaction is broadcasted) should be used. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// sign_doc is the SIGN_MODE_DIRECT_AUX sign doc that the auxiliary signer - /// signs. Note: we use the same sign doc even if we're signing with - /// LEGACY_AMINO_JSON. - #[prost(message, optional, tag = "2")] - pub sign_doc: ::core::option::Option, - /// mode is the signing mode of the single signer. - #[prost(enumeration = "super::signing::v1beta1::SignMode", tag = "3")] - pub mode: i32, - /// sig is the signature of the sign doc. - #[prost(bytes = "vec", tag = "4")] - pub sig: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for AuxSignerData { - const NAME: &'static str = "AuxSignerData"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// GetTxsEventRequest is the request type for the Service.TxsByEvents -/// RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetTxsEventRequest { - /// events is the list of transaction event type. - #[prost(string, repeated, tag = "1")] - pub events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// pagination defines a pagination for the request. - /// Deprecated post v0.46.x: use page and limit instead. - #[deprecated] - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, - #[prost(enumeration = "OrderBy", tag = "3")] - pub order_by: i32, - /// page is the page number to query, starts at 1. If not provided, will default to first page. - #[prost(uint64, tag = "4")] - pub page: u64, - /// limit is the total number of results to be returned in the result page. - /// If left empty it will default to a value to be set by each app. - #[prost(uint64, tag = "5")] - pub limit: u64, -} -impl ::prost::Name for GetTxsEventRequest { - const NAME: &'static str = "GetTxsEventRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// GetTxsEventResponse is the response type for the Service.TxsByEvents -/// RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetTxsEventResponse { - /// txs is the list of queried transactions. - #[prost(message, repeated, tag = "1")] - pub txs: ::prost::alloc::vec::Vec, - /// tx_responses is the list of queried TxResponses. - #[prost(message, repeated, tag = "2")] - pub tx_responses: ::prost::alloc::vec::Vec< - super::super::base::abci::v1beta1::TxResponse, - >, - /// pagination defines a pagination for the response. - /// Deprecated post v0.46.x: use total instead. - #[deprecated] - #[prost(message, optional, tag = "3")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, - /// total is total number of results available - #[prost(uint64, tag = "4")] - pub total: u64, -} -impl ::prost::Name for GetTxsEventResponse { - const NAME: &'static str = "GetTxsEventResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// BroadcastTxRequest is the request type for the Service.BroadcastTxRequest -/// RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BroadcastTxRequest { - /// tx_bytes is the raw transaction. - #[prost(bytes = "vec", tag = "1")] - pub tx_bytes: ::prost::alloc::vec::Vec, - #[prost(enumeration = "BroadcastMode", tag = "2")] - pub mode: i32, -} -impl ::prost::Name for BroadcastTxRequest { - const NAME: &'static str = "BroadcastTxRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// BroadcastTxResponse is the response type for the -/// Service.BroadcastTx method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BroadcastTxResponse { - /// tx_response is the queried TxResponses. - #[prost(message, optional, tag = "1")] - pub tx_response: ::core::option::Option< - super::super::base::abci::v1beta1::TxResponse, - >, -} -impl ::prost::Name for BroadcastTxResponse { - const NAME: &'static str = "BroadcastTxResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// SimulateRequest is the request type for the Service.Simulate -/// RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SimulateRequest { - /// tx is the transaction to simulate. - /// Deprecated. Send raw tx bytes instead. - #[deprecated] - #[prost(message, optional, tag = "1")] - pub tx: ::core::option::Option, - /// tx_bytes is the raw transaction. - /// - /// Since: cosmos-sdk 0.43 - #[prost(bytes = "vec", tag = "2")] - pub tx_bytes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SimulateRequest { - const NAME: &'static str = "SimulateRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// SimulateResponse is the response type for the -/// Service.SimulateRPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SimulateResponse { - /// gas_info is the information about gas used in the simulation. - #[prost(message, optional, tag = "1")] - pub gas_info: ::core::option::Option, - /// result is the result of the simulation. - #[prost(message, optional, tag = "2")] - pub result: ::core::option::Option, -} -impl ::prost::Name for SimulateResponse { - const NAME: &'static str = "SimulateResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// GetTxRequest is the request type for the Service.GetTx -/// RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetTxRequest { - /// hash is the tx hash to query, encoded as a hex string. - #[prost(string, tag = "1")] - pub hash: ::prost::alloc::string::String, -} -impl ::prost::Name for GetTxRequest { - const NAME: &'static str = "GetTxRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// GetTxResponse is the response type for the Service.GetTx method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetTxResponse { - /// tx is the queried transaction. - #[prost(message, optional, tag = "1")] - pub tx: ::core::option::Option, - /// tx_response is the queried TxResponses. - #[prost(message, optional, tag = "2")] - pub tx_response: ::core::option::Option< - super::super::base::abci::v1beta1::TxResponse, - >, -} -impl ::prost::Name for GetTxResponse { - const NAME: &'static str = "GetTxResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// GetBlockWithTxsRequest is the request type for the Service.GetBlockWithTxs -/// RPC method. -/// -/// Since: cosmos-sdk 0.45.2 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetBlockWithTxsRequest { - /// height is the height of the block to query. - #[prost(int64, tag = "1")] - pub height: i64, - /// pagination defines a pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for GetBlockWithTxsRequest { - const NAME: &'static str = "GetBlockWithTxsRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs method. -/// -/// Since: cosmos-sdk 0.45.2 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetBlockWithTxsResponse { - /// txs are the transactions in the block. - #[prost(message, repeated, tag = "1")] - pub txs: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, - #[prost(message, optional, tag = "3")] - pub block: ::core::option::Option<::tendermint_proto::types::Block>, - /// pagination defines a pagination for the response. - #[prost(message, optional, tag = "4")] - pub pagination: ::core::option::Option< - super::super::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for GetBlockWithTxsResponse { - const NAME: &'static str = "GetBlockWithTxsResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxDecodeRequest is the request type for the Service.TxDecode -/// RPC method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxDecodeRequest { - /// tx_bytes is the raw transaction. - #[prost(bytes = "vec", tag = "1")] - pub tx_bytes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TxDecodeRequest { - const NAME: &'static str = "TxDecodeRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxDecodeResponse is the response type for the -/// Service.TxDecode method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxDecodeResponse { - /// tx is the decoded transaction. - #[prost(message, optional, tag = "1")] - pub tx: ::core::option::Option, -} -impl ::prost::Name for TxDecodeResponse { - const NAME: &'static str = "TxDecodeResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxEncodeRequest is the request type for the Service.TxEncode -/// RPC method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxEncodeRequest { - /// tx is the transaction to encode. - #[prost(message, optional, tag = "1")] - pub tx: ::core::option::Option, -} -impl ::prost::Name for TxEncodeRequest { - const NAME: &'static str = "TxEncodeRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxEncodeResponse is the response type for the -/// Service.TxEncode method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxEncodeResponse { - /// tx_bytes is the encoded transaction bytes. - #[prost(bytes = "vec", tag = "1")] - pub tx_bytes: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TxEncodeResponse { - const NAME: &'static str = "TxEncodeResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino -/// RPC method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxEncodeAminoRequest { - #[prost(string, tag = "1")] - pub amino_json: ::prost::alloc::string::String, -} -impl ::prost::Name for TxEncodeAminoRequest { - const NAME: &'static str = "TxEncodeAminoRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino -/// RPC method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxEncodeAminoResponse { - #[prost(bytes = "vec", tag = "1")] - pub amino_binary: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TxEncodeAminoResponse { - const NAME: &'static str = "TxEncodeAminoResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino -/// RPC method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxDecodeAminoRequest { - #[prost(bytes = "vec", tag = "1")] - pub amino_binary: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for TxDecodeAminoRequest { - const NAME: &'static str = "TxDecodeAminoRequest"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino -/// RPC method. -/// -/// Since: cosmos-sdk 0.47 -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TxDecodeAminoResponse { - #[prost(string, tag = "1")] - pub amino_json: ::prost::alloc::string::String, -} -impl ::prost::Name for TxDecodeAminoResponse { - const NAME: &'static str = "TxDecodeAminoResponse"; - const PACKAGE: &'static str = "cosmos.tx.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) - } -} -/// OrderBy defines the sorting order -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum OrderBy { - /// ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case. - Unspecified = 0, - /// ORDER_BY_ASC defines ascending order - Asc = 1, - /// ORDER_BY_DESC defines descending order - Desc = 2, -} -impl OrderBy { - /// 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 { - OrderBy::Unspecified => "ORDER_BY_UNSPECIFIED", - OrderBy::Asc => "ORDER_BY_ASC", - OrderBy::Desc => "ORDER_BY_DESC", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "ORDER_BY_UNSPECIFIED" => Some(Self::Unspecified), - "ORDER_BY_ASC" => Some(Self::Asc), - "ORDER_BY_DESC" => Some(Self::Desc), - _ => None, - } - } -} -/// BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum BroadcastMode { - /// zero-value for mode ordering - Unspecified = 0, - /// DEPRECATED: use BROADCAST_MODE_SYNC instead, - /// BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards. - Block = 1, - /// BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for - /// a CheckTx execution response only. - Sync = 2, - /// BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns - /// immediately. - Async = 3, -} -impl BroadcastMode { - /// 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 { - BroadcastMode::Unspecified => "BROADCAST_MODE_UNSPECIFIED", - BroadcastMode::Block => "BROADCAST_MODE_BLOCK", - BroadcastMode::Sync => "BROADCAST_MODE_SYNC", - BroadcastMode::Async => "BROADCAST_MODE_ASYNC", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "BROADCAST_MODE_UNSPECIFIED" => Some(Self::Unspecified), - "BROADCAST_MODE_BLOCK" => Some(Self::Block), - "BROADCAST_MODE_SYNC" => Some(Self::Sync), - "BROADCAST_MODE_ASYNC" => Some(Self::Async), - _ => None, - } - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod service_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Service defines a gRPC service for interacting with transactions. - #[derive(Debug, Clone)] - pub struct ServiceClient { - inner: tonic::client::Grpc, - } - impl ServiceClient { - /// 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 ServiceClient - 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, - ) -> ServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - ServiceClient::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 - } - /// Simulate simulates executing a transaction for estimating gas usage. - pub async fn simulate( - &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.tx.v1beta1.Service/Simulate", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "Simulate")); - self.inner.unary(req, path, codec).await - } - /// GetTx fetches a tx by hash. - pub async fn get_tx( - &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.tx.v1beta1.Service/GetTx", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "GetTx")); - self.inner.unary(req, path, codec).await - } - /// BroadcastTx broadcast transaction. - pub async fn broadcast_tx( - &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.tx.v1beta1.Service/BroadcastTx", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "BroadcastTx")); - self.inner.unary(req, path, codec).await - } - /// GetTxsEvent fetches txs by event. - pub async fn get_txs_event( - &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.tx.v1beta1.Service/GetTxsEvent", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "GetTxsEvent")); - self.inner.unary(req, path, codec).await - } - /// GetBlockWithTxs fetches a block with decoded txs. - /// - /// Since: cosmos-sdk 0.45.2 - pub async fn get_block_with_txs( - &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.tx.v1beta1.Service/GetBlockWithTxs", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "GetBlockWithTxs")); - self.inner.unary(req, path, codec).await - } - /// TxDecode decodes the transaction. - /// - /// Since: cosmos-sdk 0.47 - pub async fn tx_decode( - &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.tx.v1beta1.Service/TxDecode", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxDecode")); - self.inner.unary(req, path, codec).await - } - /// TxEncode encodes the transaction. - /// - /// Since: cosmos-sdk 0.47 - pub async fn tx_encode( - &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.tx.v1beta1.Service/TxEncode", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxEncode")); - self.inner.unary(req, path, codec).await - } - /// TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes. - /// - /// Since: cosmos-sdk 0.47 - pub async fn tx_encode_amino( - &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.tx.v1beta1.Service/TxEncodeAmino", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxEncodeAmino")); - self.inner.unary(req, path, codec).await - } - /// TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON. - /// - /// Since: cosmos-sdk 0.47 - pub async fn tx_decode_amino( - &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.tx.v1beta1.Service/TxDecodeAmino", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxDecodeAmino")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod service_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with ServiceServer. - #[async_trait] - pub trait Service: Send + Sync + 'static { - /// Simulate simulates executing a transaction for estimating gas usage. - async fn simulate( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetTx fetches a tx by hash. - async fn get_tx( - &self, - request: tonic::Request, - ) -> std::result::Result, tonic::Status>; - /// BroadcastTx broadcast transaction. - async fn broadcast_tx( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetTxsEvent fetches txs by event. - async fn get_txs_event( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// GetBlockWithTxs fetches a block with decoded txs. - /// - /// Since: cosmos-sdk 0.45.2 - async fn get_block_with_txs( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TxDecode decodes the transaction. - /// - /// Since: cosmos-sdk 0.47 - async fn tx_decode( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TxEncode encodes the transaction. - /// - /// Since: cosmos-sdk 0.47 - async fn tx_encode( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes. - /// - /// Since: cosmos-sdk 0.47 - async fn tx_encode_amino( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON. - /// - /// Since: cosmos-sdk 0.47 - async fn tx_decode_amino( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Service defines a gRPC service for interacting with transactions. - #[derive(Debug)] - pub struct ServiceServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl ServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for ServiceServer - where - T: Service, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.tx.v1beta1.Service/Simulate" => { - #[allow(non_camel_case_types)] - struct SimulateSvc(pub Arc); - impl tonic::server::UnaryService - for SimulateSvc { - type Response = super::SimulateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::simulate(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SimulateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/GetTx" => { - #[allow(non_camel_case_types)] - struct GetTxSvc(pub Arc); - impl tonic::server::UnaryService - for GetTxSvc { - type Response = super::GetTxResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_tx(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetTxSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/BroadcastTx" => { - #[allow(non_camel_case_types)] - struct BroadcastTxSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for BroadcastTxSvc { - type Response = super::BroadcastTxResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::broadcast_tx(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = BroadcastTxSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/GetTxsEvent" => { - #[allow(non_camel_case_types)] - struct GetTxsEventSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetTxsEventSvc { - type Response = super::GetTxsEventResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_txs_event(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetTxsEventSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/GetBlockWithTxs" => { - #[allow(non_camel_case_types)] - struct GetBlockWithTxsSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for GetBlockWithTxsSvc { - type Response = super::GetBlockWithTxsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_block_with_txs(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = GetBlockWithTxsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/TxDecode" => { - #[allow(non_camel_case_types)] - struct TxDecodeSvc(pub Arc); - impl tonic::server::UnaryService - for TxDecodeSvc { - type Response = super::TxDecodeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::tx_decode(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TxDecodeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/TxEncode" => { - #[allow(non_camel_case_types)] - struct TxEncodeSvc(pub Arc); - impl tonic::server::UnaryService - for TxEncodeSvc { - type Response = super::TxEncodeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::tx_encode(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TxEncodeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/TxEncodeAmino" => { - #[allow(non_camel_case_types)] - struct TxEncodeAminoSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for TxEncodeAminoSvc { - type Response = super::TxEncodeAminoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::tx_encode_amino(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TxEncodeAminoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.tx.v1beta1.Service/TxDecodeAmino" => { - #[allow(non_camel_case_types)] - struct TxDecodeAminoSvc(pub Arc); - impl< - T: Service, - > tonic::server::UnaryService - for TxDecodeAminoSvc { - type Response = super::TxDecodeAminoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::tx_decode_amino(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TxDecodeAminoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for ServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for ServiceServer { - const NAME: &'static str = "cosmos.tx.v1beta1.Service"; - } -} diff --git a/src/prost/cosmos.upgrade.module.v1.rs b/src/prost/cosmos.upgrade.module.v1.rs deleted file mode 100644 index 198df468..00000000 --- a/src/prost/cosmos.upgrade.module.v1.rs +++ /dev/null @@ -1,15 +0,0 @@ -/// Module is the config object of the upgrade module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Module { - /// authority defines the custom module authority. If not set, defaults to the governance module. - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for Module { - const NAME: &'static str = "Module"; - const PACKAGE: &'static str = "cosmos.upgrade.module.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.module.v1.{}", Self::NAME) - } -} diff --git a/src/prost/cosmos.upgrade.v1beta1.rs b/src/prost/cosmos.upgrade.v1beta1.rs deleted file mode 100644 index dc8d6aec..00000000 --- a/src/prost/cosmos.upgrade.v1beta1.rs +++ /dev/null @@ -1,1383 +0,0 @@ -/// Plan specifies information about a planned upgrade and when it should occur. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Plan { - /// Sets the name for the upgrade. This name will be used by the upgraded - /// version of the software to apply any special "on-upgrade" commands during - /// the first BeginBlock method after the upgrade is applied. It is also used - /// to detect whether a software version can handle a given upgrade. If no - /// upgrade handler with this name has been set in the software, it will be - /// assumed that the software is out-of-date when the upgrade Time or Height is - /// reached and the software will exit. - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// Deprecated: Time based upgrades have been deprecated. Time based upgrade logic - /// has been removed from the SDK. - /// If this field is not empty, an error will be thrown. - #[deprecated] - #[prost(message, optional, tag = "2")] - pub time: ::core::option::Option, - /// The height at which the upgrade must be performed. - #[prost(int64, tag = "3")] - pub height: i64, - /// Any application specific upgrade info to be included on-chain - /// such as a git commit that validators could automatically upgrade to - #[prost(string, tag = "4")] - pub info: ::prost::alloc::string::String, - /// Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been - /// moved to the IBC module in the sub module 02-client. - /// If this field is not empty, an error will be thrown. - #[deprecated] - #[prost(message, optional, tag = "5")] - pub upgraded_client_state: ::core::option::Option< - super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for Plan { - const NAME: &'static str = "Plan"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// SoftwareUpgradeProposal is a gov Content type for initiating a software -/// upgrade. -/// Deprecated: This legacy proposal is deprecated in favor of Msg-based gov -/// proposals, see MsgSoftwareUpgrade. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SoftwareUpgradeProposal { - /// title of the proposal - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// description of the proposal - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - /// plan of the proposal - #[prost(message, optional, tag = "3")] - pub plan: ::core::option::Option, -} -impl ::prost::Name for SoftwareUpgradeProposal { - const NAME: &'static str = "SoftwareUpgradeProposal"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software -/// upgrade. -/// Deprecated: This legacy proposal is deprecated in favor of Msg-based gov -/// proposals, see MsgCancelUpgrade. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CancelSoftwareUpgradeProposal { - /// title of the proposal - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// description of the proposal - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, -} -impl ::prost::Name for CancelSoftwareUpgradeProposal { - const NAME: &'static str = "CancelSoftwareUpgradeProposal"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// ModuleVersion specifies a module and its consensus version. -/// -/// Since: cosmos-sdk 0.43 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ModuleVersion { - /// name of the app module - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// consensus version of the app module - #[prost(uint64, tag = "2")] - pub version: u64, -} -impl ::prost::Name for ModuleVersion { - const NAME: &'static str = "ModuleVersion"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSoftwareUpgrade { - /// authority is the address that controls the module (defaults to x/gov unless overwritten). - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// plan is the upgrade plan. - #[prost(message, optional, tag = "2")] - pub plan: ::core::option::Option, -} -impl ::prost::Name for MsgSoftwareUpgrade { - const NAME: &'static str = "MsgSoftwareUpgrade"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSoftwareUpgradeResponse {} -impl ::prost::Name for MsgSoftwareUpgradeResponse { - const NAME: &'static str = "MsgSoftwareUpgradeResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// MsgCancelUpgrade is the Msg/CancelUpgrade request type. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCancelUpgrade { - /// authority is the address that controls the module (defaults to x/gov unless overwritten). - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgCancelUpgrade { - const NAME: &'static str = "MsgCancelUpgrade"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type. -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgCancelUpgradeResponse {} -impl ::prost::Name for MsgCancelUpgradeResponse { - const NAME: &'static str = "MsgCancelUpgradeResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the upgrade Msg service. - #[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 - } - /// SoftwareUpgrade is a governance operation for initiating a software upgrade. - /// - /// Since: cosmos-sdk 0.46 - pub async fn software_upgrade( - &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.upgrade.v1beta1.Msg/SoftwareUpgrade", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.upgrade.v1beta1.Msg", "SoftwareUpgrade"), - ); - self.inner.unary(req, path, codec).await - } - /// CancelUpgrade is a governance operation for cancelling a previously - /// approved software upgrade. - /// - /// Since: cosmos-sdk 0.46 - pub async fn cancel_upgrade( - &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.upgrade.v1beta1.Msg/CancelUpgrade", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Msg", "CancelUpgrade")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// SoftwareUpgrade is a governance operation for initiating a software upgrade. - /// - /// Since: cosmos-sdk 0.46 - async fn software_upgrade( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// CancelUpgrade is a governance operation for cancelling a previously - /// approved software upgrade. - /// - /// Since: cosmos-sdk 0.46 - async fn cancel_upgrade( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the upgrade Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade" => { - #[allow(non_camel_case_types)] - struct SoftwareUpgradeSvc(pub Arc); - impl tonic::server::UnaryService - for SoftwareUpgradeSvc { - type Response = super::MsgSoftwareUpgradeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::software_upgrade(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SoftwareUpgradeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.upgrade.v1beta1.Msg/CancelUpgrade" => { - #[allow(non_camel_case_types)] - struct CancelUpgradeSvc(pub Arc); - impl tonic::server::UnaryService - for CancelUpgradeSvc { - type Response = super::MsgCancelUpgradeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::cancel_upgrade(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = CancelUpgradeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "cosmos.upgrade.v1beta1.Msg"; - } -} -/// QueryCurrentPlanRequest is the request type for the Query/CurrentPlan 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 QueryCurrentPlanRequest {} -impl ::prost::Name for QueryCurrentPlanRequest { - const NAME: &'static str = "QueryCurrentPlanRequest"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryCurrentPlanResponse is the response type for the Query/CurrentPlan 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 QueryCurrentPlanResponse { - /// plan is the current upgrade plan. - #[prost(message, optional, tag = "1")] - pub plan: ::core::option::Option, -} -impl ::prost::Name for QueryCurrentPlanResponse { - const NAME: &'static str = "QueryCurrentPlanResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryCurrentPlanRequest is the request type for the Query/AppliedPlan 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 QueryAppliedPlanRequest { - /// name is the name of the applied plan to query for. - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryAppliedPlanRequest { - const NAME: &'static str = "QueryAppliedPlanRequest"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryAppliedPlanResponse is the response type for the Query/AppliedPlan 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 QueryAppliedPlanResponse { - /// height is the block height at which the plan was applied. - #[prost(int64, tag = "1")] - pub height: i64, -} -impl ::prost::Name for QueryAppliedPlanResponse { - const NAME: &'static str = "QueryAppliedPlanResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// 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 QueryUpgradedConsensusStateRequest { - /// last height of the current chain must be sent in request - /// as this is the height under which next consensus state is stored - #[prost(int64, tag = "1")] - pub last_height: i64, -} -impl ::prost::Name for QueryUpgradedConsensusStateRequest { - const NAME: &'static str = "QueryUpgradedConsensusStateRequest"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// 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 QueryUpgradedConsensusStateResponse { - /// Since: cosmos-sdk 0.43 - #[prost(bytes = "vec", tag = "2")] - pub upgraded_consensus_state: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryUpgradedConsensusStateResponse { - const NAME: &'static str = "QueryUpgradedConsensusStateResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryModuleVersionsRequest is the request type for the Query/ModuleVersions -/// RPC method. -/// -/// Since: cosmos-sdk 0.43 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryModuleVersionsRequest { - /// module_name is a field to query a specific module - /// consensus version from state. Leaving this empty will - /// fetch the full list of module versions from state - #[prost(string, tag = "1")] - pub module_name: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryModuleVersionsRequest { - const NAME: &'static str = "QueryModuleVersionsRequest"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryModuleVersionsResponse is the response type for the Query/ModuleVersions -/// RPC method. -/// -/// Since: cosmos-sdk 0.43 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryModuleVersionsResponse { - /// module_versions is a list of module names with their consensus versions. - #[prost(message, repeated, tag = "1")] - pub module_versions: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryModuleVersionsResponse { - const NAME: &'static str = "QueryModuleVersionsResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryAuthorityRequest is the request type for Query/Authority -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAuthorityRequest {} -impl ::prost::Name for QueryAuthorityRequest { - const NAME: &'static str = "QueryAuthorityRequest"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// QueryAuthorityResponse is the response type for Query/Authority -/// -/// Since: cosmos-sdk 0.46 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryAuthorityResponse { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryAuthorityResponse { - const NAME: &'static str = "QueryAuthorityResponse"; - const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the gRPC upgrade querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// CurrentPlan queries the current upgrade plan. - pub async fn current_plan( - &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.upgrade.v1beta1.Query/CurrentPlan", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "CurrentPlan")); - self.inner.unary(req, path, codec).await - } - /// AppliedPlan queries a previously applied upgrade plan by its name. - pub async fn applied_plan( - &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.upgrade.v1beta1.Query/AppliedPlan", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "AppliedPlan")); - self.inner.unary(req, path, codec).await - } - /// UpgradedConsensusState queries the consensus state that will serve - /// as a trusted kernel for the next version of this chain. It will only be - /// stored at the last height of this chain. - /// UpgradedConsensusState RPC not supported with legacy querier - /// This rpc is deprecated now that IBC has its own replacement - /// (https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) - 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( - "/cosmos.upgrade.v1beta1.Query/UpgradedConsensusState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "cosmos.upgrade.v1beta1.Query", - "UpgradedConsensusState", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ModuleVersions queries the list of module versions from state. - /// - /// Since: cosmos-sdk 0.43 - pub async fn module_versions( - &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.upgrade.v1beta1.Query/ModuleVersions", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "ModuleVersions"), - ); - self.inner.unary(req, path, codec).await - } - /// Returns the account with authority to conduct upgrades - /// - /// Since: cosmos-sdk 0.46 - pub async fn authority( - &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.upgrade.v1beta1.Query/Authority", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "Authority")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// CurrentPlan queries the current upgrade plan. - async fn current_plan( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// AppliedPlan queries a previously applied upgrade plan by its name. - async fn applied_plan( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpgradedConsensusState queries the consensus state that will serve - /// as a trusted kernel for the next version of this chain. It will only be - /// stored at the last height of this chain. - /// UpgradedConsensusState RPC not supported with legacy querier - /// This rpc is deprecated now that IBC has its own replacement - /// (https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) - async fn upgraded_consensus_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ModuleVersions queries the list of module versions from state. - /// - /// Since: cosmos-sdk 0.43 - async fn module_versions( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Returns the account with authority to conduct upgrades - /// - /// Since: cosmos-sdk 0.46 - async fn authority( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the gRPC upgrade querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/cosmos.upgrade.v1beta1.Query/CurrentPlan" => { - #[allow(non_camel_case_types)] - struct CurrentPlanSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for CurrentPlanSvc { - type Response = super::QueryCurrentPlanResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::current_plan(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = CurrentPlanSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.upgrade.v1beta1.Query/AppliedPlan" => { - #[allow(non_camel_case_types)] - struct AppliedPlanSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AppliedPlanSvc { - type Response = super::QueryAppliedPlanResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::applied_plan(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AppliedPlanSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.upgrade.v1beta1.Query/UpgradedConsensusState" => { - #[allow(non_camel_case_types)] - struct UpgradedConsensusStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryUpgradedConsensusStateRequest, - > for UpgradedConsensusStateSvc { - type Response = super::QueryUpgradedConsensusStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryUpgradedConsensusStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::upgraded_consensus_state(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpgradedConsensusStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.upgrade.v1beta1.Query/ModuleVersions" => { - #[allow(non_camel_case_types)] - struct ModuleVersionsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ModuleVersionsSvc { - type Response = super::QueryModuleVersionsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::module_versions(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ModuleVersionsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/cosmos.upgrade.v1beta1.Query/Authority" => { - #[allow(non_camel_case_types)] - struct AuthoritySvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for AuthoritySvc { - type Response = super::QueryAuthorityResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::authority(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AuthoritySvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "cosmos.upgrade.v1beta1.Query"; - } -} diff --git a/src/prost/cosmos_proto.rs b/src/prost/cosmos_proto.rs deleted file mode 100644 index 053c6d52..00000000 --- a/src/prost/cosmos_proto.rs +++ /dev/null @@ -1,87 +0,0 @@ -/// InterfaceDescriptor describes an interface type to be used with -/// accepts_interface and implements_interface and declared by declare_interface. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterfaceDescriptor { - /// name is the name of the interface. It should be a short-name (without - /// a period) such that the fully qualified name of the interface will be - /// package.name, ex. for the package a.b and interface named C, the - /// fully-qualified name will be a.b.C. - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// description is a human-readable description of the interface and its - /// purpose. - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, -} -impl ::prost::Name for InterfaceDescriptor { - const NAME: &'static str = "InterfaceDescriptor"; - const PACKAGE: &'static str = "cosmos_proto"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos_proto.{}", Self::NAME) - } -} -/// ScalarDescriptor describes an scalar type to be used with -/// the scalar field option and declared by declare_scalar. -/// Scalars extend simple protobuf built-in types with additional -/// syntax and semantics, for instance to represent big integers. -/// Scalars should ideally define an encoding such that there is only one -/// valid syntactical representation for a given semantic meaning, -/// i.e. the encoding should be deterministic. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ScalarDescriptor { - /// name is the name of the scalar. It should be a short-name (without - /// a period) such that the fully qualified name of the scalar will be - /// package.name, ex. for the package a.b and scalar named C, the - /// fully-qualified name will be a.b.C. - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - /// description is a human-readable description of the scalar and its - /// encoding format. For instance a big integer or decimal scalar should - /// specify precisely the expected encoding format. - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - /// field_type is the type of field with which this scalar can be used. - /// Scalars can be used with one and only one type of field so that - /// encoding standards and simple and clear. Currently only string and - /// bytes fields are supported for scalars. - #[prost(enumeration = "ScalarType", repeated, tag = "3")] - pub field_type: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ScalarDescriptor { - const NAME: &'static str = "ScalarDescriptor"; - const PACKAGE: &'static str = "cosmos_proto"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("cosmos_proto.{}", Self::NAME) - } -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ScalarType { - Unspecified = 0, - String = 1, - Bytes = 2, -} -impl ScalarType { - /// 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 { - ScalarType::Unspecified => "SCALAR_TYPE_UNSPECIFIED", - ScalarType::String => "SCALAR_TYPE_STRING", - ScalarType::Bytes => "SCALAR_TYPE_BYTES", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "SCALAR_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "SCALAR_TYPE_STRING" => Some(Self::String), - "SCALAR_TYPE_BYTES" => Some(Self::Bytes), - _ => None, - } - } -} diff --git a/src/prost/google.api.rs b/src/prost/google.api.rs deleted file mode 100644 index 5aa04075..00000000 --- a/src/prost/google.api.rs +++ /dev/null @@ -1,392 +0,0 @@ -/// Defines the HTTP configuration for an API service. It contains a list of -/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method -/// to one or more HTTP REST API methods. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Http { - /// A list of HTTP configuration rules that apply to individual API methods. - /// - /// **NOTE:** All service configuration rules follow "last one wins" order. - #[prost(message, repeated, tag = "1")] - pub rules: ::prost::alloc::vec::Vec, - /// When set to true, URL path parameters will be fully URI-decoded except in - /// cases of single segment matches in reserved expansion, where "%2F" will be - /// left encoded. - /// - /// The default behavior is to not decode RFC 6570 reserved characters in multi - /// segment matches. - #[prost(bool, tag = "2")] - pub fully_decode_reserved_expansion: bool, -} -impl ::prost::Name for Http { - const NAME: &'static str = "Http"; - const PACKAGE: &'static str = "google.api"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.api.{}", Self::NAME) - } -} -/// # gRPC Transcoding -/// -/// gRPC Transcoding is a feature for mapping between a gRPC method and one or -/// more HTTP REST endpoints. It allows developers to build a single API service -/// that supports both gRPC APIs and REST APIs. Many systems, including [Google -/// APIs](), -/// [Cloud Endpoints](), [gRPC -/// Gateway](), -/// and [Envoy]() proxy support this feature -/// and use it for large scale production services. -/// -/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies -/// how different portions of the gRPC request message are mapped to the URL -/// path, URL query parameters, and HTTP request body. It also controls how the -/// gRPC response message is mapped to the HTTP response body. `HttpRule` is -/// typically specified as an `google.api.http` annotation on the gRPC method. -/// -/// Each mapping specifies a URL path template and an HTTP method. The path -/// template may refer to one or more fields in the gRPC request message, as long -/// as each field is a non-repeated field with a primitive (non-message) type. -/// The path template controls how fields of the request message are mapped to -/// the URL path. -/// -/// Example: -/// -/// service Messaging { -/// rpc GetMessage(GetMessageRequest) returns (Message) { -/// option (google.api.http) = { -/// get: "/v1/{name=messages/*}" -/// }; -/// } -/// } -/// message GetMessageRequest { -/// string name = 1; // Mapped to URL path. -/// } -/// message Message { -/// string text = 1; // The resource content. -/// } -/// -/// This enables an HTTP REST to gRPC mapping as below: -/// -/// HTTP | gRPC -/// -----|----- -/// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")` -/// -/// Any fields in the request message which are not bound by the path template -/// automatically become HTTP query parameters if there is no HTTP request body. -/// For example: -/// -/// service Messaging { -/// rpc GetMessage(GetMessageRequest) returns (Message) { -/// option (google.api.http) = { -/// get:"/v1/messages/{message_id}" -/// }; -/// } -/// } -/// message GetMessageRequest { -/// message SubMessage { -/// string subfield = 1; -/// } -/// string message_id = 1; // Mapped to URL path. -/// int64 revision = 2; // Mapped to URL query parameter `revision`. -/// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. -/// } -/// -/// This enables a HTTP JSON to RPC mapping as below: -/// -/// HTTP | gRPC -/// -----|----- -/// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | -/// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: -/// "foo"))` -/// -/// Note that fields which are mapped to URL query parameters must have a -/// primitive type or a repeated primitive type or a non-repeated message type. -/// In the case of a repeated type, the parameter can be repeated in the URL -/// as `...?param=A¶m=B`. In the case of a message type, each field of the -/// message is mapped to a separate parameter, such as -/// `...?foo.a=A&foo.b=B&foo.c=C`. -/// -/// For HTTP methods that allow a request body, the `body` field -/// specifies the mapping. Consider a REST update method on the -/// message resource collection: -/// -/// service Messaging { -/// rpc UpdateMessage(UpdateMessageRequest) returns (Message) { -/// option (google.api.http) = { -/// patch: "/v1/messages/{message_id}" -/// body: "message" -/// }; -/// } -/// } -/// message UpdateMessageRequest { -/// string message_id = 1; // mapped to the URL -/// Message message = 2; // mapped to the body -/// } -/// -/// The following HTTP JSON to RPC mapping is enabled, where the -/// representation of the JSON in the request body is determined by -/// protos JSON encoding: -/// -/// HTTP | gRPC -/// -----|----- -/// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: -/// "123456" message { text: "Hi!" })` -/// -/// The special name `*` can be used in the body mapping to define that -/// every field not bound by the path template should be mapped to the -/// request body. This enables the following alternative definition of -/// the update method: -/// -/// service Messaging { -/// rpc UpdateMessage(Message) returns (Message) { -/// option (google.api.http) = { -/// patch: "/v1/messages/{message_id}" -/// body: "*" -/// }; -/// } -/// } -/// message Message { -/// string message_id = 1; -/// string text = 2; -/// } -/// -/// -/// The following HTTP JSON to RPC mapping is enabled: -/// -/// HTTP | gRPC -/// -----|----- -/// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: -/// "123456" text: "Hi!")` -/// -/// Note that when using `*` in the body mapping, it is not possible to -/// have HTTP parameters, as all fields not bound by the path end in -/// the body. This makes this option more rarely used in practice when -/// defining REST APIs. The common usage of `*` is in custom methods -/// which don't use the URL at all for transferring data. -/// -/// It is possible to define multiple HTTP methods for one RPC by using -/// the `additional_bindings` option. Example: -/// -/// service Messaging { -/// rpc GetMessage(GetMessageRequest) returns (Message) { -/// option (google.api.http) = { -/// get: "/v1/messages/{message_id}" -/// additional_bindings { -/// get: "/v1/users/{user_id}/messages/{message_id}" -/// } -/// }; -/// } -/// } -/// message GetMessageRequest { -/// string message_id = 1; -/// string user_id = 2; -/// } -/// -/// This enables the following two alternative HTTP JSON to RPC mappings: -/// -/// HTTP | gRPC -/// -----|----- -/// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` -/// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: -/// "123456")` -/// -/// ## Rules for HTTP mapping -/// -/// 1. Leaf request fields (recursive expansion nested messages in the request -/// message) are classified into three categories: -/// - Fields referred by the path template. They are passed via the URL path. -/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They -/// are passed via the HTTP -/// request body. -/// - All other fields are passed via the URL query parameters, and the -/// parameter name is the field path in the request message. A repeated -/// field can be represented as multiple query parameters under the same -/// name. -/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL -/// query parameter, all fields -/// are passed via URL path and HTTP request body. -/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP -/// request body, all -/// fields are passed via URL path and URL query parameters. -/// -/// ### Path template syntax -/// -/// Template = "/" Segments \[ Verb \] ; -/// Segments = Segment { "/" Segment } ; -/// Segment = "*" | "**" | LITERAL | Variable ; -/// Variable = "{" FieldPath \[ "=" Segments \] "}" ; -/// FieldPath = IDENT { "." IDENT } ; -/// Verb = ":" LITERAL ; -/// -/// The syntax `*` matches a single URL path segment. The syntax `**` matches -/// zero or more URL path segments, which must be the last part of the URL path -/// except the `Verb`. -/// -/// The syntax `Variable` matches part of the URL path as specified by its -/// template. A variable template must not contain other variables. If a variable -/// matches a single path segment, its template may be omitted, e.g. `{var}` -/// is equivalent to `{var=*}`. -/// -/// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` -/// contains any reserved character, such characters should be percent-encoded -/// before the matching. -/// -/// If a variable contains exactly one path segment, such as `"{var}"` or -/// `"{var=*}"`, when such a variable is expanded into a URL path on the client -/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The -/// server side does the reverse decoding. Such variables show up in the -/// [Discovery -/// Document]() as -/// `{var}`. -/// -/// If a variable contains multiple path segments, such as `"{var=foo/*}"` -/// or `"{var=**}"`, when such a variable is expanded into a URL path on the -/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded. -/// The server side does the reverse decoding, except "%2F" and "%2f" are left -/// unchanged. Such variables show up in the -/// [Discovery -/// Document]() as -/// `{+var}`. -/// -/// ## Using gRPC API Service Configuration -/// -/// gRPC API Service Configuration (service config) is a configuration language -/// for configuring a gRPC service to become a user-facing product. The -/// service config is simply the YAML representation of the `google.api.Service` -/// proto message. -/// -/// As an alternative to annotating your proto file, you can configure gRPC -/// transcoding in your service config YAML files. You do this by specifying a -/// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same -/// effect as the proto annotation. This can be particularly useful if you -/// have a proto that is reused in multiple services. Note that any transcoding -/// specified in the service config will override any matching transcoding -/// configuration in the proto. -/// -/// Example: -/// -/// http: -/// rules: -/// # Selects a gRPC method and applies HttpRule to it. -/// - selector: example.v1.Messaging.GetMessage -/// get: /v1/messages/{message_id}/{sub.subfield} -/// -/// ## Special notes -/// -/// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the -/// proto to JSON conversion must follow the [proto3 -/// specification](). -/// -/// While the single segment variable follows the semantics of -/// [RFC 6570]() Section 3.2.2 Simple String -/// Expansion, the multi segment variable **does not** follow RFC 6570 Section -/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion -/// does not expand special characters like `?` and `#`, which would lead -/// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding -/// for multi segment variables. -/// -/// The path variables **must not** refer to any repeated or mapped field, -/// because client libraries are not capable of handling such variable expansion. -/// -/// The path variables **must not** capture the leading "/" character. The reason -/// is that the most common use case "{var}" does not capture the leading "/" -/// character. For consistency, all path variables must share the same behavior. -/// -/// Repeated message fields must not be mapped to URL query parameters, because -/// no client library can support such complicated mapping. -/// -/// If an API needs to use a JSON array for request or response body, it can map -/// the request or response body to a repeated field. However, some gRPC -/// Transcoding implementations may not support this feature. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HttpRule { - /// Selects a method to which this rule applies. - /// - /// Refer to [selector][google.api.DocumentationRule.selector] for syntax - /// details. - #[prost(string, tag = "1")] - pub selector: ::prost::alloc::string::String, - /// The name of the request field whose value is mapped to the HTTP request - /// body, or `*` for mapping all request fields not captured by the path - /// pattern to the HTTP body, or omitted for not having any HTTP request body. - /// - /// NOTE: the referred field must be present at the top-level of the request - /// message type. - #[prost(string, tag = "7")] - pub body: ::prost::alloc::string::String, - /// Optional. The name of the response field whose value is mapped to the HTTP - /// response body. When omitted, the entire response message will be used - /// as the HTTP response body. - /// - /// NOTE: The referred field must be present at the top-level of the response - /// message type. - #[prost(string, tag = "12")] - pub response_body: ::prost::alloc::string::String, - /// Additional HTTP bindings for the selector. Nested bindings must - /// not contain an `additional_bindings` field themselves (that is, - /// the nesting may only be one level deep). - #[prost(message, repeated, tag = "11")] - pub additional_bindings: ::prost::alloc::vec::Vec, - /// Determines the URL pattern is matched by this rules. This pattern can be - /// used with any of the {get|put|post|delete|patch} methods. A custom method - /// can be defined using the 'custom' field. - #[prost(oneof = "http_rule::Pattern", tags = "2, 3, 4, 5, 6, 8")] - pub pattern: ::core::option::Option, -} -/// Nested message and enum types in `HttpRule`. -pub mod http_rule { - /// Determines the URL pattern is matched by this rules. This pattern can be - /// used with any of the {get|put|post|delete|patch} methods. A custom method - /// can be defined using the 'custom' field. - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Pattern { - /// Maps to HTTP GET. Used for listing and getting information about - /// resources. - #[prost(string, tag = "2")] - Get(::prost::alloc::string::String), - /// Maps to HTTP PUT. Used for replacing a resource. - #[prost(string, tag = "3")] - Put(::prost::alloc::string::String), - /// Maps to HTTP POST. Used for creating a resource or performing an action. - #[prost(string, tag = "4")] - Post(::prost::alloc::string::String), - /// Maps to HTTP DELETE. Used for deleting a resource. - #[prost(string, tag = "5")] - Delete(::prost::alloc::string::String), - /// Maps to HTTP PATCH. Used for updating a resource. - #[prost(string, tag = "6")] - Patch(::prost::alloc::string::String), - /// The custom pattern is used for specifying an HTTP method that is not - /// included in the `pattern` field, such as HEAD, or "*" to leave the - /// HTTP method unspecified for this rule. The wild-card rule is useful - /// for services that provide content to Web (HTML) clients. - #[prost(message, tag = "8")] - Custom(super::CustomHttpPattern), - } -} -impl ::prost::Name for HttpRule { - const NAME: &'static str = "HttpRule"; - const PACKAGE: &'static str = "google.api"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.api.{}", Self::NAME) - } -} -/// A custom pattern is used for defining custom HTTP verb. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CustomHttpPattern { - /// The name of this custom HTTP verb. - #[prost(string, tag = "1")] - pub kind: ::prost::alloc::string::String, - /// The path matched by this custom verb. - #[prost(string, tag = "2")] - pub path: ::prost::alloc::string::String, -} -impl ::prost::Name for CustomHttpPattern { - const NAME: &'static str = "CustomHttpPattern"; - const PACKAGE: &'static str = "google.api"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.api.{}", Self::NAME) - } -} diff --git a/src/prost/google.protobuf.rs b/src/prost/google.protobuf.rs deleted file mode 100644 index bb1c65dd..00000000 --- a/src/prost/google.protobuf.rs +++ /dev/null @@ -1,2292 +0,0 @@ -/// `Any` contains an arbitrary serialized protocol buffer message along with a -/// URL that describes the type of the serialized message. -/// -/// Protobuf library provides support to pack/unpack Any values in the form -/// of utility functions or additional generated methods of the Any type. -/// -/// Example 1: Pack and unpack a message in C++. -/// -/// Foo foo = ...; -/// Any any; -/// any.PackFrom(foo); -/// ... -/// if (any.UnpackTo(&foo)) { -/// ... -/// } -/// -/// Example 2: Pack and unpack a message in Java. -/// -/// Foo foo = ...; -/// Any any = Any.pack(foo); -/// ... -/// if (any.is(Foo.class)) { -/// foo = any.unpack(Foo.class); -/// } -/// // or ... -/// if (any.isSameTypeAs(Foo.getDefaultInstance())) { -/// foo = any.unpack(Foo.getDefaultInstance()); -/// } -/// -/// Example 3: Pack and unpack a message in Python. -/// -/// foo = Foo(...) -/// any = Any() -/// any.Pack(foo) -/// ... -/// if any.Is(Foo.DESCRIPTOR): -/// any.Unpack(foo) -/// ... -/// -/// Example 4: Pack and unpack a message in Go -/// -/// foo := &pb.Foo{...} -/// any, err := anypb.New(foo) -/// if err != nil { -/// ... -/// } -/// ... -/// foo := &pb.Foo{} -/// if err := any.UnmarshalTo(foo); err != nil { -/// ... -/// } -/// -/// The pack methods provided by protobuf library will by default use -/// 'type.googleapis.com/full.type.name' as the type URL and the unpack -/// methods only use the fully qualified type name after the last '/' -/// in the type URL, for example "foo.bar.com/x/y.z" will yield type -/// name "y.z". -/// -/// JSON -/// ==== -/// The JSON representation of an `Any` value uses the regular -/// representation of the deserialized, embedded message, with an -/// additional field `@type` which contains the type URL. Example: -/// -/// package google.profile; -/// message Person { -/// string first_name = 1; -/// string last_name = 2; -/// } -/// -/// { -/// "@type": "type.googleapis.com/google.profile.Person", -/// "firstName": , -/// "lastName": -/// } -/// -/// If the embedded message type is well-known and has a custom JSON -/// representation, that representation will be embedded adding a field -/// `value` which holds the custom JSON in addition to the `@type` -/// field. Example (for message [google.protobuf.Duration][]): -/// -/// { -/// "@type": "type.googleapis.com/google.protobuf.Duration", -/// "value": "1.212s" -/// } -/// -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Eq)] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Any { - /// A URL/resource name that uniquely identifies the type of the serialized - /// protocol buffer message. This string must contain at least - /// one "/" character. The last segment of the URL's path must represent - /// the fully qualified name of the type (as in - /// `path/google.protobuf.Duration`). The name should be in a canonical form - /// (e.g., leading "." is not accepted). - /// - /// In practice, teams usually precompile into the binary all types that they - /// expect it to use in the context of Any. However, for URLs which use the - /// scheme `http`, `https`, or no scheme, one can optionally set up a type - /// server that maps type URLs to message definitions as follows: - /// - /// * If no scheme is provided, `https` is assumed. - /// * An HTTP GET on the URL must yield a [google.protobuf.Type][] - /// value in binary format, or produce an error. - /// * Applications are allowed to cache lookup results based on the - /// URL, or have them precompiled into a binary to avoid any - /// lookup. Therefore, binary compatibility needs to be preserved - /// on changes to types. (Use versioned type names to manage - /// breaking changes.) - /// - /// Note: this functionality is not currently available in the official - /// protobuf release, and it is not used for type URLs beginning with - /// type.googleapis.com. As of May 2023, there are no widely used type server - /// implementations and no plans to implement one. - /// - /// Schemes other than `http`, `https` (or the empty scheme) might be - /// used with implementation specific semantics. - /// - #[prost(string, tag = "1")] - pub type_url: ::prost::alloc::string::String, - /// Must be a valid serialized protocol buffer of the above specified type. - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for Any { - const NAME: &'static str = "Any"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// The protocol compiler can output a FileDescriptorSet containing the .proto -/// files it parses. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FileDescriptorSet { - #[prost(message, repeated, tag = "1")] - pub file: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for FileDescriptorSet { - const NAME: &'static str = "FileDescriptorSet"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a complete .proto file. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FileDescriptorProto { - /// file name, relative to root of source tree - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// e.g. "foo", "foo.bar", etc. - #[prost(string, optional, tag = "2")] - pub package: ::core::option::Option<::prost::alloc::string::String>, - /// Names of files imported by this file. - #[prost(string, repeated, tag = "3")] - pub dependency: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Indexes of the public imported files in the dependency list above. - #[prost(int32, repeated, packed = "false", tag = "10")] - pub public_dependency: ::prost::alloc::vec::Vec, - /// Indexes of the weak imported files in the dependency list. - /// For Google-internal migration only. Do not use. - #[prost(int32, repeated, packed = "false", tag = "11")] - pub weak_dependency: ::prost::alloc::vec::Vec, - /// All top-level definitions in this file. - #[prost(message, repeated, tag = "4")] - pub message_type: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub enum_type: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "6")] - pub service: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "7")] - pub extension: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "8")] - pub options: ::core::option::Option, - /// This field contains optional information about the original source code. - /// You may safely remove this entire field without harming runtime - /// functionality of the descriptors -- the information is needed only by - /// development tools. - #[prost(message, optional, tag = "9")] - pub source_code_info: ::core::option::Option, - /// The syntax of the proto file. - /// The supported values are "proto2", "proto3", and "editions". - /// - /// If `edition` is present, this value must be "editions". - #[prost(string, optional, tag = "12")] - pub syntax: ::core::option::Option<::prost::alloc::string::String>, - /// The edition of the proto file, which is an opaque string. - #[prost(string, optional, tag = "13")] - pub edition: ::core::option::Option<::prost::alloc::string::String>, -} -impl ::prost::Name for FileDescriptorProto { - const NAME: &'static str = "FileDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a message type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "2")] - pub field: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "6")] - pub extension: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub nested_type: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "4")] - pub enum_type: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub extension_range: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "8")] - pub oneof_decl: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "7")] - pub options: ::core::option::Option, - #[prost(message, repeated, tag = "9")] - pub reserved_range: ::prost::alloc::vec::Vec, - /// Reserved field names, which may not be used by fields in the same message. - /// A given name may only be reserved once. - #[prost(string, repeated, tag = "10")] - pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// Nested message and enum types in `DescriptorProto`. -pub mod descriptor_proto { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct ExtensionRange { - /// Inclusive. - #[prost(int32, optional, tag = "1")] - pub start: ::core::option::Option, - /// Exclusive. - #[prost(int32, optional, tag = "2")] - pub end: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub options: ::core::option::Option, - } - impl ::prost::Name for ExtensionRange { - const NAME: &'static str = "ExtensionRange"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.DescriptorProto.{}", Self::NAME) - } - } - /// Range of reserved tag numbers. Reserved tag numbers may not be used by - /// fields or extension ranges in the same message. Reserved ranges may - /// not overlap. - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct ReservedRange { - /// Inclusive. - #[prost(int32, optional, tag = "1")] - pub start: ::core::option::Option, - /// Exclusive. - #[prost(int32, optional, tag = "2")] - pub end: ::core::option::Option, - } - impl ::prost::Name for ReservedRange { - const NAME: &'static str = "ReservedRange"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.DescriptorProto.{}", Self::NAME) - } - } -} -impl ::prost::Name for DescriptorProto { - const NAME: &'static str = "DescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ExtensionRangeOptions { - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, - /// For external users: DO NOT USE. We are in the process of open sourcing - /// extension declaration and executing internal cleanups before it can be - /// used externally. - #[prost(message, repeated, tag = "2")] - pub declaration: ::prost::alloc::vec::Vec, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "50")] - pub features: ::core::option::Option, - /// The verification state of the range. - /// TODO(b/278783756): flip the default to DECLARATION once all empty ranges - /// are marked as UNVERIFIED. - #[prost( - enumeration = "extension_range_options::VerificationState", - optional, - tag = "3", - default = "Unverified" - )] - pub verification: ::core::option::Option, -} -/// Nested message and enum types in `ExtensionRangeOptions`. -pub mod extension_range_options { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Declaration { - /// The extension number declared within the extension range. - #[prost(int32, optional, tag = "1")] - pub number: ::core::option::Option, - /// The fully-qualified name of the extension field. There must be a leading - /// dot in front of the full name. - #[prost(string, optional, tag = "2")] - pub full_name: ::core::option::Option<::prost::alloc::string::String>, - /// The fully-qualified type name of the extension field. Unlike - /// Metadata.type, Declaration.type must have a leading dot for messages - /// and enums. - #[prost(string, optional, tag = "3")] - pub r#type: ::core::option::Option<::prost::alloc::string::String>, - /// If true, indicates that the number is reserved in the extension range, - /// and any extension field with the number will fail to compile. Set this - /// when a declared extension field is deleted. - #[prost(bool, optional, tag = "5")] - pub reserved: ::core::option::Option, - /// If true, indicates that the extension must be defined as repeated. - /// Otherwise the extension must be defined as optional. - #[prost(bool, optional, tag = "6")] - pub repeated: ::core::option::Option, - } - impl ::prost::Name for Declaration { - const NAME: &'static str = "Declaration"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "google.protobuf.ExtensionRangeOptions.{}", Self::NAME - ) - } - } - /// The verification state of the extension range. - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum VerificationState { - /// All the extensions of the range must be declared. - Declaration = 0, - Unverified = 1, - } - impl VerificationState { - /// 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 { - VerificationState::Declaration => "DECLARATION", - VerificationState::Unverified => "UNVERIFIED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "DECLARATION" => Some(Self::Declaration), - "UNVERIFIED" => Some(Self::Unverified), - _ => None, - } - } - } -} -impl ::prost::Name for ExtensionRangeOptions { - const NAME: &'static str = "ExtensionRangeOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a field within a message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FieldDescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag = "3")] - pub number: ::core::option::Option, - #[prost(enumeration = "field_descriptor_proto::Label", optional, tag = "4")] - pub label: ::core::option::Option, - /// If type_name is set, this need not be set. If both this and type_name - /// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. - #[prost(enumeration = "field_descriptor_proto::Type", optional, tag = "5")] - pub r#type: ::core::option::Option, - /// For message and enum types, this is the name of the type. If the name - /// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping - /// rules are used to find the type (i.e. first the nested types within this - /// message are searched, then within the parent, on up to the root - /// namespace). - #[prost(string, optional, tag = "6")] - pub type_name: ::core::option::Option<::prost::alloc::string::String>, - /// For extensions, this is the name of the type being extended. It is - /// resolved in the same manner as type_name. - #[prost(string, optional, tag = "2")] - pub extendee: ::core::option::Option<::prost::alloc::string::String>, - /// For numeric types, contains the original text representation of the value. - /// For booleans, "true" or "false". - /// For strings, contains the default text contents (not escaped in any way). - /// For bytes, contains the C escaped value. All bytes >= 128 are escaped. - #[prost(string, optional, tag = "7")] - pub default_value: ::core::option::Option<::prost::alloc::string::String>, - /// If set, gives the index of a oneof in the containing type's oneof_decl - /// list. This field is a member of that oneof. - #[prost(int32, optional, tag = "9")] - pub oneof_index: ::core::option::Option, - /// JSON name of this field. The value is set by protocol compiler. If the - /// user has set a "json_name" option on this field, that option's value - /// will be used. Otherwise, it's deduced from the field's name by converting - /// it to camelCase. - #[prost(string, optional, tag = "10")] - pub json_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "8")] - pub options: ::core::option::Option, - /// If true, this is a proto3 "optional". When a proto3 field is optional, it - /// tracks presence regardless of field type. - /// - /// When proto3_optional is true, this field must be belong to a oneof to - /// signal to old proto3 clients that presence is tracked for this field. This - /// oneof is known as a "synthetic" oneof, and this field must be its sole - /// member (each proto3 optional field gets its own synthetic oneof). Synthetic - /// oneofs exist in the descriptor only, and do not generate any API. Synthetic - /// oneofs must be ordered after all "real" oneofs. - /// - /// For message fields, proto3_optional doesn't create any semantic change, - /// since non-repeated message fields always track presence. However it still - /// indicates the semantic detail of whether the user wrote "optional" or not. - /// This can be useful for round-tripping the .proto file. For consistency we - /// give message fields a synthetic oneof also, even though it is not required - /// to track presence. This is especially important because the parser can't - /// tell if a field is a message or an enum, so it must always create a - /// synthetic oneof. - /// - /// Proto2 optional fields do not set this flag, because they already indicate - /// optional with `LABEL_OPTIONAL`. - #[prost(bool, optional, tag = "17")] - pub proto3_optional: ::core::option::Option, -} -/// Nested message and enum types in `FieldDescriptorProto`. -pub mod field_descriptor_proto { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum Type { - /// 0 is reserved for errors. - /// Order is weird for historical reasons. - Double = 1, - Float = 2, - /// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if - /// negative values are likely. - Int64 = 3, - Uint64 = 4, - /// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if - /// negative values are likely. - Int32 = 5, - Fixed64 = 6, - Fixed32 = 7, - Bool = 8, - String = 9, - /// Tag-delimited aggregate. - /// Group type is deprecated and not supported in proto3. However, Proto3 - /// implementations should still be able to parse the group wire format and - /// treat group fields as unknown fields. - Group = 10, - /// Length-delimited aggregate. - Message = 11, - /// New in version 2. - Bytes = 12, - Uint32 = 13, - Enum = 14, - Sfixed32 = 15, - Sfixed64 = 16, - /// Uses ZigZag encoding. - Sint32 = 17, - /// Uses ZigZag encoding. - Sint64 = 18, - } - impl Type { - /// 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 { - Type::Double => "TYPE_DOUBLE", - Type::Float => "TYPE_FLOAT", - Type::Int64 => "TYPE_INT64", - Type::Uint64 => "TYPE_UINT64", - Type::Int32 => "TYPE_INT32", - Type::Fixed64 => "TYPE_FIXED64", - Type::Fixed32 => "TYPE_FIXED32", - Type::Bool => "TYPE_BOOL", - Type::String => "TYPE_STRING", - Type::Group => "TYPE_GROUP", - Type::Message => "TYPE_MESSAGE", - Type::Bytes => "TYPE_BYTES", - Type::Uint32 => "TYPE_UINT32", - Type::Enum => "TYPE_ENUM", - Type::Sfixed32 => "TYPE_SFIXED32", - Type::Sfixed64 => "TYPE_SFIXED64", - Type::Sint32 => "TYPE_SINT32", - Type::Sint64 => "TYPE_SINT64", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "TYPE_DOUBLE" => Some(Self::Double), - "TYPE_FLOAT" => Some(Self::Float), - "TYPE_INT64" => Some(Self::Int64), - "TYPE_UINT64" => Some(Self::Uint64), - "TYPE_INT32" => Some(Self::Int32), - "TYPE_FIXED64" => Some(Self::Fixed64), - "TYPE_FIXED32" => Some(Self::Fixed32), - "TYPE_BOOL" => Some(Self::Bool), - "TYPE_STRING" => Some(Self::String), - "TYPE_GROUP" => Some(Self::Group), - "TYPE_MESSAGE" => Some(Self::Message), - "TYPE_BYTES" => Some(Self::Bytes), - "TYPE_UINT32" => Some(Self::Uint32), - "TYPE_ENUM" => Some(Self::Enum), - "TYPE_SFIXED32" => Some(Self::Sfixed32), - "TYPE_SFIXED64" => Some(Self::Sfixed64), - "TYPE_SINT32" => Some(Self::Sint32), - "TYPE_SINT64" => Some(Self::Sint64), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum Label { - /// 0 is reserved for errors - Optional = 1, - Required = 2, - Repeated = 3, - } - impl Label { - /// 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 { - Label::Optional => "LABEL_OPTIONAL", - Label::Required => "LABEL_REQUIRED", - Label::Repeated => "LABEL_REPEATED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "LABEL_OPTIONAL" => Some(Self::Optional), - "LABEL_REQUIRED" => Some(Self::Required), - "LABEL_REPEATED" => Some(Self::Repeated), - _ => None, - } - } - } -} -impl ::prost::Name for FieldDescriptorProto { - const NAME: &'static str = "FieldDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a oneof. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct OneofDescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "2")] - pub options: ::core::option::Option, -} -impl ::prost::Name for OneofDescriptorProto { - const NAME: &'static str = "OneofDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes an enum type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnumDescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "2")] - pub value: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub options: ::core::option::Option, - /// Range of reserved numeric values. Reserved numeric values may not be used - /// by enum values in the same enum declaration. Reserved ranges may not - /// overlap. - #[prost(message, repeated, tag = "4")] - pub reserved_range: ::prost::alloc::vec::Vec< - enum_descriptor_proto::EnumReservedRange, - >, - /// Reserved enum value names, which may not be reused. A given name may only - /// be reserved once. - #[prost(string, repeated, tag = "5")] - pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// Nested message and enum types in `EnumDescriptorProto`. -pub mod enum_descriptor_proto { - /// Range of reserved numeric values. Reserved values may not be used by - /// entries in the same enum. Reserved ranges may not overlap. - /// - /// Note that this is distinct from DescriptorProto.ReservedRange in that it - /// is inclusive such that it can appropriately represent the entire int32 - /// domain. - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct EnumReservedRange { - /// Inclusive. - #[prost(int32, optional, tag = "1")] - pub start: ::core::option::Option, - /// Inclusive. - #[prost(int32, optional, tag = "2")] - pub end: ::core::option::Option, - } - impl ::prost::Name for EnumReservedRange { - const NAME: &'static str = "EnumReservedRange"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.EnumDescriptorProto.{}", Self::NAME) - } - } -} -impl ::prost::Name for EnumDescriptorProto { - const NAME: &'static str = "EnumDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a value within an enum. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnumValueDescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag = "2")] - pub number: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub options: ::core::option::Option, -} -impl ::prost::Name for EnumValueDescriptorProto { - const NAME: &'static str = "EnumValueDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a service. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ServiceDescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag = "2")] - pub method: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub options: ::core::option::Option, -} -impl ::prost::Name for ServiceDescriptorProto { - const NAME: &'static str = "ServiceDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes a method of a service. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MethodDescriptorProto { - #[prost(string, optional, tag = "1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - /// Input and output type names. These are resolved in the same way as - /// FieldDescriptorProto.type_name, but must refer to a message type. - #[prost(string, optional, tag = "2")] - pub input_type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag = "3")] - pub output_type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub options: ::core::option::Option, - /// Identifies if client streams multiple client messages - #[prost(bool, optional, tag = "5", default = "false")] - pub client_streaming: ::core::option::Option, - /// Identifies if server streams multiple server messages - #[prost(bool, optional, tag = "6", default = "false")] - pub server_streaming: ::core::option::Option, -} -impl ::prost::Name for MethodDescriptorProto { - const NAME: &'static str = "MethodDescriptorProto"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FileOptions { - /// Sets the Java package where classes generated from this .proto will be - /// placed. By default, the proto package is used, but this is often - /// inappropriate because proto packages do not normally start with backwards - /// domain names. - #[prost(string, optional, tag = "1")] - pub java_package: ::core::option::Option<::prost::alloc::string::String>, - /// Controls the name of the wrapper Java class generated for the .proto file. - /// That class will always contain the .proto file's getDescriptor() method as - /// well as any top-level extensions defined in the .proto file. - /// If java_multiple_files is disabled, then all the other classes from the - /// .proto file will be nested inside the single wrapper outer class. - #[prost(string, optional, tag = "8")] - pub java_outer_classname: ::core::option::Option<::prost::alloc::string::String>, - /// If enabled, then the Java code generator will generate a separate .java - /// file for each top-level message, enum, and service defined in the .proto - /// file. Thus, these types will *not* be nested inside the wrapper class - /// named by java_outer_classname. However, the wrapper class will still be - /// generated to contain the file's getDescriptor() method as well as any - /// top-level extensions defined in the file. - #[prost(bool, optional, tag = "10", default = "false")] - pub java_multiple_files: ::core::option::Option, - /// This option does nothing. - #[deprecated] - #[prost(bool, optional, tag = "20")] - pub java_generate_equals_and_hash: ::core::option::Option, - /// If set true, then the Java2 code generator will generate code that - /// throws an exception whenever an attempt is made to assign a non-UTF-8 - /// byte sequence to a string field. - /// Message reflection will do the same. - /// However, an extension field still accepts non-UTF-8 byte sequences. - /// This option has no effect on when used with the lite runtime. - #[prost(bool, optional, tag = "27", default = "false")] - pub java_string_check_utf8: ::core::option::Option, - #[prost( - enumeration = "file_options::OptimizeMode", - optional, - tag = "9", - default = "Speed" - )] - pub optimize_for: ::core::option::Option, - /// Sets the Go package where structs generated from this .proto will be - /// placed. If omitted, the Go package will be derived from the following: - /// - The basename of the package import path, if provided. - /// - Otherwise, the package statement in the .proto file, if present. - /// - Otherwise, the basename of the .proto file, without extension. - #[prost(string, optional, tag = "11")] - pub go_package: ::core::option::Option<::prost::alloc::string::String>, - /// Should generic services be generated in each language? "Generic" services - /// are not specific to any particular RPC system. They are generated by the - /// main code generators in each language (without additional plugins). - /// Generic services were the only kind of service generation supported by - /// early versions of google.protobuf. - /// - /// Generic services are now considered deprecated in favor of using plugins - /// that generate code specific to your particular RPC system. Therefore, - /// these default to false. Old code which depends on generic services should - /// explicitly set them to true. - #[prost(bool, optional, tag = "16", default = "false")] - pub cc_generic_services: ::core::option::Option, - #[prost(bool, optional, tag = "17", default = "false")] - pub java_generic_services: ::core::option::Option, - #[prost(bool, optional, tag = "18", default = "false")] - pub py_generic_services: ::core::option::Option, - #[prost(bool, optional, tag = "42", default = "false")] - pub php_generic_services: ::core::option::Option, - /// Is this file deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for everything in the file, or it will be completely ignored; in the very - /// least, this is a formalization for deprecating files. - #[prost(bool, optional, tag = "23", default = "false")] - pub deprecated: ::core::option::Option, - /// Enables the use of arenas for the proto messages in this file. This applies - /// only to generated classes for C++. - #[prost(bool, optional, tag = "31", default = "true")] - pub cc_enable_arenas: ::core::option::Option, - /// Sets the objective c class prefix which is prepended to all objective c - /// generated classes from this .proto. There is no default. - #[prost(string, optional, tag = "36")] - pub objc_class_prefix: ::core::option::Option<::prost::alloc::string::String>, - /// Namespace for generated classes; defaults to the package. - #[prost(string, optional, tag = "37")] - pub csharp_namespace: ::core::option::Option<::prost::alloc::string::String>, - /// By default Swift generators will take the proto package and CamelCase it - /// replacing '.' with underscore and use that to prefix the types/symbols - /// defined. When this options is provided, they will use this value instead - /// to prefix the types/symbols defined. - #[prost(string, optional, tag = "39")] - pub swift_prefix: ::core::option::Option<::prost::alloc::string::String>, - /// Sets the php class prefix which is prepended to all php generated classes - /// from this .proto. Default is empty. - #[prost(string, optional, tag = "40")] - pub php_class_prefix: ::core::option::Option<::prost::alloc::string::String>, - /// Use this option to change the namespace of php generated classes. Default - /// is empty. When this option is empty, the package name will be used for - /// determining the namespace. - #[prost(string, optional, tag = "41")] - pub php_namespace: ::core::option::Option<::prost::alloc::string::String>, - /// Use this option to change the namespace of php generated metadata classes. - /// Default is empty. When this option is empty, the proto file name will be - /// used for determining the namespace. - #[prost(string, optional, tag = "44")] - pub php_metadata_namespace: ::core::option::Option<::prost::alloc::string::String>, - /// Use this option to change the package of ruby generated classes. Default - /// is empty. When this option is not set, the package name will be used for - /// determining the ruby package. - #[prost(string, optional, tag = "45")] - pub ruby_package: ::core::option::Option<::prost::alloc::string::String>, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "50")] - pub features: ::core::option::Option, - /// The parser stores options it doesn't recognize here. - /// See the documentation for the "Options" section above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `FileOptions`. -pub mod file_options { - /// Generated classes can be optimized for speed or code size. - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum OptimizeMode { - /// Generate complete code for parsing, serialization, - Speed = 1, - /// etc. - /// - /// Use ReflectionOps to implement these methods. - CodeSize = 2, - /// Generate code using MessageLite and the lite runtime. - LiteRuntime = 3, - } - impl OptimizeMode { - /// 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 { - OptimizeMode::Speed => "SPEED", - OptimizeMode::CodeSize => "CODE_SIZE", - OptimizeMode::LiteRuntime => "LITE_RUNTIME", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "SPEED" => Some(Self::Speed), - "CODE_SIZE" => Some(Self::CodeSize), - "LITE_RUNTIME" => Some(Self::LiteRuntime), - _ => None, - } - } - } -} -impl ::prost::Name for FileOptions { - const NAME: &'static str = "FileOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MessageOptions { - /// Set true to use the old proto1 MessageSet wire format for extensions. - /// This is provided for backwards-compatibility with the MessageSet wire - /// format. You should not use this for any other reason: It's less - /// efficient, has fewer features, and is more complicated. - /// - /// The message must be defined exactly as follows: - /// message Foo { - /// option message_set_wire_format = true; - /// extensions 4 to max; - /// } - /// Note that the message cannot have any defined fields; MessageSets only - /// have extensions. - /// - /// All extensions of your type must be singular messages; e.g. they cannot - /// be int32s, enums, or repeated messages. - /// - /// Because this is an option, the above two restrictions are not enforced by - /// the protocol compiler. - #[prost(bool, optional, tag = "1", default = "false")] - pub message_set_wire_format: ::core::option::Option, - /// Disables the generation of the standard "descriptor()" accessor, which can - /// conflict with a field of the same name. This is meant to make migration - /// from proto1 easier; new code should avoid fields named "descriptor". - #[prost(bool, optional, tag = "2", default = "false")] - pub no_standard_descriptor_accessor: ::core::option::Option, - /// Is this message deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for the message, or it will be completely ignored; in the very least, - /// this is a formalization for deprecating messages. - #[prost(bool, optional, tag = "3", default = "false")] - pub deprecated: ::core::option::Option, - /// NOTE: Do not set the option in .proto files. Always use the maps syntax - /// instead. The option should only be implicitly set by the proto compiler - /// parser. - /// - /// Whether the message is an automatically generated map entry type for the - /// maps field. - /// - /// For maps fields: - /// map map_field = 1; - /// The parsed descriptor looks like: - /// message MapFieldEntry { - /// option map_entry = true; - /// optional KeyType key = 1; - /// optional ValueType value = 2; - /// } - /// repeated MapFieldEntry map_field = 1; - /// - /// Implementations may choose not to generate the map_entry=true message, but - /// use a native map in the target language to hold the keys and values. - /// The reflection APIs in such implementations still need to work as - /// if the field is a repeated message field. - #[prost(bool, optional, tag = "7")] - pub map_entry: ::core::option::Option, - /// Enable the legacy handling of JSON field name conflicts. This lowercases - /// and strips underscored from the fields before comparison in proto3 only. - /// The new behavior takes `json_name` into account and applies to proto2 as - /// well. - /// - /// This should only be used as a temporary measure against broken builds due - /// to the change in behavior for JSON field name conflicts. - /// - /// TODO(b/261750190) This is legacy behavior we plan to remove once downstream - /// teams have had time to migrate. - #[deprecated] - #[prost(bool, optional, tag = "11")] - pub deprecated_legacy_json_field_conflicts: ::core::option::Option, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "12")] - pub features: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MessageOptions { - const NAME: &'static str = "MessageOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FieldOptions { - /// The ctype option instructs the C++ code generator to use a different - /// representation of the field than it normally would. See the specific - /// options below. This option is only implemented to support use of - /// \[ctype=CORD\] and \[ctype=STRING\] (the default) on non-repeated fields of - /// type "bytes" in the open source release -- sorry, we'll try to include - /// other types in a future version! - #[prost( - enumeration = "field_options::CType", - optional, - tag = "1", - default = "String" - )] - pub ctype: ::core::option::Option, - /// The packed option can be enabled for repeated primitive fields to enable - /// a more efficient representation on the wire. Rather than repeatedly - /// writing the tag and type for each element, the entire array is encoded as - /// a single length-delimited blob. In proto3, only explicit setting it to - /// false will avoid using packed encoding. - #[prost(bool, optional, tag = "2")] - pub packed: ::core::option::Option, - /// The jstype option determines the JavaScript type used for values of the - /// field. The option is permitted only for 64 bit integral and fixed types - /// (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING - /// is represented as JavaScript string, which avoids loss of precision that - /// can happen when a large value is converted to a floating point JavaScript. - /// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to - /// use the JavaScript "number" type. The behavior of the default option - /// JS_NORMAL is implementation dependent. - /// - /// This option is an enum to permit additional types to be added, e.g. - /// goog.math.Integer. - #[prost( - enumeration = "field_options::JsType", - optional, - tag = "6", - default = "JsNormal" - )] - pub jstype: ::core::option::Option, - /// Should this field be parsed lazily? Lazy applies only to message-type - /// fields. It means that when the outer message is initially parsed, the - /// inner message's contents will not be parsed but instead stored in encoded - /// form. The inner message will actually be parsed when it is first accessed. - /// - /// This is only a hint. Implementations are free to choose whether to use - /// eager or lazy parsing regardless of the value of this option. However, - /// setting this option true suggests that the protocol author believes that - /// using lazy parsing on this field is worth the additional bookkeeping - /// overhead typically needed to implement it. - /// - /// This option does not affect the public interface of any generated code; - /// all method signatures remain the same. Furthermore, thread-safety of the - /// interface is not affected by this option; const methods remain safe to - /// call from multiple threads concurrently, while non-const methods continue - /// to require exclusive access. - /// - /// Note that implementations may choose not to check required fields within - /// a lazy sub-message. That is, calling IsInitialized() on the outer message - /// may return true even if the inner message has missing required fields. - /// This is necessary because otherwise the inner message would have to be - /// parsed in order to perform the check, defeating the purpose of lazy - /// parsing. An implementation which chooses not to check required fields - /// must be consistent about it. That is, for any particular sub-message, the - /// implementation must either *always* check its required fields, or *never* - /// check its required fields, regardless of whether or not the message has - /// been parsed. - /// - /// As of May 2022, lazy verifies the contents of the byte stream during - /// parsing. An invalid byte stream will cause the overall parsing to fail. - #[prost(bool, optional, tag = "5", default = "false")] - pub lazy: ::core::option::Option, - /// unverified_lazy does no correctness checks on the byte stream. This should - /// only be used where lazy with verification is prohibitive for performance - /// reasons. - #[prost(bool, optional, tag = "15", default = "false")] - pub unverified_lazy: ::core::option::Option, - /// Is this field deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for accessors, or it will be completely ignored; in the very least, this - /// is a formalization for deprecating fields. - #[prost(bool, optional, tag = "3", default = "false")] - pub deprecated: ::core::option::Option, - /// For Google-internal migration only. Do not use. - #[prost(bool, optional, tag = "10", default = "false")] - pub weak: ::core::option::Option, - /// Indicate that the field value should not be printed out when using debug - /// formats, e.g. when the field contains sensitive credentials. - #[prost(bool, optional, tag = "16", default = "false")] - pub debug_redact: ::core::option::Option, - #[prost(enumeration = "field_options::OptionRetention", optional, tag = "17")] - pub retention: ::core::option::Option, - #[prost( - enumeration = "field_options::OptionTargetType", - repeated, - packed = "false", - tag = "19" - )] - pub targets: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "20")] - pub edition_defaults: ::prost::alloc::vec::Vec, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "21")] - pub features: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `FieldOptions`. -pub mod field_options { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct EditionDefault { - #[prost(string, optional, tag = "1")] - pub edition: ::core::option::Option<::prost::alloc::string::String>, - /// Textproto value. - #[prost(string, optional, tag = "2")] - pub value: ::core::option::Option<::prost::alloc::string::String>, - } - impl ::prost::Name for EditionDefault { - const NAME: &'static str = "EditionDefault"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.FieldOptions.{}", Self::NAME) - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum CType { - /// Default mode. - String = 0, - /// The option \[ctype=CORD\] may be applied to a non-repeated field of type - /// "bytes". It indicates that in C++, the data should be stored in a Cord - /// instead of a string. For very large strings, this may reduce memory - /// fragmentation. It may also allow better performance when parsing from a - /// Cord, or when parsing with aliasing enabled, as the parsed Cord may then - /// alias the original buffer. - Cord = 1, - StringPiece = 2, - } - impl CType { - /// 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 { - CType::String => "STRING", - CType::Cord => "CORD", - CType::StringPiece => "STRING_PIECE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "STRING" => Some(Self::String), - "CORD" => Some(Self::Cord), - "STRING_PIECE" => Some(Self::StringPiece), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum JsType { - /// Use the default type. - JsNormal = 0, - /// Use JavaScript strings. - JsString = 1, - /// Use JavaScript numbers. - JsNumber = 2, - } - impl JsType { - /// 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 { - JsType::JsNormal => "JS_NORMAL", - JsType::JsString => "JS_STRING", - JsType::JsNumber => "JS_NUMBER", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "JS_NORMAL" => Some(Self::JsNormal), - "JS_STRING" => Some(Self::JsString), - "JS_NUMBER" => Some(Self::JsNumber), - _ => None, - } - } - } - /// If set to RETENTION_SOURCE, the option will be omitted from the binary. - /// Note: as of January 2023, support for this is in progress and does not yet - /// have an effect (b/264593489). - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum OptionRetention { - RetentionUnknown = 0, - RetentionRuntime = 1, - RetentionSource = 2, - } - impl OptionRetention { - /// 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 { - OptionRetention::RetentionUnknown => "RETENTION_UNKNOWN", - OptionRetention::RetentionRuntime => "RETENTION_RUNTIME", - OptionRetention::RetentionSource => "RETENTION_SOURCE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "RETENTION_UNKNOWN" => Some(Self::RetentionUnknown), - "RETENTION_RUNTIME" => Some(Self::RetentionRuntime), - "RETENTION_SOURCE" => Some(Self::RetentionSource), - _ => None, - } - } - } - /// This indicates the types of entities that the field may apply to when used - /// as an option. If it is unset, then the field may be freely used as an - /// option on any kind of entity. Note: as of January 2023, support for this is - /// in progress and does not yet have an effect (b/264593489). - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum OptionTargetType { - TargetTypeUnknown = 0, - TargetTypeFile = 1, - TargetTypeExtensionRange = 2, - TargetTypeMessage = 3, - TargetTypeField = 4, - TargetTypeOneof = 5, - TargetTypeEnum = 6, - TargetTypeEnumEntry = 7, - TargetTypeService = 8, - TargetTypeMethod = 9, - } - impl OptionTargetType { - /// 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 { - OptionTargetType::TargetTypeUnknown => "TARGET_TYPE_UNKNOWN", - OptionTargetType::TargetTypeFile => "TARGET_TYPE_FILE", - OptionTargetType::TargetTypeExtensionRange => { - "TARGET_TYPE_EXTENSION_RANGE" - } - OptionTargetType::TargetTypeMessage => "TARGET_TYPE_MESSAGE", - OptionTargetType::TargetTypeField => "TARGET_TYPE_FIELD", - OptionTargetType::TargetTypeOneof => "TARGET_TYPE_ONEOF", - OptionTargetType::TargetTypeEnum => "TARGET_TYPE_ENUM", - OptionTargetType::TargetTypeEnumEntry => "TARGET_TYPE_ENUM_ENTRY", - OptionTargetType::TargetTypeService => "TARGET_TYPE_SERVICE", - OptionTargetType::TargetTypeMethod => "TARGET_TYPE_METHOD", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "TARGET_TYPE_UNKNOWN" => Some(Self::TargetTypeUnknown), - "TARGET_TYPE_FILE" => Some(Self::TargetTypeFile), - "TARGET_TYPE_EXTENSION_RANGE" => Some(Self::TargetTypeExtensionRange), - "TARGET_TYPE_MESSAGE" => Some(Self::TargetTypeMessage), - "TARGET_TYPE_FIELD" => Some(Self::TargetTypeField), - "TARGET_TYPE_ONEOF" => Some(Self::TargetTypeOneof), - "TARGET_TYPE_ENUM" => Some(Self::TargetTypeEnum), - "TARGET_TYPE_ENUM_ENTRY" => Some(Self::TargetTypeEnumEntry), - "TARGET_TYPE_SERVICE" => Some(Self::TargetTypeService), - "TARGET_TYPE_METHOD" => Some(Self::TargetTypeMethod), - _ => None, - } - } - } -} -impl ::prost::Name for FieldOptions { - const NAME: &'static str = "FieldOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct OneofOptions { - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "1")] - pub features: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for OneofOptions { - const NAME: &'static str = "OneofOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnumOptions { - /// Set this option to true to allow mapping different tag names to the same - /// value. - #[prost(bool, optional, tag = "2")] - pub allow_alias: ::core::option::Option, - /// Is this enum deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for the enum, or it will be completely ignored; in the very least, this - /// is a formalization for deprecating enums. - #[prost(bool, optional, tag = "3", default = "false")] - pub deprecated: ::core::option::Option, - /// Enable the legacy handling of JSON field name conflicts. This lowercases - /// and strips underscored from the fields before comparison in proto3 only. - /// The new behavior takes `json_name` into account and applies to proto2 as - /// well. - /// TODO(b/261750190) Remove this legacy behavior once downstream teams have - /// had time to migrate. - #[deprecated] - #[prost(bool, optional, tag = "6")] - pub deprecated_legacy_json_field_conflicts: ::core::option::Option, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "7")] - pub features: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for EnumOptions { - const NAME: &'static str = "EnumOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnumValueOptions { - /// Is this enum value deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for the enum value, or it will be completely ignored; in the very least, - /// this is a formalization for deprecating enum values. - #[prost(bool, optional, tag = "1", default = "false")] - pub deprecated: ::core::option::Option, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "2")] - pub features: ::core::option::Option, - /// Indicate that fields annotated with this enum value should not be printed - /// out when using debug formats, e.g. when the field contains sensitive - /// credentials. - #[prost(bool, optional, tag = "3", default = "false")] - pub debug_redact: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for EnumValueOptions { - const NAME: &'static str = "EnumValueOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ServiceOptions { - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "34")] - pub features: ::core::option::Option, - /// Is this service deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for the service, or it will be completely ignored; in the very least, - /// this is a formalization for deprecating services. - #[prost(bool, optional, tag = "33", default = "false")] - pub deprecated: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ServiceOptions { - const NAME: &'static str = "ServiceOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MethodOptions { - /// Is this method deprecated? - /// Depending on the target platform, this can emit Deprecated annotations - /// for the method, or it will be completely ignored; in the very least, - /// this is a formalization for deprecating methods. - #[prost(bool, optional, tag = "33", default = "false")] - pub deprecated: ::core::option::Option, - #[prost( - enumeration = "method_options::IdempotencyLevel", - optional, - tag = "34", - default = "IdempotencyUnknown" - )] - pub idempotency_level: ::core::option::Option, - /// Any features defined in the specific edition. - #[prost(message, optional, tag = "35")] - pub features: ::core::option::Option, - /// The parser stores options it doesn't recognize here. See above. - #[prost(message, repeated, tag = "999")] - pub uninterpreted_option: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `MethodOptions`. -pub mod method_options { - /// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, - /// or neither? HTTP based RPC implementation may choose GET verb for safe - /// methods, and PUT verb for idempotent methods instead of the default POST. - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum IdempotencyLevel { - IdempotencyUnknown = 0, - /// implies idempotent - NoSideEffects = 1, - /// idempotent, but may have side effects - Idempotent = 2, - } - impl IdempotencyLevel { - /// 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 { - IdempotencyLevel::IdempotencyUnknown => "IDEMPOTENCY_UNKNOWN", - IdempotencyLevel::NoSideEffects => "NO_SIDE_EFFECTS", - IdempotencyLevel::Idempotent => "IDEMPOTENT", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "IDEMPOTENCY_UNKNOWN" => Some(Self::IdempotencyUnknown), - "NO_SIDE_EFFECTS" => Some(Self::NoSideEffects), - "IDEMPOTENT" => Some(Self::Idempotent), - _ => None, - } - } - } -} -impl ::prost::Name for MethodOptions { - const NAME: &'static str = "MethodOptions"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// A message representing a option the parser does not recognize. This only -/// appears in options protos created by the compiler::Parser class. -/// DescriptorPool resolves these when building Descriptor objects. Therefore, -/// options protos in descriptor objects (e.g. returned by Descriptor::options(), -/// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions -/// in them. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UninterpretedOption { - #[prost(message, repeated, tag = "2")] - pub name: ::prost::alloc::vec::Vec, - /// The value of the uninterpreted option, in whatever type the tokenizer - /// identified it as during parsing. Exactly one of these should be set. - #[prost(string, optional, tag = "3")] - pub identifier_value: ::core::option::Option<::prost::alloc::string::String>, - #[prost(uint64, optional, tag = "4")] - pub positive_int_value: ::core::option::Option, - #[prost(int64, optional, tag = "5")] - pub negative_int_value: ::core::option::Option, - #[prost(double, optional, tag = "6")] - pub double_value: ::core::option::Option, - #[prost(bytes = "vec", optional, tag = "7")] - pub string_value: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(string, optional, tag = "8")] - pub aggregate_value: ::core::option::Option<::prost::alloc::string::String>, -} -/// Nested message and enum types in `UninterpretedOption`. -pub mod uninterpreted_option { - /// The name of the uninterpreted option. Each string represents a segment in - /// a dot-separated name. is_extension is true iff a segment represents an - /// extension (denoted with parentheses in options specs in .proto files). - /// E.g.,{ \["foo", false\], \["bar.baz", true\], \["moo", false\] } represents - /// "foo.(bar.baz).moo". - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct NamePart { - #[prost(string, required, tag = "1")] - pub name_part: ::prost::alloc::string::String, - #[prost(bool, required, tag = "2")] - pub is_extension: bool, - } - impl ::prost::Name for NamePart { - const NAME: &'static str = "NamePart"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.UninterpretedOption.{}", Self::NAME) - } - } -} -impl ::prost::Name for UninterpretedOption { - const NAME: &'static str = "UninterpretedOption"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// TODO(b/274655146) Enums in C++ gencode (and potentially other languages) are -/// not well scoped. This means that each of the feature enums below can clash -/// with each other. The short names we've chosen maximize call-site -/// readability, but leave us very open to this scenario. A future feature will -/// be designed and implemented to handle this, hopefully before we ever hit a -/// conflict here. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FeatureSet { - #[prost(enumeration = "feature_set::FieldPresence", optional, tag = "1")] - pub field_presence: ::core::option::Option, - #[prost(enumeration = "feature_set::EnumType", optional, tag = "2")] - pub enum_type: ::core::option::Option, - #[prost(enumeration = "feature_set::RepeatedFieldEncoding", optional, tag = "3")] - pub repeated_field_encoding: ::core::option::Option, - #[prost(enumeration = "feature_set::StringFieldValidation", optional, tag = "4")] - pub string_field_validation: ::core::option::Option, - #[prost(enumeration = "feature_set::MessageEncoding", optional, tag = "5")] - pub message_encoding: ::core::option::Option, - #[prost(enumeration = "feature_set::JsonFormat", optional, tag = "6")] - pub json_format: ::core::option::Option, - #[prost(message, optional, boxed, tag = "999")] - pub raw_features: ::core::option::Option<::prost::alloc::boxed::Box>, -} -/// Nested message and enum types in `FeatureSet`. -pub mod feature_set { - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum FieldPresence { - Unknown = 0, - Explicit = 1, - Implicit = 2, - LegacyRequired = 3, - } - impl FieldPresence { - /// 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 { - FieldPresence::Unknown => "FIELD_PRESENCE_UNKNOWN", - FieldPresence::Explicit => "EXPLICIT", - FieldPresence::Implicit => "IMPLICIT", - FieldPresence::LegacyRequired => "LEGACY_REQUIRED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "FIELD_PRESENCE_UNKNOWN" => Some(Self::Unknown), - "EXPLICIT" => Some(Self::Explicit), - "IMPLICIT" => Some(Self::Implicit), - "LEGACY_REQUIRED" => Some(Self::LegacyRequired), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum EnumType { - Unknown = 0, - Open = 1, - Closed = 2, - } - impl EnumType { - /// 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 { - EnumType::Unknown => "ENUM_TYPE_UNKNOWN", - EnumType::Open => "OPEN", - EnumType::Closed => "CLOSED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "ENUM_TYPE_UNKNOWN" => Some(Self::Unknown), - "OPEN" => Some(Self::Open), - "CLOSED" => Some(Self::Closed), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum RepeatedFieldEncoding { - Unknown = 0, - Packed = 1, - Expanded = 2, - } - impl RepeatedFieldEncoding { - /// 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 { - RepeatedFieldEncoding::Unknown => "REPEATED_FIELD_ENCODING_UNKNOWN", - RepeatedFieldEncoding::Packed => "PACKED", - RepeatedFieldEncoding::Expanded => "EXPANDED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "REPEATED_FIELD_ENCODING_UNKNOWN" => Some(Self::Unknown), - "PACKED" => Some(Self::Packed), - "EXPANDED" => Some(Self::Expanded), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum StringFieldValidation { - Unknown = 0, - Mandatory = 1, - Hint = 2, - None = 3, - } - impl StringFieldValidation { - /// 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 { - StringFieldValidation::Unknown => "STRING_FIELD_VALIDATION_UNKNOWN", - StringFieldValidation::Mandatory => "MANDATORY", - StringFieldValidation::Hint => "HINT", - StringFieldValidation::None => "NONE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "STRING_FIELD_VALIDATION_UNKNOWN" => Some(Self::Unknown), - "MANDATORY" => Some(Self::Mandatory), - "HINT" => Some(Self::Hint), - "NONE" => Some(Self::None), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum MessageEncoding { - Unknown = 0, - LengthPrefixed = 1, - Delimited = 2, - } - impl MessageEncoding { - /// 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 { - MessageEncoding::Unknown => "MESSAGE_ENCODING_UNKNOWN", - MessageEncoding::LengthPrefixed => "LENGTH_PREFIXED", - MessageEncoding::Delimited => "DELIMITED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "MESSAGE_ENCODING_UNKNOWN" => Some(Self::Unknown), - "LENGTH_PREFIXED" => Some(Self::LengthPrefixed), - "DELIMITED" => Some(Self::Delimited), - _ => None, - } - } - } - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum JsonFormat { - Unknown = 0, - Allow = 1, - LegacyBestEffort = 2, - } - impl JsonFormat { - /// 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 { - JsonFormat::Unknown => "JSON_FORMAT_UNKNOWN", - JsonFormat::Allow => "ALLOW", - JsonFormat::LegacyBestEffort => "LEGACY_BEST_EFFORT", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "JSON_FORMAT_UNKNOWN" => Some(Self::Unknown), - "ALLOW" => Some(Self::Allow), - "LEGACY_BEST_EFFORT" => Some(Self::LegacyBestEffort), - _ => None, - } - } - } -} -impl ::prost::Name for FeatureSet { - const NAME: &'static str = "FeatureSet"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Encapsulates information about the original source file from which a -/// FileDescriptorProto was generated. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SourceCodeInfo { - /// A Location identifies a piece of source code in a .proto file which - /// corresponds to a particular definition. This information is intended - /// to be useful to IDEs, code indexers, documentation generators, and similar - /// tools. - /// - /// For example, say we have a file like: - /// message Foo { - /// optional string foo = 1; - /// } - /// Let's look at just the field definition: - /// optional string foo = 1; - /// ^ ^^ ^^ ^ ^^^ - /// a bc de f ghi - /// We have the following locations: - /// span path represents - /// \[a,i) [ 4, 0, 2, 0 \] The whole field definition. - /// \[a,b) [ 4, 0, 2, 0, 4 \] The label (optional). - /// \[c,d) [ 4, 0, 2, 0, 5 \] The type (string). - /// \[e,f) [ 4, 0, 2, 0, 1 \] The name (foo). - /// \[g,h) [ 4, 0, 2, 0, 3 \] The number (1). - /// - /// Notes: - /// - A location may refer to a repeated field itself (i.e. not to any - /// particular index within it). This is used whenever a set of elements are - /// logically enclosed in a single code segment. For example, an entire - /// extend block (possibly containing multiple extension definitions) will - /// have an outer location whose path refers to the "extensions" repeated - /// field without an index. - /// - Multiple locations may have the same path. This happens when a single - /// logical declaration is spread out across multiple places. The most - /// obvious example is the "extend" block again -- there may be multiple - /// extend blocks in the same scope, each of which will have the same path. - /// - A location's span is not always a subset of its parent's span. For - /// example, the "extendee" of an extension declaration appears at the - /// beginning of the "extend" block and is shared by all extensions within - /// the block. - /// - Just because a location's span is a subset of some other location's span - /// does not mean that it is a descendant. For example, a "group" defines - /// both a type and a field in a single declaration. Thus, the locations - /// corresponding to the type and field and their components will overlap. - /// - Code which tries to interpret locations should probably be designed to - /// ignore those that it doesn't understand, as more types of locations could - /// be recorded in the future. - #[prost(message, repeated, tag = "1")] - pub location: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `SourceCodeInfo`. -pub mod source_code_info { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Location { - /// Identifies which part of the FileDescriptorProto was defined at this - /// location. - /// - /// Each element is a field number or an index. They form a path from - /// the root FileDescriptorProto to the place where the definition occurs. - /// For example, this path: - /// \[ 4, 3, 2, 7, 1 \] - /// refers to: - /// file.message_type(3) // 4, 3 - /// .field(7) // 2, 7 - /// .name() // 1 - /// This is because FileDescriptorProto.message_type has field number 4: - /// repeated DescriptorProto message_type = 4; - /// and DescriptorProto.field has field number 2: - /// repeated FieldDescriptorProto field = 2; - /// and FieldDescriptorProto.name has field number 1: - /// optional string name = 1; - /// - /// Thus, the above path gives the location of a field name. If we removed - /// the last element: - /// \[ 4, 3, 2, 7 \] - /// this path refers to the whole field declaration (from the beginning - /// of the label to the terminating semicolon). - #[prost(int32, repeated, tag = "1")] - pub path: ::prost::alloc::vec::Vec, - /// Always has exactly three or four elements: start line, start column, - /// end line (optional, otherwise assumed same as start line), end column. - /// These are packed into a single field for efficiency. Note that line - /// and column numbers are zero-based -- typically you will want to add - /// 1 to each before displaying to a user. - #[prost(int32, repeated, tag = "2")] - pub span: ::prost::alloc::vec::Vec, - /// If this SourceCodeInfo represents a complete declaration, these are any - /// comments appearing before and after the declaration which appear to be - /// attached to the declaration. - /// - /// A series of line comments appearing on consecutive lines, with no other - /// tokens appearing on those lines, will be treated as a single comment. - /// - /// leading_detached_comments will keep paragraphs of comments that appear - /// before (but not connected to) the current element. Each paragraph, - /// separated by empty lines, will be one comment element in the repeated - /// field. - /// - /// Only the comment content is provided; comment markers (e.g. //) are - /// stripped out. For block comments, leading whitespace and an asterisk - /// will be stripped from the beginning of each line other than the first. - /// Newlines are included in the output. - /// - /// Examples: - /// - /// optional int32 foo = 1; // Comment attached to foo. - /// // Comment attached to bar. - /// optional int32 bar = 2; - /// - /// optional string baz = 3; - /// // Comment attached to baz. - /// // Another line attached to baz. - /// - /// // Comment attached to moo. - /// // - /// // Another line attached to moo. - /// optional double moo = 4; - /// - /// // Detached comment for corge. This is not leading or trailing comments - /// // to moo or corge because there are blank lines separating it from - /// // both. - /// - /// // Detached comment for corge paragraph 2. - /// - /// optional string corge = 5; - /// /* Block comment attached - /// * to corge. Leading asterisks - /// * will be removed. */ - /// /* Block comment attached to - /// * grault. */ - /// optional int32 grault = 6; - /// - /// // ignored detached comments. - #[prost(string, optional, tag = "3")] - pub leading_comments: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag = "4")] - pub trailing_comments: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag = "6")] - pub leading_detached_comments: ::prost::alloc::vec::Vec< - ::prost::alloc::string::String, - >, - } - impl ::prost::Name for Location { - const NAME: &'static str = "Location"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.SourceCodeInfo.{}", Self::NAME) - } - } -} -impl ::prost::Name for SourceCodeInfo { - const NAME: &'static str = "SourceCodeInfo"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// Describes the relationship between generated code and its original source -/// file. A GeneratedCodeInfo message is associated with only one generated -/// source file, but may contain references to different source .proto files. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GeneratedCodeInfo { - /// An Annotation connects some span of text in generated code to an element - /// of its generating .proto file. - #[prost(message, repeated, tag = "1")] - pub annotation: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `GeneratedCodeInfo`. -pub mod generated_code_info { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Annotation { - /// Identifies the element in the original source .proto file. This field - /// is formatted the same as SourceCodeInfo.Location.path. - #[prost(int32, repeated, tag = "1")] - pub path: ::prost::alloc::vec::Vec, - /// Identifies the filesystem path to the original source .proto. - #[prost(string, optional, tag = "2")] - pub source_file: ::core::option::Option<::prost::alloc::string::String>, - /// Identifies the starting offset in bytes in the generated code - /// that relates to the identified object. - #[prost(int32, optional, tag = "3")] - pub begin: ::core::option::Option, - /// Identifies the ending offset in bytes in the generated code that - /// relates to the identified object. The end offset should be one past - /// the last relevant byte (so the length of the text = end - begin). - #[prost(int32, optional, tag = "4")] - pub end: ::core::option::Option, - #[prost(enumeration = "annotation::Semantic", optional, tag = "5")] - pub semantic: ::core::option::Option, - } - /// Nested message and enum types in `Annotation`. - pub mod annotation { - /// Represents the identified object's effect on the element in the original - /// .proto file. - #[derive( - Clone, - Copy, - Debug, - PartialEq, - Eq, - Hash, - PartialOrd, - Ord, - ::prost::Enumeration - )] - #[repr(i32)] - pub enum Semantic { - /// There is no effect or the effect is indescribable. - None = 0, - /// The element is set or otherwise mutated. - Set = 1, - /// An alias to the element is returned. - Alias = 2, - } - impl Semantic { - /// 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 { - Semantic::None => "NONE", - Semantic::Set => "SET", - Semantic::Alias => "ALIAS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "NONE" => Some(Self::None), - "SET" => Some(Self::Set), - "ALIAS" => Some(Self::Alias), - _ => None, - } - } - } - } - impl ::prost::Name for Annotation { - const NAME: &'static str = "Annotation"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.GeneratedCodeInfo.{}", Self::NAME) - } - } -} -impl ::prost::Name for GeneratedCodeInfo { - const NAME: &'static str = "GeneratedCodeInfo"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// A Timestamp represents a point in time independent of any time zone or local -/// calendar, encoded as a count of seconds and fractions of seconds at -/// nanosecond resolution. The count is relative to an epoch at UTC midnight on -/// January 1, 1970, in the proleptic Gregorian calendar which extends the -/// Gregorian calendar backwards to year one. -/// -/// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap -/// second table is needed for interpretation, using a [24-hour linear -/// smear](). -/// -/// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By -/// restricting to that range, we ensure that we can convert to and from [RFC -/// 3339]() date strings. -/// -/// # Examples -/// -/// Example 1: Compute Timestamp from POSIX `time()`. -/// -/// Timestamp timestamp; -/// timestamp.set_seconds(time(NULL)); -/// timestamp.set_nanos(0); -/// -/// Example 2: Compute Timestamp from POSIX `gettimeofday()`. -/// -/// struct timeval tv; -/// gettimeofday(&tv, NULL); -/// -/// Timestamp timestamp; -/// timestamp.set_seconds(tv.tv_sec); -/// timestamp.set_nanos(tv.tv_usec * 1000); -/// -/// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. -/// -/// FILETIME ft; -/// GetSystemTimeAsFileTime(&ft); -/// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; -/// -/// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z -/// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. -/// Timestamp timestamp; -/// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); -/// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); -/// -/// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. -/// -/// long millis = System.currentTimeMillis(); -/// -/// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) -/// .setNanos((int) ((millis % 1000) * 1000000)).build(); -/// -/// Example 5: Compute Timestamp from Java `Instant.now()`. -/// -/// Instant now = Instant.now(); -/// -/// Timestamp timestamp = -/// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) -/// .setNanos(now.getNano()).build(); -/// -/// Example 6: Compute Timestamp from current time in Python. -/// -/// timestamp = Timestamp() -/// timestamp.GetCurrentTime() -/// -/// # JSON Mapping -/// -/// In JSON format, the Timestamp type is encoded as a string in the -/// [RFC 3339]() format. That is, the -/// format is "{year}-{month}-{day}T{hour}:{min}:{sec}\[.{frac_sec}\]Z" -/// where {year} is always expressed using four digits while {month}, {day}, -/// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional -/// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), -/// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone -/// is required. A proto3 JSON serializer should always use UTC (as indicated by -/// "Z") when printing the Timestamp type and a proto3 JSON parser should be -/// able to accept both UTC and other timezones (as indicated by an offset). -/// -/// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past -/// 01:30 UTC on January 15, 2017. -/// -/// In JavaScript, one can convert a Date object to this format using the -/// standard -/// [toISOString()]() -/// method. In Python, a standard `datetime.datetime` object can be converted -/// to this format using -/// [`strftime`]() with -/// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use -/// the Joda Time's [`ISODateTimeFormat.dateTime()`]( -/// ) -/// ) to obtain a formatter capable of generating timestamps in this format. -/// -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Timestamp { - /// Represents seconds of UTC time since Unix epoch - /// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - /// 9999-12-31T23:59:59Z inclusive. - #[prost(int64, tag = "1")] - pub seconds: i64, - /// Non-negative fractions of a second at nanosecond resolution. Negative - /// second values with fractions must still have non-negative nanos values - /// that count forward in time. Must be from 0 to 999,999,999 - /// inclusive. - #[prost(int32, tag = "2")] - pub nanos: i32, -} -impl ::prost::Name for Timestamp { - const NAME: &'static str = "Timestamp"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} -/// A Duration represents a signed, fixed-length span of time represented -/// as a count of seconds and fractions of seconds at nanosecond -/// resolution. It is independent of any calendar and concepts like "day" -/// or "month". It is related to Timestamp in that the difference between -/// two Timestamp values is a Duration and it can be added or subtracted -/// from a Timestamp. Range is approximately +-10,000 years. -/// -/// # Examples -/// -/// Example 1: Compute Duration from two Timestamps in pseudo code. -/// -/// Timestamp start = ...; -/// Timestamp end = ...; -/// Duration duration = ...; -/// -/// duration.seconds = end.seconds - start.seconds; -/// duration.nanos = end.nanos - start.nanos; -/// -/// if (duration.seconds < 0 && duration.nanos > 0) { -/// duration.seconds += 1; -/// duration.nanos -= 1000000000; -/// } else if (duration.seconds > 0 && duration.nanos < 0) { -/// duration.seconds -= 1; -/// duration.nanos += 1000000000; -/// } -/// -/// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. -/// -/// Timestamp start = ...; -/// Duration duration = ...; -/// Timestamp end = ...; -/// -/// end.seconds = start.seconds + duration.seconds; -/// end.nanos = start.nanos + duration.nanos; -/// -/// if (end.nanos < 0) { -/// end.seconds -= 1; -/// end.nanos += 1000000000; -/// } else if (end.nanos >= 1000000000) { -/// end.seconds += 1; -/// end.nanos -= 1000000000; -/// } -/// -/// Example 3: Compute Duration from datetime.timedelta in Python. -/// -/// td = datetime.timedelta(days=3, minutes=10) -/// duration = Duration() -/// duration.FromTimedelta(td) -/// -/// # JSON Mapping -/// -/// In JSON format, the Duration type is encoded as a string rather than an -/// object, where the string ends in the suffix "s" (indicating seconds) and -/// is preceded by the number of seconds, with nanoseconds expressed as -/// fractional seconds. For example, 3 seconds with 0 nanoseconds should be -/// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should -/// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 -/// microsecond should be expressed in JSON format as "3.000001s". -/// -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Eq)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Duration { - /// Signed seconds of the span of time. Must be from -315,576,000,000 - /// to +315,576,000,000 inclusive. Note: these bounds are computed from: - /// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years - #[prost(int64, tag = "1")] - pub seconds: i64, - /// Signed fractions of a second at nanosecond resolution of the span - /// of time. Durations less than one second are represented with a 0 - /// `seconds` field and a positive or negative `nanos` field. For durations - /// of one second or more, a non-zero value for the `nanos` field must be - /// of the same sign as the `seconds` field. Must be from -999,999,999 - /// to +999,999,999 inclusive. - #[prost(int32, tag = "2")] - pub nanos: i32, -} -impl ::prost::Name for Duration { - const NAME: &'static str = "Duration"; - const PACKAGE: &'static str = "google.protobuf"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("google.protobuf.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.applications.fee.v1.rs b/src/prost/ibc.applications.fee.v1.rs deleted file mode 100644 index 9d798dce..00000000 --- a/src/prost/ibc.applications.fee.v1.rs +++ /dev/null @@ -1,2367 +0,0 @@ -/// Fee defines the ICS29 receive, acknowledgement and timeout fees -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Fee { - /// the packet receive fee - #[prost(message, repeated, tag = "1")] - pub recv_fee: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, - /// the packet acknowledgement fee - #[prost(message, repeated, tag = "2")] - pub ack_fee: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, - /// the packet timeout fee - #[prost(message, repeated, tag = "3")] - pub timeout_fee: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for Fee { - const NAME: &'static str = "Fee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketFee { - /// fee encapsulates the recv, ack and timeout fees associated with an IBC packet - #[prost(message, optional, tag = "1")] - pub fee: ::core::option::Option, - /// the refund address for unspent fees - #[prost(string, tag = "2")] - pub refund_address: ::prost::alloc::string::String, - /// optional list of relayers permitted to receive fees - #[prost(string, repeated, tag = "3")] - pub relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for PacketFee { - const NAME: &'static str = "PacketFee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// PacketFees contains a list of type PacketFee -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketFees { - /// list of packet fees - #[prost(message, repeated, tag = "1")] - pub packet_fees: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PacketFees { - const NAME: &'static str = "PacketFees"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// IdentifiedPacketFees contains a list of type PacketFee and associated PacketId -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IdentifiedPacketFees { - /// unique packet identifier comprised of the channel ID, port ID and sequence - #[prost(message, optional, tag = "1")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, - /// list of packet fees - #[prost(message, repeated, tag = "2")] - pub packet_fees: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for IdentifiedPacketFees { - const NAME: &'static str = "IdentifiedPacketFees"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgRegisterPayee defines the request type for the RegisterPayee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRegisterPayee { - /// unique port identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// unique channel identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - /// the relayer address - #[prost(string, tag = "3")] - pub relayer: ::prost::alloc::string::String, - /// the payee address - #[prost(string, tag = "4")] - pub payee: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgRegisterPayee { - const NAME: &'static str = "MsgRegisterPayee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRegisterPayeeResponse {} -impl ::prost::Name for MsgRegisterPayeeResponse { - const NAME: &'static str = "MsgRegisterPayeeResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRegisterCounterpartyPayee { - /// unique port identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// unique channel identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - /// the relayer address - #[prost(string, tag = "3")] - pub relayer: ::prost::alloc::string::String, - /// the counterparty payee address - #[prost(string, tag = "4")] - pub counterparty_payee: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgRegisterCounterpartyPayee { - const NAME: &'static str = "MsgRegisterCounterpartyPayee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRegisterCounterpartyPayeeResponse {} -impl ::prost::Name for MsgRegisterCounterpartyPayeeResponse { - const NAME: &'static str = "MsgRegisterCounterpartyPayeeResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgPayPacketFee defines the request type for the PayPacketFee rpc -/// This Msg can be used to pay for a packet at the next sequence send & should be combined with the Msg that will be -/// paid for -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgPayPacketFee { - /// fee encapsulates the recv, ack and timeout fees associated with an IBC packet - #[prost(message, optional, tag = "1")] - pub fee: ::core::option::Option, - /// the source port unique identifier - #[prost(string, tag = "2")] - pub source_port_id: ::prost::alloc::string::String, - /// the source channel unique identifer - #[prost(string, tag = "3")] - pub source_channel_id: ::prost::alloc::string::String, - /// account address to refund fee if necessary - #[prost(string, tag = "4")] - pub signer: ::prost::alloc::string::String, - /// optional list of relayers permitted to the receive packet fees - #[prost(string, repeated, tag = "5")] - pub relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for MsgPayPacketFee { - const NAME: &'static str = "MsgPayPacketFee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgPayPacketFeeResponse {} -impl ::prost::Name for MsgPayPacketFeeResponse { - const NAME: &'static str = "MsgPayPacketFeeResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc -/// This Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send) -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgPayPacketFeeAsync { - /// unique packet identifier comprised of the channel ID, port ID and sequence - #[prost(message, optional, tag = "1")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, - /// the packet fee associated with a particular IBC packet - #[prost(message, optional, tag = "2")] - pub packet_fee: ::core::option::Option, -} -impl ::prost::Name for MsgPayPacketFeeAsync { - const NAME: &'static str = "MsgPayPacketFeeAsync"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgPayPacketFeeAsyncResponse {} -impl ::prost::Name for MsgPayPacketFeeAsyncResponse { - const NAME: &'static str = "MsgPayPacketFeeAsyncResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the ICS29 Msg service. - #[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 - } - /// RegisterPayee defines a rpc handler method for MsgRegisterPayee - /// RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional - /// payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on - /// the source chain from which packets originate as this is where fee distribution takes place. This function may be - /// called more than once by a relayer, in which case, the latest payee is always used. - pub async fn register_payee( - &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.applications.fee.v1.Msg/RegisterPayee", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.applications.fee.v1.Msg", "RegisterPayee")); - self.inner.unary(req, path, codec).await - } - /// RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee - /// RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty - /// payee address before relaying. This ensures they will be properly compensated for forward relaying since - /// the destination chain must include the registered counterparty payee address in the acknowledgement. This function - /// may be called more than once by a relayer, in which case, the latest counterparty payee address is always used. - pub async fn register_counterparty_payee( - &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.applications.fee.v1.Msg/RegisterCounterpartyPayee", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.fee.v1.Msg", - "RegisterCounterpartyPayee", - ), - ); - self.inner.unary(req, path, codec).await - } - /// PayPacketFee defines a rpc handler method for MsgPayPacketFee - /// PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to - /// incentivize the relaying of the packet at the next sequence - /// NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows - /// initiates the lifecycle of the incentivized packet - pub async fn pay_packet_fee( - &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.applications.fee.v1.Msg/PayPacketFee", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.applications.fee.v1.Msg", "PayPacketFee")); - self.inner.unary(req, path, codec).await - } - /// PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync - /// PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to - /// incentivize the relaying of a known packet (i.e. at a particular sequence) - pub async fn pay_packet_fee_async( - &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.applications.fee.v1.Msg/PayPacketFeeAsync", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.fee.v1.Msg", "PayPacketFeeAsync"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// RegisterPayee defines a rpc handler method for MsgRegisterPayee - /// RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional - /// payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on - /// the source chain from which packets originate as this is where fee distribution takes place. This function may be - /// called more than once by a relayer, in which case, the latest payee is always used. - async fn register_payee( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee - /// RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty - /// payee address before relaying. This ensures they will be properly compensated for forward relaying since - /// the destination chain must include the registered counterparty payee address in the acknowledgement. This function - /// may be called more than once by a relayer, in which case, the latest counterparty payee address is always used. - async fn register_counterparty_payee( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PayPacketFee defines a rpc handler method for MsgPayPacketFee - /// PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to - /// incentivize the relaying of the packet at the next sequence - /// NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows - /// initiates the lifecycle of the incentivized packet - async fn pay_packet_fee( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync - /// PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to - /// incentivize the relaying of a known packet (i.e. at a particular sequence) - async fn pay_packet_fee_async( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the ICS29 Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.fee.v1.Msg/RegisterPayee" => { - #[allow(non_camel_case_types)] - struct RegisterPayeeSvc(pub Arc); - impl tonic::server::UnaryService - for RegisterPayeeSvc { - type Response = super::MsgRegisterPayeeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::register_payee(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RegisterPayeeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee" => { - #[allow(non_camel_case_types)] - struct RegisterCounterpartyPayeeSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for RegisterCounterpartyPayeeSvc { - type Response = super::MsgRegisterCounterpartyPayeeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::register_counterparty_payee(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RegisterCounterpartyPayeeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Msg/PayPacketFee" => { - #[allow(non_camel_case_types)] - struct PayPacketFeeSvc(pub Arc); - impl tonic::server::UnaryService - for PayPacketFeeSvc { - type Response = super::MsgPayPacketFeeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::pay_packet_fee(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PayPacketFeeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Msg/PayPacketFeeAsync" => { - #[allow(non_camel_case_types)] - struct PayPacketFeeAsyncSvc(pub Arc); - impl tonic::server::UnaryService - for PayPacketFeeAsyncSvc { - type Response = super::MsgPayPacketFeeAsyncResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::pay_packet_fee_async(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PayPacketFeeAsyncSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.applications.fee.v1.Msg"; - } -} -/// IncentivizedAcknowledgement is the acknowledgement format to be used by applications wrapped in the fee middleware -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IncentivizedAcknowledgement { - /// the underlying app acknowledgement bytes - #[prost(bytes = "vec", tag = "1")] - pub app_acknowledgement: ::prost::alloc::vec::Vec, - /// the relayer address which submits the recv packet message - #[prost(string, tag = "2")] - pub forward_relayer_address: ::prost::alloc::string::String, - /// success flag of the base application callback - #[prost(bool, tag = "3")] - pub underlying_app_success: bool, -} -impl ::prost::Name for IncentivizedAcknowledgement { - const NAME: &'static str = "IncentivizedAcknowledgement"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// GenesisState defines the ICS29 fee middleware genesis state -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// list of identified packet fees - #[prost(message, repeated, tag = "1")] - pub identified_fees: ::prost::alloc::vec::Vec, - /// list of fee enabled channels - #[prost(message, repeated, tag = "2")] - pub fee_enabled_channels: ::prost::alloc::vec::Vec, - /// list of registered payees - #[prost(message, repeated, tag = "3")] - pub registered_payees: ::prost::alloc::vec::Vec, - /// list of registered counterparty payees - #[prost(message, repeated, tag = "4")] - pub registered_counterparty_payees: ::prost::alloc::vec::Vec< - RegisteredCounterpartyPayee, - >, - /// list of forward relayer addresses - #[prost(message, repeated, tag = "5")] - pub forward_relayers: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// FeeEnabledChannel contains the PortID & ChannelID for a fee enabled channel -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FeeEnabledChannel { - /// unique port identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// unique channel identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, -} -impl ::prost::Name for FeeEnabledChannel { - const NAME: &'static str = "FeeEnabledChannel"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// RegisteredPayee contains the relayer address and payee address for a specific channel -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RegisteredPayee { - /// unique channel identifier - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - /// the relayer address - #[prost(string, tag = "2")] - pub relayer: ::prost::alloc::string::String, - /// the payee address - #[prost(string, tag = "3")] - pub payee: ::prost::alloc::string::String, -} -impl ::prost::Name for RegisteredPayee { - const NAME: &'static str = "RegisteredPayee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// RegisteredCounterpartyPayee contains the relayer address and counterparty payee address for a specific channel (used -/// for recv fee distribution) -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RegisteredCounterpartyPayee { - /// unique channel identifier - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - /// the relayer address - #[prost(string, tag = "2")] - pub relayer: ::prost::alloc::string::String, - /// the counterparty payee address - #[prost(string, tag = "3")] - pub counterparty_payee: ::prost::alloc::string::String, -} -impl ::prost::Name for RegisteredCounterpartyPayee { - const NAME: &'static str = "RegisteredCounterpartyPayee"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// ForwardRelayerAddress contains the forward relayer address and PacketId used for async acknowledgements -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ForwardRelayerAddress { - /// the forward relayer address - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// unique packet identifer comprised of the channel ID, port ID and sequence - #[prost(message, optional, tag = "2")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, -} -impl ::prost::Name for ForwardRelayerAddress { - const NAME: &'static str = "ForwardRelayerAddress"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryIncentivizedPacketsRequest defines the request type for the IncentivizedPackets rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryIncentivizedPacketsRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - /// block height at which to query - #[prost(uint64, tag = "2")] - pub query_height: u64, -} -impl ::prost::Name for QueryIncentivizedPacketsRequest { - const NAME: &'static str = "QueryIncentivizedPacketsRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryIncentivizedPacketsResponse { - /// list of identified fees for incentivized packets - #[prost(message, repeated, tag = "1")] - pub incentivized_packets: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryIncentivizedPacketsResponse { - const NAME: &'static str = "QueryIncentivizedPacketsResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryIncentivizedPacketRequest defines the request type for the IncentivizedPacket rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryIncentivizedPacketRequest { - /// unique packet identifier comprised of channel ID, port ID and sequence - #[prost(message, optional, tag = "1")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, - /// block height at which to query - #[prost(uint64, tag = "2")] - pub query_height: u64, -} -impl ::prost::Name for QueryIncentivizedPacketRequest { - const NAME: &'static str = "QueryIncentivizedPacketRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryIncentivizedPacketResponse { - /// the identified fees for the incentivized packet - #[prost(message, optional, tag = "1")] - pub incentivized_packet: ::core::option::Option, -} -impl ::prost::Name for QueryIncentivizedPacketResponse { - const NAME: &'static str = "QueryIncentivizedPacketResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryIncentivizedPacketsForChannelRequest defines the request type for querying for all incentivized packets -/// for a specific channel -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryIncentivizedPacketsForChannelRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - #[prost(string, tag = "2")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub channel_id: ::prost::alloc::string::String, - /// Height to query at - #[prost(uint64, tag = "4")] - pub query_height: u64, -} -impl ::prost::Name for QueryIncentivizedPacketsForChannelRequest { - const NAME: &'static str = "QueryIncentivizedPacketsForChannelRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryIncentivizedPacketsForChannelResponse { - /// Map of all incentivized_packets - #[prost(message, repeated, tag = "1")] - pub incentivized_packets: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryIncentivizedPacketsForChannelResponse { - const NAME: &'static str = "QueryIncentivizedPacketsForChannelResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryTotalRecvFeesRequest defines the request type for the TotalRecvFees rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTotalRecvFeesRequest { - /// the packet identifier for the associated fees - #[prost(message, optional, tag = "1")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, -} -impl ::prost::Name for QueryTotalRecvFeesRequest { - const NAME: &'static str = "QueryTotalRecvFeesRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTotalRecvFeesResponse { - /// the total packet receive fees - #[prost(message, repeated, tag = "1")] - pub recv_fees: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for QueryTotalRecvFeesResponse { - const NAME: &'static str = "QueryTotalRecvFeesResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryTotalAckFeesRequest defines the request type for the TotalAckFees rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTotalAckFeesRequest { - /// the packet identifier for the associated fees - #[prost(message, optional, tag = "1")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, -} -impl ::prost::Name for QueryTotalAckFeesRequest { - const NAME: &'static str = "QueryTotalAckFeesRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTotalAckFeesResponse { - /// the total packet acknowledgement fees - #[prost(message, repeated, tag = "1")] - pub ack_fees: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for QueryTotalAckFeesResponse { - const NAME: &'static str = "QueryTotalAckFeesResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryTotalTimeoutFeesRequest defines the request type for the TotalTimeoutFees rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTotalTimeoutFeesRequest { - /// the packet identifier for the associated fees - #[prost(message, optional, tag = "1")] - pub packet_id: ::core::option::Option< - super::super::super::core::channel::v1::PacketId, - >, -} -impl ::prost::Name for QueryTotalTimeoutFeesRequest { - const NAME: &'static str = "QueryTotalTimeoutFeesRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryTotalTimeoutFeesResponse { - /// the total packet timeout fees - #[prost(message, repeated, tag = "1")] - pub timeout_fees: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for QueryTotalTimeoutFeesResponse { - const NAME: &'static str = "QueryTotalTimeoutFeesResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryPayeeRequest defines the request type for the Payee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPayeeRequest { - /// unique channel identifier - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - /// the relayer address to which the distribution address is registered - #[prost(string, tag = "2")] - pub relayer: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryPayeeRequest { - const NAME: &'static str = "QueryPayeeRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryPayeeResponse defines the response type for the Payee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryPayeeResponse { - /// the payee address to which packet fees are paid out - #[prost(string, tag = "1")] - pub payee_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryPayeeResponse { - const NAME: &'static str = "QueryPayeeResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryCounterpartyPayeeRequest defines the request type for the CounterpartyPayee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryCounterpartyPayeeRequest { - /// unique channel identifier - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - /// the relayer address to which the counterparty is registered - #[prost(string, tag = "2")] - pub relayer: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryCounterpartyPayeeRequest { - const NAME: &'static str = "QueryCounterpartyPayeeRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryCounterpartyPayeeResponse { - /// the counterparty payee address used to compensate forward relaying - #[prost(string, tag = "1")] - pub counterparty_payee: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryCounterpartyPayeeResponse { - const NAME: &'static str = "QueryCounterpartyPayeeResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryFeeEnabledChannelsRequest defines the request type for the FeeEnabledChannels rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryFeeEnabledChannelsRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - /// block height at which to query - #[prost(uint64, tag = "2")] - pub query_height: u64, -} -impl ::prost::Name for QueryFeeEnabledChannelsRequest { - const NAME: &'static str = "QueryFeeEnabledChannelsRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryFeeEnabledChannelsResponse { - /// list of fee enabled channels - #[prost(message, repeated, tag = "1")] - pub fee_enabled_channels: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryFeeEnabledChannelsResponse { - const NAME: &'static str = "QueryFeeEnabledChannelsResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryFeeEnabledChannelRequest defines the request type for the FeeEnabledChannel rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryFeeEnabledChannelRequest { - /// unique port identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// unique channel identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryFeeEnabledChannelRequest { - const NAME: &'static str = "QueryFeeEnabledChannelRequest"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryFeeEnabledChannelResponse { - /// boolean flag representing the fee enabled channel status - #[prost(bool, tag = "1")] - pub fee_enabled: bool, -} -impl ::prost::Name for QueryFeeEnabledChannelResponse { - const NAME: &'static str = "QueryFeeEnabledChannelResponse"; - const PACKAGE: &'static str = "ibc.applications.fee.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query defines the ICS29 gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// IncentivizedPackets returns all incentivized packets and their associated fees - pub async fn incentivized_packets( - &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.applications.fee.v1.Query/IncentivizedPackets", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.fee.v1.Query", - "IncentivizedPackets", - ), - ); - self.inner.unary(req, path, codec).await - } - /// IncentivizedPacket returns all packet fees for a packet given its identifier - pub async fn incentivized_packet( - &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.applications.fee.v1.Query/IncentivizedPacket", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.fee.v1.Query", - "IncentivizedPacket", - ), - ); - self.inner.unary(req, path, codec).await - } - /// Gets all incentivized packets for a specific channel - pub async fn incentivized_packets_for_channel( - &mut self, - request: impl tonic::IntoRequest< - super::QueryIncentivizedPacketsForChannelRequest, - >, - ) -> 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.applications.fee.v1.Query/IncentivizedPacketsForChannel", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.fee.v1.Query", - "IncentivizedPacketsForChannel", - ), - ); - self.inner.unary(req, path, codec).await - } - /// TotalRecvFees returns the total receive fees for a packet given its identifier - pub async fn total_recv_fees( - &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.applications.fee.v1.Query/TotalRecvFees", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.fee.v1.Query", "TotalRecvFees"), - ); - self.inner.unary(req, path, codec).await - } - /// TotalAckFees returns the total acknowledgement fees for a packet given its identifier - pub async fn total_ack_fees( - &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.applications.fee.v1.Query/TotalAckFees", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.fee.v1.Query", "TotalAckFees"), - ); - self.inner.unary(req, path, codec).await - } - /// TotalTimeoutFees returns the total timeout fees for a packet given its identifier - pub async fn total_timeout_fees( - &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.applications.fee.v1.Query/TotalTimeoutFees", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.fee.v1.Query", "TotalTimeoutFees"), - ); - self.inner.unary(req, path, codec).await - } - /// Payee returns the registered payee address for a specific channel given the relayer address - pub async fn payee( - &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.applications.fee.v1.Query/Payee", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.applications.fee.v1.Query", "Payee")); - self.inner.unary(req, path, codec).await - } - /// CounterpartyPayee returns the registered counterparty payee for forward relaying - pub async fn counterparty_payee( - &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.applications.fee.v1.Query/CounterpartyPayee", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.fee.v1.Query", "CounterpartyPayee"), - ); - self.inner.unary(req, path, codec).await - } - /// FeeEnabledChannels returns a list of all fee enabled channels - pub async fn fee_enabled_channels( - &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.applications.fee.v1.Query/FeeEnabledChannels", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.fee.v1.Query", - "FeeEnabledChannels", - ), - ); - self.inner.unary(req, path, codec).await - } - /// FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel - pub async fn fee_enabled_channel( - &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.applications.fee.v1.Query/FeeEnabledChannel", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.fee.v1.Query", "FeeEnabledChannel"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// IncentivizedPackets returns all incentivized packets and their associated fees - async fn incentivized_packets( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// IncentivizedPacket returns all packet fees for a packet given its identifier - async fn incentivized_packet( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Gets all incentivized packets for a specific channel - async fn incentivized_packets_for_channel( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TotalRecvFees returns the total receive fees for a packet given its identifier - async fn total_recv_fees( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TotalAckFees returns the total acknowledgement fees for a packet given its identifier - async fn total_ack_fees( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TotalTimeoutFees returns the total timeout fees for a packet given its identifier - async fn total_timeout_fees( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Payee returns the registered payee address for a specific channel given the relayer address - async fn payee( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// CounterpartyPayee returns the registered counterparty payee for forward relaying - async fn counterparty_payee( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// FeeEnabledChannels returns a list of all fee enabled channels - async fn fee_enabled_channels( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel - async fn fee_enabled_channel( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query defines the ICS29 gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.fee.v1.Query/IncentivizedPackets" => { - #[allow(non_camel_case_types)] - struct IncentivizedPacketsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for IncentivizedPacketsSvc { - type Response = super::QueryIncentivizedPacketsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryIncentivizedPacketsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::incentivized_packets(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = IncentivizedPacketsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/IncentivizedPacket" => { - #[allow(non_camel_case_types)] - struct IncentivizedPacketSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for IncentivizedPacketSvc { - type Response = super::QueryIncentivizedPacketResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryIncentivizedPacketRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::incentivized_packet(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = IncentivizedPacketSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/IncentivizedPacketsForChannel" => { - #[allow(non_camel_case_types)] - struct IncentivizedPacketsForChannelSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryIncentivizedPacketsForChannelRequest, - > for IncentivizedPacketsForChannelSvc { - type Response = super::QueryIncentivizedPacketsForChannelResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryIncentivizedPacketsForChannelRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::incentivized_packets_for_channel( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = IncentivizedPacketsForChannelSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/TotalRecvFees" => { - #[allow(non_camel_case_types)] - struct TotalRecvFeesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TotalRecvFeesSvc { - type Response = super::QueryTotalRecvFeesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::total_recv_fees(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TotalRecvFeesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/TotalAckFees" => { - #[allow(non_camel_case_types)] - struct TotalAckFeesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TotalAckFeesSvc { - type Response = super::QueryTotalAckFeesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::total_ack_fees(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TotalAckFeesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/TotalTimeoutFees" => { - #[allow(non_camel_case_types)] - struct TotalTimeoutFeesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TotalTimeoutFeesSvc { - type Response = super::QueryTotalTimeoutFeesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::total_timeout_fees(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TotalTimeoutFeesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/Payee" => { - #[allow(non_camel_case_types)] - struct PayeeSvc(pub Arc); - impl tonic::server::UnaryService - for PayeeSvc { - type Response = super::QueryPayeeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::payee(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PayeeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/CounterpartyPayee" => { - #[allow(non_camel_case_types)] - struct CounterpartyPayeeSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for CounterpartyPayeeSvc { - type Response = super::QueryCounterpartyPayeeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::counterparty_payee(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = CounterpartyPayeeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/FeeEnabledChannels" => { - #[allow(non_camel_case_types)] - struct FeeEnabledChannelsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for FeeEnabledChannelsSvc { - type Response = super::QueryFeeEnabledChannelsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryFeeEnabledChannelsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::fee_enabled_channels(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = FeeEnabledChannelsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.fee.v1.Query/FeeEnabledChannel" => { - #[allow(non_camel_case_types)] - struct FeeEnabledChannelSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for FeeEnabledChannelSvc { - type Response = super::QueryFeeEnabledChannelResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::fee_enabled_channel(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = FeeEnabledChannelSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.applications.fee.v1.Query"; - } -} -/// 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) - } -} diff --git a/src/prost/ibc.applications.interchain_accounts.controller.v1.rs b/src/prost/ibc.applications.interchain_accounts.controller.v1.rs deleted file mode 100644 index 8b04ebb3..00000000 --- a/src/prost/ibc.applications.interchain_accounts.controller.v1.rs +++ /dev/null @@ -1,1066 +0,0 @@ -/// Params defines the set of on-chain interchain accounts parameters. -/// The following parameters may be used to disable the controller submodule. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// controller_enabled enables or disables the controller submodule. - #[prost(bool, tag = "1")] - pub controller_enabled: bool, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRegisterInterchainAccount { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub connection_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub version: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgRegisterInterchainAccount { - const NAME: &'static str = "MsgRegisterInterchainAccount"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgRegisterInterchainAccountResponse { - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub port_id: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgRegisterInterchainAccountResponse { - const NAME: &'static str = "MsgRegisterInterchainAccountResponse"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// MsgSendTx defines the payload for Msg/SendTx -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSendTx { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub connection_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub packet_data: ::core::option::Option< - super::super::v1::InterchainAccountPacketData, - >, - /// Relative timeout timestamp provided will be added to the current block time during transaction execution. - /// The timeout timestamp must be non-zero. - #[prost(uint64, tag = "4")] - pub relative_timeout: u64, -} -impl ::prost::Name for MsgSendTx { - const NAME: &'static str = "MsgSendTx"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// MsgSendTxResponse defines the response for MsgSendTx -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSendTxResponse { - #[prost(uint64, tag = "1")] - pub sequence: u64, -} -impl ::prost::Name for MsgSendTxResponse { - const NAME: &'static str = "MsgSendTxResponse"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// MsgUpdateParams defines the payload for Msg/UpdateParams -#[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 27-interchain-accounts/controller 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 = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// MsgUpdateParamsResponse defines the response for Msg/UpdateParams -#[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.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the 27-interchain-accounts/controller Msg service. - #[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 - } - /// RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount. - pub async fn register_interchain_account( - &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.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.controller.v1.Msg", - "RegisterInterchainAccount", - ), - ); - self.inner.unary(req, path, codec).await - } - /// SendTx defines a rpc handler for MsgSendTx. - pub async fn send_tx( - &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.applications.interchain_accounts.controller.v1.Msg/SendTx", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.controller.v1.Msg", - "SendTx", - ), - ); - self.inner.unary(req, path, codec).await - } - /// UpdateParams defines a rpc handler for MsgUpdateParams. - pub async fn update_params( - &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.applications.interchain_accounts.controller.v1.Msg/UpdateParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.controller.v1.Msg", - "UpdateParams", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount. - async fn register_interchain_account( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SendTx defines a rpc handler for MsgSendTx. - async fn send_tx( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateParams defines a rpc handler for MsgUpdateParams. - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the 27-interchain-accounts/controller Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount" => { - #[allow(non_camel_case_types)] - struct RegisterInterchainAccountSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for RegisterInterchainAccountSvc { - type Response = super::MsgRegisterInterchainAccountResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::register_interchain_account(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RegisterInterchainAccountSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.interchain_accounts.controller.v1.Msg/SendTx" => { - #[allow(non_camel_case_types)] - struct SendTxSvc(pub Arc); - impl tonic::server::UnaryService - for SendTxSvc { - type Response = super::MsgSendTxResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::send_tx(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SendTxSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.applications.interchain_accounts.controller.v1.Msg"; - } -} -/// QueryInterchainAccountRequest is the request type for the Query/InterchainAccount 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 QueryInterchainAccountRequest { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub connection_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryInterchainAccountRequest { - const NAME: &'static str = "QueryInterchainAccountRequest"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// QueryInterchainAccountResponse the response type for the Query/InterchainAccount 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 QueryInterchainAccountResponse { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryInterchainAccountResponse { - const NAME: &'static str = "QueryInterchainAccountResponse"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// QueryParamsRequest is the request type for the Query/Params 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 QueryParamsRequest {} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// QueryParamsResponse is the response type for the Query/Params 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 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 = "ibc.applications.interchain_accounts.controller.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME - ) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query provides defines the gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// InterchainAccount returns the interchain account address for a given owner address on a given connection - pub async fn interchain_account( - &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.applications.interchain_accounts.controller.v1.Query/InterchainAccount", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.controller.v1.Query", - "InterchainAccount", - ), - ); - self.inner.unary(req, path, codec).await - } - /// Params queries all parameters of the ICA controller submodule. - pub async fn params( - &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.applications.interchain_accounts.controller.v1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.controller.v1.Query", - "Params", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// InterchainAccount returns the interchain account address for a given owner address on a given connection - async fn interchain_account( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Params queries all parameters of the ICA controller submodule. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query provides defines the gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.interchain_accounts.controller.v1.Query/InterchainAccount" => { - #[allow(non_camel_case_types)] - struct InterchainAccountSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for InterchainAccountSvc { - type Response = super::QueryInterchainAccountResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::interchain_account(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = InterchainAccountSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.interchain_accounts.controller.v1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.applications.interchain_accounts.controller.v1.Query"; - } -} diff --git a/src/prost/ibc.applications.interchain_accounts.genesis.v1.rs b/src/prost/ibc.applications.interchain_accounts.genesis.v1.rs deleted file mode 100644 index 30c698e9..00000000 --- a/src/prost/ibc.applications.interchain_accounts.genesis.v1.rs +++ /dev/null @@ -1,110 +0,0 @@ -/// GenesisState defines the interchain accounts 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, optional, tag = "1")] - pub controller_genesis_state: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub host_genesis_state: ::core::option::Option, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME - ) - } -} -/// ControllerGenesisState defines the interchain accounts controller 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 ControllerGenesisState { - #[prost(message, repeated, tag = "1")] - pub active_channels: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "2")] - pub interchain_accounts: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag = "3")] - pub ports: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag = "4")] - pub params: ::core::option::Option, -} -impl ::prost::Name for ControllerGenesisState { - const NAME: &'static str = "ControllerGenesisState"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME - ) - } -} -/// HostGenesisState defines the interchain accounts host 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 HostGenesisState { - #[prost(message, repeated, tag = "1")] - pub active_channels: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "2")] - pub interchain_accounts: ::prost::alloc::vec::Vec, - #[prost(string, tag = "3")] - pub port: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub params: ::core::option::Option, -} -impl ::prost::Name for HostGenesisState { - const NAME: &'static str = "HostGenesisState"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME - ) - } -} -/// ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to -/// indicate if the channel is middleware enabled -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ActiveChannel { - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub channel_id: ::prost::alloc::string::String, - #[prost(bool, tag = "4")] - pub is_middleware_enabled: bool, -} -impl ::prost::Name for ActiveChannel { - const NAME: &'static str = "ActiveChannel"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME - ) - } -} -/// RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RegisteredInterchainAccount { - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub port_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub account_address: ::prost::alloc::string::String, -} -impl ::prost::Name for RegisteredInterchainAccount { - const NAME: &'static str = "RegisteredInterchainAccount"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME - ) - } -} diff --git a/src/prost/ibc.applications.interchain_accounts.host.v1.rs b/src/prost/ibc.applications.interchain_accounts.host.v1.rs deleted file mode 100644 index a7e9981f..00000000 --- a/src/prost/ibc.applications.interchain_accounts.host.v1.rs +++ /dev/null @@ -1,695 +0,0 @@ -/// Params defines the set of on-chain interchain accounts parameters. -/// The following parameters may be used to disable the host submodule. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// host_enabled enables or disables the host submodule. - #[prost(bool, tag = "1")] - pub host_enabled: bool, - /// allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. - #[prost(string, repeated, tag = "2")] - pub allow_messages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.host.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME - ) - } -} -/// MsgUpdateParams defines the payload for Msg/UpdateParams -#[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 27-interchain-accounts/host 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 = "ibc.applications.interchain_accounts.host.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME - ) - } -} -/// MsgUpdateParamsResponse defines the response for Msg/UpdateParams -#[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.applications.interchain_accounts.host.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME - ) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the 27-interchain-accounts/host Msg service. - #[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 - } - /// UpdateParams defines a rpc handler for MsgUpdateParams. - pub async fn update_params( - &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.applications.interchain_accounts.host.v1.Msg/UpdateParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.host.v1.Msg", - "UpdateParams", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// UpdateParams defines a rpc handler for MsgUpdateParams. - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the 27-interchain-accounts/host Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.applications.interchain_accounts.host.v1.Msg"; - } -} -/// QueryParamsRequest is the request type for the Query/Params 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 QueryParamsRequest {} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "ibc.applications.interchain_accounts.host.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME - ) - } -} -/// QueryParamsResponse is the response type for the Query/Params 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 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 = "ibc.applications.interchain_accounts.host.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!( - "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME - ) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query provides defines the gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Params queries all parameters of the ICA host submodule. - pub async fn params( - &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.applications.interchain_accounts.host.v1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.interchain_accounts.host.v1.Query", - "Params", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Params queries all parameters of the ICA host submodule. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query provides defines the gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.interchain_accounts.host.v1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.applications.interchain_accounts.host.v1.Query"; - } -} diff --git a/src/prost/ibc.applications.interchain_accounts.v1.rs b/src/prost/ibc.applications.interchain_accounts.v1.rs deleted file mode 100644 index 0b76048e..00000000 --- a/src/prost/ibc.applications.interchain_accounts.v1.rs +++ /dev/null @@ -1,119 +0,0 @@ -/// 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< - super::super::super::super::cosmos::auth::v1beta1::BaseAccount, - >, - #[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) - } -} -/// InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InterchainAccountPacketData { - #[prost(enumeration = "Type", tag = "1")] - pub r#type: i32, - #[prost(bytes = "vec", tag = "2")] - pub data: ::prost::alloc::vec::Vec, - #[prost(string, tag = "3")] - pub memo: ::prost::alloc::string::String, -} -impl ::prost::Name for InterchainAccountPacketData { - const NAME: &'static str = "InterchainAccountPacketData"; - 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) - } -} -/// CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CosmosTx { - #[prost(message, repeated, tag = "1")] - pub messages: ::prost::alloc::vec::Vec< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for CosmosTx { - const NAME: &'static str = "CosmosTx"; - 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) - } -} -/// Type defines a classification of message issued from a controller chain to its associated interchain accounts -/// host -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum Type { - /// Default zero value enumeration - Unspecified = 0, - /// Execute a transaction on an interchain accounts host chain - ExecuteTx = 1, -} -impl Type { - /// 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 { - Type::Unspecified => "TYPE_UNSPECIFIED", - Type::ExecuteTx => "TYPE_EXECUTE_TX", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "TYPE_EXECUTE_TX" => Some(Self::ExecuteTx), - _ => None, - } - } -} -/// 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))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Metadata { - /// version defines the ICS27 protocol version - #[prost(string, tag = "1")] - pub version: ::prost::alloc::string::String, - /// controller_connection_id is the connection identifier associated with the controller chain - #[prost(string, tag = "2")] - pub controller_connection_id: ::prost::alloc::string::String, - /// host_connection_id is the connection identifier associated with the host chain - #[prost(string, tag = "3")] - pub host_connection_id: ::prost::alloc::string::String, - /// address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step - /// NOTE: the address field is empty on the OnChanOpenInit handshake step - #[prost(string, tag = "4")] - pub address: ::prost::alloc::string::String, - /// encoding defines the supported codec format - #[prost(string, tag = "5")] - pub encoding: ::prost::alloc::string::String, - /// tx_type defines the type of transactions the interchain account can execute - #[prost(string, tag = "6")] - pub tx_type: ::prost::alloc::string::String, -} -impl ::prost::Name for Metadata { - const NAME: &'static str = "Metadata"; - 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) - } -} diff --git a/src/prost/ibc.applications.transfer.v1.rs b/src/prost/ibc.applications.transfer.v1.rs deleted file mode 100644 index 8f83b743..00000000 --- a/src/prost/ibc.applications.transfer.v1.rs +++ /dev/null @@ -1,1506 +0,0 @@ -/// DenomTrace contains the base denomination for ICS20 fungible tokens and the -/// source tracing information path. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DenomTrace { - /// path defines the chain of port/channel identifiers used for tracing the - /// source of the fungible token. - #[prost(string, tag = "1")] - pub path: ::prost::alloc::string::String, - /// base denomination of the relayed fungible token. - #[prost(string, tag = "2")] - pub base_denom: ::prost::alloc::string::String, -} -impl ::prost::Name for DenomTrace { - const NAME: &'static str = "DenomTrace"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// Params defines the set of IBC transfer parameters. -/// NOTE: To prevent a single token from being transferred, set the -/// TransfersEnabled parameter to true and then set the bank module's SendEnabled -/// parameter for the denomination to false. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// send_enabled enables or disables all cross-chain token transfers from this - /// chain. - #[prost(bool, tag = "1")] - pub send_enabled: bool, - /// receive_enabled enables or disables all cross-chain token transfers to this - /// chain. - #[prost(bool, tag = "2")] - pub receive_enabled: bool, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between -/// ICS20 enabled chains. See ICS Spec here: -/// -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgTransfer { - /// 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, - /// the tokens to be transferred - #[prost(message, optional, tag = "3")] - pub token: ::core::option::Option< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, - /// the sender address - #[prost(string, tag = "4")] - pub sender: ::prost::alloc::string::String, - /// the recipient address on the destination chain - #[prost(string, tag = "5")] - pub receiver: ::prost::alloc::string::String, - /// Timeout height relative to the current block height. - /// The timeout is disabled when set to 0. - #[prost(message, optional, tag = "6")] - pub timeout_height: ::core::option::Option< - super::super::super::core::client::v1::Height, - >, - /// Timeout timestamp in absolute nanoseconds since unix epoch. - /// The timeout is disabled when set to 0. - #[prost(uint64, tag = "7")] - pub timeout_timestamp: u64, - /// optional memo - #[prost(string, tag = "8")] - #[cfg_attr(feature = "serde", serde(default))] - pub memo: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgTransfer { - const NAME: &'static str = "MsgTransfer"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// MsgTransferResponse defines the Msg/Transfer 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 MsgTransferResponse { - /// sequence number of the transfer packet sent - #[prost(uint64, tag = "1")] - pub sequence: u64, -} -impl ::prost::Name for MsgTransferResponse { - const NAME: &'static str = "MsgTransferResponse"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", 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 { - /// signer address - #[prost(string, tag = "1")] - pub signer: ::prost::alloc::string::String, - /// params defines the transfer 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 = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", 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 = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the ibc/transfer Msg service. - #[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 - } - /// Transfer defines a rpc handler method for MsgTransfer. - pub async fn transfer( - &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.applications.transfer.v1.Msg/Transfer", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.applications.transfer.v1.Msg", "Transfer")); - self.inner.unary(req, path, codec).await - } - /// UpdateParams defines a rpc handler for MsgUpdateParams. - pub async fn update_params( - &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.applications.transfer.v1.Msg/UpdateParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.transfer.v1.Msg", "UpdateParams"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// Transfer defines a rpc handler method for MsgTransfer. - async fn transfer( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateParams defines a rpc handler for MsgUpdateParams. - async fn update_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the ibc/transfer Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.transfer.v1.Msg/Transfer" => { - #[allow(non_camel_case_types)] - struct TransferSvc(pub Arc); - impl tonic::server::UnaryService - for TransferSvc { - type Response = super::MsgTransferResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::transfer(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TransferSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.transfer.v1.Msg/UpdateParams" => { - #[allow(non_camel_case_types)] - struct UpdateParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.applications.transfer.v1.Msg"; - } -} -/// QueryDenomTraceRequest is the request type for the Query/DenomTrace 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 QueryDenomTraceRequest { - /// hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information. - #[prost(string, tag = "1")] - pub hash: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDenomTraceRequest { - const NAME: &'static str = "QueryDenomTraceRequest"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryDenomTraceResponse is the response type for the Query/DenomTrace 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 QueryDenomTraceResponse { - /// denom_trace returns the requested denomination trace information. - #[prost(message, optional, tag = "1")] - pub denom_trace: ::core::option::Option, -} -impl ::prost::Name for QueryDenomTraceResponse { - const NAME: &'static str = "QueryDenomTraceResponse"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryConnectionsRequest is the request type for the Query/DenomTraces 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 QueryDenomTracesRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryDenomTracesRequest { - const NAME: &'static str = "QueryDenomTracesRequest"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryConnectionsResponse is the response type for the Query/DenomTraces 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 QueryDenomTracesResponse { - /// denom_traces returns all denominations trace information. - #[prost(message, repeated, tag = "1")] - pub denom_traces: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageResponse, - >, -} -impl ::prost::Name for QueryDenomTracesResponse { - const NAME: &'static str = "QueryDenomTracesResponse"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryParamsRequest is the request type for the Query/Params 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 QueryParamsRequest {} -impl ::prost::Name for QueryParamsRequest { - const NAME: &'static str = "QueryParamsRequest"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryParamsResponse is the response type for the Query/Params 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 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 = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryDenomHashRequest is the request type for the Query/DenomHash 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 QueryDenomHashRequest { - /// The denomination trace `([port_id]/[channel_id])+/[denom]` - #[prost(string, tag = "1")] - pub trace: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDenomHashRequest { - const NAME: &'static str = "QueryDenomHashRequest"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryDenomHashResponse is the response type for the Query/DenomHash 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 QueryDenomHashResponse { - /// hash (in hex format) of the denomination trace information. - #[prost(string, tag = "1")] - pub hash: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryDenomHashResponse { - const NAME: &'static str = "QueryDenomHashResponse"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryEscrowAddressRequest is the request type for the EscrowAddress 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 QueryEscrowAddressRequest { - /// unique port identifier - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// unique channel identifier - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryEscrowAddressRequest { - const NAME: &'static str = "QueryEscrowAddressRequest"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryEscrowAddressResponse is the response type of the EscrowAddress 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 QueryEscrowAddressResponse { - /// the escrow account address - #[prost(string, tag = "1")] - pub escrow_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryEscrowAddressResponse { - const NAME: &'static str = "QueryEscrowAddressResponse"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryTotalEscrowForDenomRequest is the request type for TotalEscrowForDenom 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 QueryTotalEscrowForDenomRequest { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryTotalEscrowForDenomRequest { - const NAME: &'static str = "QueryTotalEscrowForDenomRequest"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom 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 QueryTotalEscrowForDenomResponse { - #[prost(message, optional, tag = "1")] - pub amount: ::core::option::Option< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for QueryTotalEscrowForDenomResponse { - const NAME: &'static str = "QueryTotalEscrowForDenomResponse"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query provides defines the gRPC querier service. - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// DenomTraces queries all denomination traces. - pub async fn denom_traces( - &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.applications.transfer.v1.Query/DenomTraces", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.transfer.v1.Query", "DenomTraces"), - ); - self.inner.unary(req, path, codec).await - } - /// DenomTrace queries a denomination trace information. - pub async fn denom_trace( - &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.applications.transfer.v1.Query/DenomTrace", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.transfer.v1.Query", "DenomTrace"), - ); - self.inner.unary(req, path, codec).await - } - /// Params queries all parameters of the ibc-transfer module. - pub async fn params( - &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.applications.transfer.v1.Query/Params", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.applications.transfer.v1.Query", "Params")); - self.inner.unary(req, path, codec).await - } - /// DenomHash queries a denomination hash information. - pub async fn denom_hash( - &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.applications.transfer.v1.Query/DenomHash", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.applications.transfer.v1.Query", "DenomHash"), - ); - self.inner.unary(req, path, codec).await - } - /// EscrowAddress returns the escrow address for a particular port and channel id. - pub async fn escrow_address( - &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.applications.transfer.v1.Query/EscrowAddress", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.transfer.v1.Query", - "EscrowAddress", - ), - ); - self.inner.unary(req, path, codec).await - } - /// TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom. - pub async fn total_escrow_for_denom( - &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.applications.transfer.v1.Query/TotalEscrowForDenom", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.applications.transfer.v1.Query", - "TotalEscrowForDenom", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// DenomTraces queries all denomination traces. - async fn denom_traces( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DenomTrace queries a denomination trace information. - async fn denom_trace( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Params queries all parameters of the ibc-transfer module. - async fn params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// DenomHash queries a denomination hash information. - async fn denom_hash( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// EscrowAddress returns the escrow address for a particular port and channel id. - async fn escrow_address( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom. - async fn total_escrow_for_denom( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query provides defines the gRPC querier service. - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.applications.transfer.v1.Query/DenomTraces" => { - #[allow(non_camel_case_types)] - struct DenomTracesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DenomTracesSvc { - type Response = super::QueryDenomTracesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::denom_traces(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DenomTracesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.transfer.v1.Query/DenomTrace" => { - #[allow(non_camel_case_types)] - struct DenomTraceSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DenomTraceSvc { - type Response = super::QueryDenomTraceResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::denom_trace(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DenomTraceSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.transfer.v1.Query/Params" => { - #[allow(non_camel_case_types)] - struct ParamsSvc(pub Arc); - impl tonic::server::UnaryService - for ParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.transfer.v1.Query/DenomHash" => { - #[allow(non_camel_case_types)] - struct DenomHashSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for DenomHashSvc { - type Response = super::QueryDenomHashResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::denom_hash(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = DenomHashSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.transfer.v1.Query/EscrowAddress" => { - #[allow(non_camel_case_types)] - struct EscrowAddressSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for EscrowAddressSvc { - type Response = super::QueryEscrowAddressResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::escrow_address(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = EscrowAddressSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.applications.transfer.v1.Query/TotalEscrowForDenom" => { - #[allow(non_camel_case_types)] - struct TotalEscrowForDenomSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for TotalEscrowForDenomSvc { - type Response = super::QueryTotalEscrowForDenomResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryTotalEscrowForDenomRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::total_escrow_for_denom(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TotalEscrowForDenomSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.applications.transfer.v1.Query"; - } -} -/// 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< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, - /// 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>, -} -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) - } -} -/// GenesisState defines the ibc-transfer 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(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub denom_traces: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub params: ::core::option::Option, - /// total_escrowed contains the total amount of tokens escrowed - /// by the transfer module - #[prost(message, repeated, tag = "4")] - pub total_escrowed: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.applications.transfer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.applications.transfer.v2.rs b/src/prost/ibc.applications.transfer.v2.rs deleted file mode 100644 index 9e9c6280..00000000 --- a/src/prost/ibc.applications.transfer.v2.rs +++ /dev/null @@ -1,31 +0,0 @@ -/// FungibleTokenPacketData defines a struct for the packet payload -/// See FungibleTokenPacketData spec: -/// -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FungibleTokenPacketData { - /// the token denomination to be transferred - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - /// the token amount to be transferred - #[prost(string, tag = "2")] - pub amount: ::prost::alloc::string::String, - /// the sender address - #[prost(string, tag = "3")] - pub sender: ::prost::alloc::string::String, - /// the recipient address on the destination chain - #[prost(string, tag = "4")] - pub receiver: ::prost::alloc::string::String, - /// optional memo - #[prost(string, tag = "5")] - #[cfg_attr(feature = "serde", serde(default))] - pub memo: ::prost::alloc::string::String, -} -impl ::prost::Name for FungibleTokenPacketData { - const NAME: &'static str = "FungibleTokenPacketData"; - const PACKAGE: &'static str = "ibc.applications.transfer.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.applications.transfer.v2.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.core.channel.v1.rs b/src/prost/ibc.core.channel.v1.rs deleted file mode 100644 index 8de7d7c9..00000000 --- a/src/prost/ibc.core.channel.v1.rs +++ /dev/null @@ -1,3836 +0,0 @@ -/// Channel defines pipeline for exactly-once packet delivery between specific -/// modules on separate blockchains, which has at least one end capable of -/// sending packets and one end capable of receiving packets. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Channel { - /// current state of the channel end - #[prost(enumeration = "State", tag = "1")] - pub state: i32, - /// whether the channel is ordered or unordered - #[prost(enumeration = "Order", tag = "2")] - pub ordering: i32, - /// counterparty channel end - #[prost(message, optional, tag = "3")] - pub counterparty: ::core::option::Option, - /// list of connection identifiers, in order, along which packets sent on - /// this channel will travel - #[prost(string, repeated, tag = "4")] - pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// opaque channel version, which is agreed upon during the handshake - #[prost(string, tag = "5")] - pub version: ::prost::alloc::string::String, -} -impl ::prost::Name for Channel { - const NAME: &'static str = "Channel"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// IdentifiedChannel defines a channel with additional port and channel -/// identifier fields. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IdentifiedChannel { - /// current state of the channel end - #[prost(enumeration = "State", tag = "1")] - pub state: i32, - /// whether the channel is ordered or unordered - #[prost(enumeration = "Order", tag = "2")] - pub ordering: i32, - /// counterparty channel end - #[prost(message, optional, tag = "3")] - pub counterparty: ::core::option::Option, - /// list of connection identifiers, in order, along which packets sent on - /// this channel will travel - #[prost(string, repeated, tag = "4")] - pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// opaque channel version, which is agreed upon during the handshake - #[prost(string, tag = "5")] - pub version: ::prost::alloc::string::String, - /// port identifier - #[prost(string, tag = "6")] - pub port_id: ::prost::alloc::string::String, - /// channel identifier - #[prost(string, tag = "7")] - pub channel_id: ::prost::alloc::string::String, -} -impl ::prost::Name for IdentifiedChannel { - const NAME: &'static str = "IdentifiedChannel"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// Counterparty defines a channel end counterparty -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Counterparty { - /// port on the counterparty chain which owns the other end of the channel. - #[prost(string, tag = "1")] - pub port_id: ::prost::alloc::string::String, - /// channel end on the counterparty chain - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, -} -impl ::prost::Name for Counterparty { - const NAME: &'static str = "Counterparty"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// Packet defines a type that carries data across different chains through IBC -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Packet { - /// number corresponds to the order of sends and receives, where a Packet - /// with an earlier sequence number must be sent and received before a Packet - /// with a later sequence number. - #[prost(uint64, tag = "1")] - pub sequence: u64, - /// identifies the port on the sending chain. - #[prost(string, tag = "2")] - pub source_port: ::prost::alloc::string::String, - /// identifies the channel end on the sending chain. - #[prost(string, tag = "3")] - pub source_channel: ::prost::alloc::string::String, - /// identifies the port on the receiving chain. - #[prost(string, tag = "4")] - pub destination_port: ::prost::alloc::string::String, - /// identifies the channel end on the receiving chain. - #[prost(string, tag = "5")] - pub destination_channel: ::prost::alloc::string::String, - /// actual opaque bytes transferred directly to the application module - #[prost(bytes = "vec", tag = "6")] - pub data: ::prost::alloc::vec::Vec, - /// block height after which the packet times out - #[prost(message, optional, tag = "7")] - pub timeout_height: ::core::option::Option, - /// block timestamp (in nanoseconds) after which the packet times out - #[prost(uint64, tag = "8")] - pub timeout_timestamp: u64, -} -impl ::prost::Name for Packet { - const NAME: &'static str = "Packet"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// PacketState defines the generic type necessary to retrieve and store -/// packet commitments, acknowledgements, and receipts. -/// Caller is responsible for knowing the context necessary to interpret this -/// state as a commitment, acknowledgement, or a receipt. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketState { - /// channel port 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, - /// embedded data that represents packet state. - #[prost(bytes = "vec", tag = "4")] - pub data: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PacketState { - const NAME: &'static str = "PacketState"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// PacketId is an identifer for a unique Packet -/// Source chains refer to packets by source port/channel -/// Destination chains refer to packets by destination port/channel -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketId { - /// channel port 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 PacketId { - const NAME: &'static str = "PacketId"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// Acknowledgement is the recommended acknowledgement format to be used by -/// app-specific protocols. -/// NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental -/// conflicts with other protobuf message formats used for acknowledgements. -/// The first byte of any message with this format will be the non-ASCII values -/// `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: -/// -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Acknowledgement { - /// response contains either a result or an error and must be non-empty - #[prost(oneof = "acknowledgement::Response", tags = "21, 22")] - pub response: ::core::option::Option, -} -/// Nested message and enum types in `Acknowledgement`. -pub mod acknowledgement { - /// response contains either a result or an error and must be non-empty - #[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Response { - #[prost(bytes, tag = "21")] - Result(::prost::alloc::vec::Vec), - #[prost(string, tag = "22")] - Error(::prost::alloc::string::String), - } -} -impl ::prost::Name for Acknowledgement { - const NAME: &'static str = "Acknowledgement"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// Timeout defines an execution deadline structure for 04-channel handlers. -/// This includes packet lifecycle handlers as well as the upgrade handshake handlers. -/// A valid Timeout contains either one or both of a timestamp and block height (sequence). -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Timeout { - /// block height after which the packet or upgrade times out - #[prost(message, optional, tag = "1")] - pub height: ::core::option::Option, - /// block timestamp (in nanoseconds) after which the packet or upgrade times out - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for Timeout { - const NAME: &'static str = "Timeout"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// State defines if a channel is in one of the following states: -/// CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum State { - /// Default State - UninitializedUnspecified = 0, - /// A channel has just started the opening handshake. - Init = 1, - /// A channel has acknowledged the handshake step on the counterparty chain. - Tryopen = 2, - /// A channel has completed the handshake. Open channels are - /// ready to send and receive packets. - Open = 3, - /// A channel has been closed and can no longer be used to send or receive - /// packets. - Closed = 4, -} -impl State { - /// 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 { - State::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED", - State::Init => "STATE_INIT", - State::Tryopen => "STATE_TRYOPEN", - State::Open => "STATE_OPEN", - State::Closed => "STATE_CLOSED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "STATE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified), - "STATE_INIT" => Some(Self::Init), - "STATE_TRYOPEN" => Some(Self::Tryopen), - "STATE_OPEN" => Some(Self::Open), - "STATE_CLOSED" => Some(Self::Closed), - _ => None, - } - } -} -/// Order defines if a channel is ORDERED or UNORDERED -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum Order { - /// zero-value for channel ordering - NoneUnspecified = 0, - /// packets can be delivered in any order, which may differ from the order in - /// which they were sent. - Unordered = 1, - /// packets are delivered exactly in the order which they were sent - Ordered = 2, -} -impl Order { - /// 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 { - Order::NoneUnspecified => "ORDER_NONE_UNSPECIFIED", - Order::Unordered => "ORDER_UNORDERED", - Order::Ordered => "ORDER_ORDERED", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "ORDER_NONE_UNSPECIFIED" => Some(Self::NoneUnspecified), - "ORDER_UNORDERED" => Some(Self::Unordered), - "ORDER_ORDERED" => Some(Self::Ordered), - _ => None, - } - } -} -/// GenesisState defines the ibc channel 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 channels: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "2")] - pub acknowledgements: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub commitments: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "4")] - pub receipts: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub send_sequences: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "6")] - pub recv_sequences: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "7")] - pub ack_sequences: ::prost::alloc::vec::Vec, - /// the sequence for the next generated channel identifier - #[prost(uint64, tag = "8")] - pub next_channel_sequence: u64, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.core.channel.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) - } -} -/// PacketSequence defines the genesis type necessary to retrieve and store -/// next send and receive sequences. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketSequence { - #[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 sequence: u64, -} -impl ::prost::Name for PacketSequence { - const NAME: &'static str = "PacketSequence"; - 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 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 MsgChannelOpenInit { - #[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, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 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 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) - } -} -/// MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge -/// the change of channel state to TRYOPEN on 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 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 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) - } -} -/// 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 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) - } -} -/// 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 MsgChannelOpenConfirm { - #[prost(string, tag = "1")] - 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 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) - } -} -/// 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 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) - } -} -/// 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 MsgChannelCloseInit { - #[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 signer: ::prost::alloc::string::String, -} -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) - } -} -/// 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 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) - } -} -/// 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 MsgChannelCloseConfirm { - #[prost(string, tag = "1")] - 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_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, -} -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) - } -} -/// 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 -#[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, - #[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 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) - } -} -/// 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 MsgRecvPacketResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, -} -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) - } -} -/// 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 MsgTimeout { - #[prost(message, optional, tag = "1")] - pub packet: ::core::option::Option, - #[prost(bytes = "vec", tag = "2")] - 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 MsgTimeoutOnCloseResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 MsgAcknowledgementResponse { - #[prost(enumeration = "ResponseResultType", tag = "1")] - pub result: i32, -} -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) - } -} -/// 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, -} -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", - } - } - /// 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), - _ => None, - } - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the ibc/channel Msg service. - #[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 - } - /// ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit. - pub async fn channel_open_init( - &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/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 - } - /// ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry. - pub async fn channel_open_try( - &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/ChannelOpenTry", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenTry")); - self.inner.unary(req, path, codec).await - } - /// ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck. - pub async fn channel_open_ack( - &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/ChannelOpenAck", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenAck")); - self.inner.unary(req, path, codec).await - } - /// ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm. - pub async fn channel_open_confirm( - &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/ChannelOpenConfirm", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenConfirm"), - ); - self.inner.unary(req, path, codec).await - } - /// ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit. - pub async fn channel_close_init( - &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/ChannelCloseInit", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelCloseInit")); - self.inner.unary(req, path, codec).await - } - /// ChannelCloseConfirm defines a rpc handler method for - /// MsgChannelCloseConfirm. - pub async fn channel_close_confirm( - &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/ChannelCloseConfirm", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelCloseConfirm"), - ); - self.inner.unary(req, path, codec).await - } - /// RecvPacket defines a rpc handler method for MsgRecvPacket. - pub async fn recv_packet( - &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/RecvPacket", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "RecvPacket")); - self.inner.unary(req, path, codec).await - } - /// Timeout defines a rpc handler method for MsgTimeout. - pub async fn timeout( - &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/Timeout", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "Timeout")); - self.inner.unary(req, path, codec).await - } - /// TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose. - pub async fn timeout_on_close( - &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/TimeoutOnClose", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "TimeoutOnClose")); - self.inner.unary(req, path, codec).await - } - /// Acknowledgement defines a rpc handler method for MsgAcknowledgement. - pub async fn acknowledgement( - &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/Acknowledgement", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "Acknowledgement")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit. - async fn channel_open_init( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry. - async fn channel_open_try( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck. - async fn channel_open_ack( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm. - async fn channel_open_confirm( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit. - async fn channel_close_init( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelCloseConfirm defines a rpc handler method for - /// MsgChannelCloseConfirm. - async fn channel_close_confirm( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// RecvPacket defines a rpc handler method for MsgRecvPacket. - async fn recv_packet( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Timeout defines a rpc handler method for MsgTimeout. - async fn timeout( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose. - async fn timeout_on_close( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Acknowledgement defines a rpc handler method for MsgAcknowledgement. - async fn acknowledgement( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the ibc/channel Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.core.channel.v1.Msg/ChannelOpenInit" => { - #[allow(non_camel_case_types)] - struct ChannelOpenInitSvc(pub Arc); - impl tonic::server::UnaryService - for ChannelOpenInitSvc { - type Response = super::MsgChannelOpenInitResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_open_init(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelOpenInitSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/ChannelOpenTry" => { - #[allow(non_camel_case_types)] - struct ChannelOpenTrySvc(pub Arc); - impl tonic::server::UnaryService - for ChannelOpenTrySvc { - type Response = super::MsgChannelOpenTryResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_open_try(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelOpenTrySvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/ChannelOpenAck" => { - #[allow(non_camel_case_types)] - struct ChannelOpenAckSvc(pub Arc); - impl tonic::server::UnaryService - for ChannelOpenAckSvc { - type Response = super::MsgChannelOpenAckResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_open_ack(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelOpenAckSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/ChannelOpenConfirm" => { - #[allow(non_camel_case_types)] - struct ChannelOpenConfirmSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for ChannelOpenConfirmSvc { - type Response = super::MsgChannelOpenConfirmResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_open_confirm(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelOpenConfirmSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/ChannelCloseInit" => { - #[allow(non_camel_case_types)] - struct ChannelCloseInitSvc(pub Arc); - impl tonic::server::UnaryService - for ChannelCloseInitSvc { - type Response = super::MsgChannelCloseInitResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_close_init(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelCloseInitSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/ChannelCloseConfirm" => { - #[allow(non_camel_case_types)] - struct ChannelCloseConfirmSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for ChannelCloseConfirmSvc { - type Response = super::MsgChannelCloseConfirmResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_close_confirm(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelCloseConfirmSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/RecvPacket" => { - #[allow(non_camel_case_types)] - struct RecvPacketSvc(pub Arc); - impl tonic::server::UnaryService - for RecvPacketSvc { - type Response = super::MsgRecvPacketResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::recv_packet(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RecvPacketSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/Timeout" => { - #[allow(non_camel_case_types)] - struct TimeoutSvc(pub Arc); - impl tonic::server::UnaryService - for TimeoutSvc { - type Response = super::MsgTimeoutResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::timeout(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TimeoutSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/TimeoutOnClose" => { - #[allow(non_camel_case_types)] - struct TimeoutOnCloseSvc(pub Arc); - impl tonic::server::UnaryService - for TimeoutOnCloseSvc { - type Response = super::MsgTimeoutOnCloseResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::timeout_on_close(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = TimeoutOnCloseSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Msg/Acknowledgement" => { - #[allow(non_camel_case_types)] - struct AcknowledgementSvc(pub Arc); - impl tonic::server::UnaryService - for AcknowledgementSvc { - type Response = super::MsgAcknowledgementResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::acknowledgement(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AcknowledgementSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.core.channel.v1.Msg"; - } -} -/// 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 QueryChannelRequest { - /// 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, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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 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) - } -} -/// 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 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"; - 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 -#[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 - #[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, - >, -} -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) - } -} -/// 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 QueryChannelClientStateResponse { - /// client state associated with the channel - #[prost(message, optional, tag = "1")] - pub identified_client_state: ::core::option::Option< - super::super::client::v1::IdentifiedClientState, - >, - /// 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) - } -} -/// 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 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, - /// 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 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) - } -} -/// 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 QueryChannelConsensusStateResponse { - /// consensus state associated with the channel - #[prost(message, optional, tag = "1")] - pub consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::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) - } -} -/// 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 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, -} -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) - } -} -/// 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 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: ::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 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) - } -} -/// 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 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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 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) - } -} -/// 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 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, - /// list of acknowledgement sequences - #[prost(uint64, repeated, tag = "3")] - pub packet_ack_sequences: ::prost::alloc::vec::Vec, -} -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) - } -} -/// 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 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 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) - } -} -/// 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 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, -} -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) - } -} -/// QuerySequenceResponse is the request 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 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"; - 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 -#[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 - #[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, -} -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) - } -} -/// 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 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) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query provides defines the gRPC querier service - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Channel queries an IBC Channel. - pub async fn channel( - &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.Query/Channel", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channel")); - self.inner.unary(req, path, codec).await - } - /// Channels queries all the IBC channels of a chain. - pub async fn channels( - &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.Query/Channels", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channels")); - self.inner.unary(req, path, codec).await - } - /// ConnectionChannels queries all the channels associated with a connection - /// end. - pub async fn connection_channels( - &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.Query/ConnectionChannels", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "ConnectionChannels"), - ); - self.inner.unary(req, path, codec).await - } - /// ChannelClientState queries for the client state for the channel associated - /// with the provided channel identifiers. - pub async fn channel_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.channel.v1.Query/ChannelClientState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "ChannelClientState"), - ); - self.inner.unary(req, path, codec).await - } - /// ChannelConsensusState queries for the consensus state for the channel - /// associated with the provided channel identifiers. - pub async fn channel_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.channel.v1.Query/ChannelConsensusState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "ChannelConsensusState"), - ); - self.inner.unary(req, path, codec).await - } - /// PacketCommitment queries a stored packet commitment hash. - pub async fn packet_commitment( - &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.Query/PacketCommitment", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "PacketCommitment"), - ); - self.inner.unary(req, path, codec).await - } - /// PacketCommitments returns all the packet commitments hashes associated - /// with a channel. - pub async fn packet_commitments( - &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.Query/PacketCommitments", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "PacketCommitments"), - ); - self.inner.unary(req, path, codec).await - } - /// PacketReceipt queries if a given packet sequence has been received on the - /// queried chain - pub async fn packet_receipt( - &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.Query/PacketReceipt", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "PacketReceipt")); - self.inner.unary(req, path, codec).await - } - /// PacketAcknowledgement queries a stored packet acknowledgement hash. - pub async fn packet_acknowledgement( - &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.Query/PacketAcknowledgement", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "PacketAcknowledgement"), - ); - self.inner.unary(req, path, codec).await - } - /// PacketAcknowledgements returns all the packet acknowledgements associated - /// with a channel. - pub async fn packet_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.Query/PacketAcknowledgements", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.core.channel.v1.Query", - "PacketAcknowledgements", - ), - ); - self.inner.unary(req, path, codec).await - } - /// UnreceivedPackets returns all the unreceived IBC packets associated with a - /// channel and sequences. - pub async fn unreceived_packets( - &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.Query/UnreceivedPackets", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "UnreceivedPackets"), - ); - self.inner.unary(req, path, codec).await - } - /// UnreceivedAcks returns all the unreceived IBC acknowledgements associated - /// with a channel and sequences. - pub async fn unreceived_acks( - &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.Query/UnreceivedAcks", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "UnreceivedAcks")); - self.inner.unary(req, path, codec).await - } - /// NextSequenceReceive returns the next receive sequence for a given channel. - pub async fn next_sequence_receive( - &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.Query/NextSequenceReceive", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "NextSequenceReceive"), - ); - self.inner.unary(req, path, codec).await - } - /// NextSequenceSend returns the next send sequence for a given channel. - pub async fn next_sequence_send( - &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.Query/NextSequenceSend", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.channel.v1.Query", "NextSequenceSend"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Channel queries an IBC Channel. - async fn channel( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Channels queries all the IBC channels of a chain. - async fn channels( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionChannels queries all the channels associated with a connection - /// end. - async fn connection_channels( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelClientState queries for the client state for the channel associated - /// with the provided channel identifiers. - async fn channel_client_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ChannelConsensusState queries for the consensus state for the channel - /// associated with the provided channel identifiers. - async fn channel_consensus_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PacketCommitment queries a stored packet commitment hash. - async fn packet_commitment( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PacketCommitments returns all the packet commitments hashes associated - /// with a channel. - async fn packet_commitments( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PacketReceipt queries if a given packet sequence has been received on the - /// queried chain - async fn packet_receipt( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PacketAcknowledgement queries a stored packet acknowledgement hash. - async fn packet_acknowledgement( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// PacketAcknowledgements returns all the packet acknowledgements associated - /// with a channel. - async fn packet_acknowledgements( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UnreceivedPackets returns all the unreceived IBC packets associated with a - /// channel and sequences. - async fn unreceived_packets( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UnreceivedAcks returns all the unreceived IBC acknowledgements associated - /// with a channel and sequences. - async fn unreceived_acks( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// NextSequenceReceive returns the next receive sequence for a given channel. - async fn next_sequence_receive( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// NextSequenceSend returns the next send sequence for a given channel. - async fn next_sequence_send( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query provides defines the gRPC querier service - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.core.channel.v1.Query/Channel" => { - #[allow(non_camel_case_types)] - struct ChannelSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ChannelSvc { - type Response = super::QueryChannelResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/Channels" => { - #[allow(non_camel_case_types)] - struct ChannelsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ChannelsSvc { - type Response = super::QueryChannelsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channels(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/ConnectionChannels" => { - #[allow(non_camel_case_types)] - struct ConnectionChannelsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ConnectionChannelsSvc { - type Response = super::QueryConnectionChannelsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryConnectionChannelsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_channels(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionChannelsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/ChannelClientState" => { - #[allow(non_camel_case_types)] - struct ChannelClientStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ChannelClientStateSvc { - type Response = super::QueryChannelClientStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryChannelClientStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_client_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelClientStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/ChannelConsensusState" => { - #[allow(non_camel_case_types)] - struct ChannelConsensusStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryChannelConsensusStateRequest, - > for ChannelConsensusStateSvc { - type Response = super::QueryChannelConsensusStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryChannelConsensusStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::channel_consensus_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ChannelConsensusStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/PacketCommitment" => { - #[allow(non_camel_case_types)] - struct PacketCommitmentSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for PacketCommitmentSvc { - type Response = super::QueryPacketCommitmentResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::packet_commitment(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PacketCommitmentSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/PacketCommitments" => { - #[allow(non_camel_case_types)] - struct PacketCommitmentsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for PacketCommitmentsSvc { - type Response = super::QueryPacketCommitmentsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::packet_commitments(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PacketCommitmentsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/PacketReceipt" => { - #[allow(non_camel_case_types)] - struct PacketReceiptSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for PacketReceiptSvc { - type Response = super::QueryPacketReceiptResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::packet_receipt(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PacketReceiptSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/PacketAcknowledgement" => { - #[allow(non_camel_case_types)] - struct PacketAcknowledgementSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryPacketAcknowledgementRequest, - > for PacketAcknowledgementSvc { - type Response = super::QueryPacketAcknowledgementResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryPacketAcknowledgementRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::packet_acknowledgement(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PacketAcknowledgementSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/PacketAcknowledgements" => { - #[allow(non_camel_case_types)] - struct PacketAcknowledgementsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryPacketAcknowledgementsRequest, - > for PacketAcknowledgementsSvc { - type Response = super::QueryPacketAcknowledgementsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryPacketAcknowledgementsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::packet_acknowledgements(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = PacketAcknowledgementsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/UnreceivedPackets" => { - #[allow(non_camel_case_types)] - struct UnreceivedPacketsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for UnreceivedPacketsSvc { - type Response = super::QueryUnreceivedPacketsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unreceived_packets(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UnreceivedPacketsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/UnreceivedAcks" => { - #[allow(non_camel_case_types)] - struct UnreceivedAcksSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for UnreceivedAcksSvc { - type Response = super::QueryUnreceivedAcksResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unreceived_acks(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UnreceivedAcksSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/NextSequenceReceive" => { - #[allow(non_camel_case_types)] - struct NextSequenceReceiveSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for NextSequenceReceiveSvc { - type Response = super::QueryNextSequenceReceiveResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryNextSequenceReceiveRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::next_sequence_receive(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = NextSequenceReceiveSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.channel.v1.Query/NextSequenceSend" => { - #[allow(non_camel_case_types)] - struct NextSequenceSendSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for NextSequenceSendSvc { - type Response = super::QueryNextSequenceSendResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::next_sequence_send(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = NextSequenceSendSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.core.channel.v1.Query"; - } -} diff --git a/src/prost/ibc.core.client.v1.rs b/src/prost/ibc.core.client.v1.rs deleted file mode 100644 index d899bc68..00000000 --- a/src/prost/ibc.core.client.v1.rs +++ /dev/null @@ -1,2607 +0,0 @@ -/// IdentifiedClientState defines a client state with an additional client -/// identifier field. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IdentifiedClientState { - /// client identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// client state - #[prost(message, optional, tag = "2")] - pub client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for IdentifiedClientState { - const NAME: &'static str = "IdentifiedClientState"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// ConsensusStateWithHeight defines a consensus state with an additional height -/// field. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusStateWithHeight { - /// consensus state height - #[prost(message, optional, tag = "1")] - pub height: ::core::option::Option, - /// consensus state - #[prost(message, optional, tag = "2")] - pub consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for ConsensusStateWithHeight { - const NAME: &'static str = "ConsensusStateWithHeight"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// ClientConsensusStates defines all the stored consensus states for a given -/// client. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientConsensusStates { - /// client identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// consensus states and their heights associated with the client - #[prost(message, repeated, tag = "2")] - pub consensus_states: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ClientConsensusStates { - const NAME: &'static str = "ClientConsensusStates"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// Height is a monotonically increasing data type -/// that can be compared against another Height for the purposes of updating and -/// freezing clients -/// -/// Normally the RevisionHeight is incremented at each height while keeping -/// RevisionNumber the same. However some consensus algorithms may choose to -/// reset the height in certain conditions e.g. hard forks, state-machine -/// breaking changes In these cases, the RevisionNumber is incremented so that -/// height continues to be monitonically increasing even as the RevisionHeight -/// gets reset -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Eq, PartialOrd, Ord)] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Height { - /// the revision that the client is currently on - #[prost(uint64, tag = "1")] - #[cfg_attr(feature = "serde", serde(default))] - pub revision_number: u64, - /// the height within the given revision - #[prost(uint64, tag = "2")] - #[cfg_attr(feature = "serde", serde(default))] - pub revision_height: u64, -} -impl ::prost::Name for Height { - const NAME: &'static str = "Height"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// Params defines the set of IBC light 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 Params { - /// allowed_clients defines the list of allowed client state types which can be created - /// and interacted with. If a client type is removed from the allowed clients list, usage - /// of this client will be disabled until it is added again to the list. - #[prost(string, repeated, tag = "1")] - pub allowed_clients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// ClientUpdateProposal is a legacy governance proposal. If it passes, the substitute -/// client's latest consensus state is copied over to the subject client. The proposal -/// handler may fail if the subject and the substitute do not match in client and -/// chain parameters (with exception to latest height, frozen height, and chain-id). -/// -/// Deprecated: Please use MsgRecoverClient in favour of this message type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientUpdateProposal { - /// the title of the update proposal - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// the description of the proposal - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - /// the client identifier for the client to be updated if the proposal passes - #[prost(string, tag = "3")] - pub subject_client_id: ::prost::alloc::string::String, - /// the substitute client identifier for the client standing in for the subject - /// client - #[prost(string, tag = "4")] - pub substitute_client_id: ::prost::alloc::string::String, -} -impl ::prost::Name for ClientUpdateProposal { - const NAME: &'static str = "ClientUpdateProposal"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// UpgradeProposal is a gov Content type for initiating an IBC breaking -/// upgrade. -/// -/// Deprecated: Please use MsgIBCSoftwareUpgrade in favour of this message type. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UpgradeProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub plan: ::core::option::Option< - super::super::super::super::cosmos::upgrade::v1beta1::Plan, - >, - /// 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 - #[prost(message, optional, tag = "4")] - pub upgraded_client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for UpgradeProposal { - const NAME: &'static str = "UpgradeProposal"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// GenesisState defines the ibc client 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 { - /// client states with their corresponding identifiers - #[prost(message, repeated, tag = "1")] - pub clients: ::prost::alloc::vec::Vec, - /// consensus states from each client - #[prost(message, repeated, tag = "2")] - pub clients_consensus: ::prost::alloc::vec::Vec, - /// metadata from each client - #[prost(message, repeated, tag = "3")] - pub clients_metadata: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "4")] - pub params: ::core::option::Option, - /// Deprecated: create_localhost has been deprecated. - /// The localhost client is automatically created at genesis. - #[deprecated] - #[prost(bool, tag = "5")] - pub create_localhost: bool, - /// the sequence for the next generated client identifier - #[prost(uint64, tag = "6")] - pub next_client_sequence: u64, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// GenesisMetadata defines the genesis type for metadata that clients may return -/// with ExportMetadata -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisMetadata { - /// store key of metadata without clientID-prefix - #[prost(bytes = "vec", tag = "1")] - pub key: ::prost::alloc::vec::Vec, - /// metadata value - #[prost(bytes = "vec", tag = "2")] - pub value: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GenesisMetadata { - const NAME: &'static str = "GenesisMetadata"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// IdentifiedGenesisMetadata has the client metadata with the corresponding -/// client id. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IdentifiedGenesisMetadata { - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub client_metadata: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for IdentifiedGenesisMetadata { - const NAME: &'static str = "IdentifiedGenesisMetadata"; - const PACKAGE: &'static str = "ibc.core.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// 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 MsgCreateClient { - /// light client state - #[prost(message, optional, tag = "1")] - pub client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// consensus state associated with the client that corresponds to a given - /// height. - #[prost(message, optional, tag = "2")] - pub consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, -} -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) - } -} -/// 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 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) - } -} -/// 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 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< - super::super::super::super::google::protobuf::Any, - >, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, -} -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) - } -} -/// 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 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) - } -} -/// 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 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< - super::super::super::super::google::protobuf::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< - super::super::super::super::google::protobuf::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 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) - } -} -/// 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 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) - } -} -/// 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 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< - super::super::super::super::google::protobuf::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) - } -} -/// 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 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) - } -} -/// 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 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) - } -} -/// 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 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) - } -} -/// 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 MsgIbcSoftwareUpgrade { - #[prost(message, optional, tag = "1")] - pub plan: ::core::option::Option< - super::super::super::super::cosmos::upgrade::v1beta1::Plan, - >, - /// 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< - super::super::super::super::google::protobuf::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) - } -} -/// 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 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) - } -} -/// 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 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"; - 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. -#[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.client.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the ibc/client Msg service. - #[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 - } - /// CreateClient defines a rpc handler method for MsgCreateClient. - pub async fn create_client( - &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.Msg/CreateClient", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "CreateClient")); - self.inner.unary(req, path, codec).await - } - /// UpdateClient defines a rpc handler method for MsgUpdateClient. - pub async fn update_client( - &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.Msg/UpdateClient", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpdateClient")); - self.inner.unary(req, path, codec).await - } - /// UpgradeClient defines a rpc handler method for MsgUpgradeClient. - pub async fn upgrade_client( - &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.Msg/UpgradeClient", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpgradeClient")); - self.inner.unary(req, path, codec).await - } - /// SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour. - pub async fn submit_misbehaviour( - &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.Msg/SubmitMisbehaviour", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "SubmitMisbehaviour")); - self.inner.unary(req, path, codec).await - } - /// RecoverClient defines a rpc handler method for MsgRecoverClient. - pub async fn recover_client( - &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.Msg/RecoverClient", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "RecoverClient")); - self.inner.unary(req, path, codec).await - } - /// IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade. - pub async fn ibc_software_upgrade( - &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.Msg/IBCSoftwareUpgrade", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "IBCSoftwareUpgrade")); - self.inner.unary(req, path, codec).await - } - /// UpdateClientParams defines a rpc handler method for MsgUpdateParams. - pub async fn update_client_params( - &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.Msg/UpdateClientParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpdateClientParams")); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// CreateClient defines a rpc handler method for MsgCreateClient. - async fn create_client( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateClient defines a rpc handler method for MsgUpdateClient. - async fn update_client( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpgradeClient defines a rpc handler method for MsgUpgradeClient. - async fn upgrade_client( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour. - async fn submit_misbehaviour( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// RecoverClient defines a rpc handler method for MsgRecoverClient. - async fn recover_client( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade. - async fn ibc_software_upgrade( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateClientParams defines a rpc handler method for MsgUpdateParams. - async fn update_client_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the ibc/client Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.core.client.v1.Msg/CreateClient" => { - #[allow(non_camel_case_types)] - struct CreateClientSvc(pub Arc); - impl tonic::server::UnaryService - for CreateClientSvc { - type Response = super::MsgCreateClientResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_client(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = CreateClientSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Msg/UpdateClient" => { - #[allow(non_camel_case_types)] - struct UpdateClientSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateClientSvc { - type Response = super::MsgUpdateClientResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_client(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateClientSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Msg/UpgradeClient" => { - #[allow(non_camel_case_types)] - struct UpgradeClientSvc(pub Arc); - impl tonic::server::UnaryService - for UpgradeClientSvc { - type Response = super::MsgUpgradeClientResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::upgrade_client(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpgradeClientSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Msg/SubmitMisbehaviour" => { - #[allow(non_camel_case_types)] - struct SubmitMisbehaviourSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for SubmitMisbehaviourSvc { - type Response = super::MsgSubmitMisbehaviourResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::submit_misbehaviour(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SubmitMisbehaviourSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Msg/RecoverClient" => { - #[allow(non_camel_case_types)] - struct RecoverClientSvc(pub Arc); - impl tonic::server::UnaryService - for RecoverClientSvc { - type Response = super::MsgRecoverClientResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::recover_client(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = RecoverClientSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Msg/IBCSoftwareUpgrade" => { - #[allow(non_camel_case_types)] - struct IBCSoftwareUpgradeSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for IBCSoftwareUpgradeSvc { - type Response = super::MsgIbcSoftwareUpgradeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::ibc_software_upgrade(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = IBCSoftwareUpgradeSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Msg/UpdateClientParams" => { - #[allow(non_camel_case_types)] - struct UpdateClientParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateClientParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_client_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateClientParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.core.client.v1.Msg"; - } -} -/// 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 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"; - 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. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryClientStateResponse { - /// client state associated with the request identifier - #[prost(message, optional, tag = "1")] - pub client_state: ::core::option::Option< - super::super::super::super::google::protobuf::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) - } -} -/// 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 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"; - 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. -#[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, - >, -} -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) - } -} -/// 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 QueryConsensusStateRequest { - /// client 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, -} -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) - } -} -/// 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 QueryConsensusStateResponse { - /// consensus state associated with the client identifier at the given height - #[prost(message, optional, tag = "1")] - pub consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::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) - } -} -/// 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 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, - >, -} -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) - } -} -/// 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 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) - } -} -/// 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 QueryConsensusStateHeightsRequest { - /// 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, - >, -} -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) - } -} -/// 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 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) - } -} -/// 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 QueryClientStatusRequest { - /// client unique identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, -} -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) - } -} -/// 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 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) - } -} -/// 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 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) - } -} -/// 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 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) - } -} -/// 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 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) - } -} -/// 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 QueryUpgradedClientStateResponse { - /// client state associated with the request identifier - #[prost(message, optional, tag = "1")] - pub upgraded_client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -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) - } -} -/// 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 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) - } -} -/// 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 QueryUpgradedConsensusStateResponse { - /// Consensus state associated with the request identifier - #[prost(message, optional, tag = "1")] - pub upgraded_consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -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) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query provides defines the gRPC querier service - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// ClientState queries an IBC light client. - pub async fn 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/ClientState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientState")); - self.inner.unary(req, path, codec).await - } - /// ClientStates queries all the IBC light clients of a chain. - pub async fn client_states( - &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/ClientStates", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStates")); - self.inner.unary(req, path, codec).await - } - /// ConsensusState queries a consensus state associated with a client state at - /// a given height. - pub async fn 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/ConsensusState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ConsensusState")); - self.inner.unary(req, path, codec).await - } - /// ConsensusStates queries all the consensus state associated with a given - /// client. - pub async fn consensus_states( - &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/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 - } - /// ConsensusStateHeights queries the height of every consensus states associated with a given client. - 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", - ); - 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 - } - /// Status queries the status of an IBC client. - pub async fn client_status( - &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/ClientStatus", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStatus")); - self.inner.unary(req, path, codec).await - } - /// ClientParams queries all parameters of the ibc client submodule. - pub async fn client_params( - &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/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 - } - /// UpgradedClientState queries an Upgraded IBC light client. - 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 - } - /// UpgradedConsensusState queries an Upgraded IBC consensus state. - 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", - ); - 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 - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// ClientState queries an IBC light client. - async fn client_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ClientStates queries all the IBC light clients of a chain. - async fn client_states( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConsensusState queries a consensus state associated with a client state at - /// a given height. - async fn consensus_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConsensusStates queries all the consensus state associated with a given - /// client. - async fn consensus_states( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConsensusStateHeights queries the height of every consensus states associated with a given client. - async fn consensus_state_heights( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Status queries the status of an IBC client. - async fn client_status( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ClientParams queries all parameters of the ibc client submodule. - async fn client_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpgradedClientState queries an Upgraded IBC light client. - async fn upgraded_client_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpgradedConsensusState queries an Upgraded IBC consensus state. - async fn upgraded_consensus_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query provides defines the gRPC querier service - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.core.client.v1.Query/ClientState" => { - #[allow(non_camel_case_types)] - struct ClientStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ClientStateSvc { - type Response = super::QueryClientStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::client_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ClientStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/ClientStates" => { - #[allow(non_camel_case_types)] - struct ClientStatesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ClientStatesSvc { - type Response = super::QueryClientStatesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::client_states(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ClientStatesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/ConsensusState" => { - #[allow(non_camel_case_types)] - struct ConsensusStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ConsensusStateSvc { - type Response = super::QueryConsensusStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::consensus_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConsensusStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/ConsensusStates" => { - #[allow(non_camel_case_types)] - struct ConsensusStatesSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ConsensusStatesSvc { - type Response = super::QueryConsensusStatesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::consensus_states(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConsensusStatesSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/ConsensusStateHeights" => { - #[allow(non_camel_case_types)] - struct ConsensusStateHeightsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryConsensusStateHeightsRequest, - > for ConsensusStateHeightsSvc { - type Response = super::QueryConsensusStateHeightsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryConsensusStateHeightsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::consensus_state_heights(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConsensusStateHeightsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/ClientStatus" => { - #[allow(non_camel_case_types)] - struct ClientStatusSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ClientStatusSvc { - type Response = super::QueryClientStatusResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::client_status(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ClientStatusSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/ClientParams" => { - #[allow(non_camel_case_types)] - struct ClientParamsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ClientParamsSvc { - type Response = super::QueryClientParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::client_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ClientParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/UpgradedClientState" => { - #[allow(non_camel_case_types)] - struct UpgradedClientStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for UpgradedClientStateSvc { - type Response = super::QueryUpgradedClientStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryUpgradedClientStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::upgraded_client_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpgradedClientStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.client.v1.Query/UpgradedConsensusState" => { - #[allow(non_camel_case_types)] - struct UpgradedConsensusStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryUpgradedConsensusStateRequest, - > for UpgradedConsensusStateSvc { - type Response = super::QueryUpgradedConsensusStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryUpgradedConsensusStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::upgraded_consensus_state(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpgradedConsensusStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.core.client.v1.Query"; - } -} diff --git a/src/prost/ibc.core.commitment.v1.rs b/src/prost/ibc.core.commitment.v1.rs deleted file mode 100644 index 9214a828..00000000 --- a/src/prost/ibc.core.commitment.v1.rs +++ /dev/null @@ -1,89 +0,0 @@ -/// MerkleRoot defines a merkle root hash. -/// In the Cosmos SDK, the AppHash of a block header becomes the root. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MerkleRoot { - #[prost(bytes = "vec", tag = "1")] - #[cfg_attr(feature = "serde", serde(with = "crate::base64"))] - #[cfg_attr( - all(feature = "json-schema", feature = "serde"), - schemars(with = "String") - )] - pub hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MerkleRoot { - const NAME: &'static str = "MerkleRoot"; - const PACKAGE: &'static str = "ibc.core.commitment.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) - } -} -/// MerklePrefix is merkle path prefixed to the key. -/// The constructed key from the Path and the key will be append(Path.KeyPath, -/// append(Path.KeyPrefix, key...)) -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MerklePrefix { - #[prost(bytes = "vec", tag = "1")] - #[cfg_attr(feature = "serde", serde(with = "crate::base64"))] - #[cfg_attr( - all(feature = "json-schema", feature = "serde"), - schemars(with = "String") - )] - pub key_prefix: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MerklePrefix { - const NAME: &'static str = "MerklePrefix"; - const PACKAGE: &'static str = "ibc.core.commitment.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) - } -} -/// MerklePath is the path used to verify commitment proofs, which can be an -/// arbitrary structured object (defined by a commitment type). -/// MerklePath is represented from root-to-leaf -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MerklePath { - #[prost(string, repeated, tag = "1")] - pub key_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for MerklePath { - const NAME: &'static str = "MerklePath"; - const PACKAGE: &'static str = "ibc.core.commitment.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) - } -} -/// MerkleProof is a wrapper type over a chain of CommitmentProofs. -/// It demonstrates membership or non-membership for an element or set of -/// elements, verifiable in conjunction with a known commitment root. Proofs -/// should be succinct. -/// MerkleProofs are ordered from leaf-to-root -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MerkleProof { - #[prost(message, repeated, tag = "1")] - pub proofs: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::ics23::v1::CommitmentProof, - >, -} -impl ::prost::Name for MerkleProof { - const NAME: &'static str = "MerkleProof"; - const PACKAGE: &'static str = "ibc.core.commitment.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.core.connection.v1.rs b/src/prost/ibc.core.connection.v1.rs deleted file mode 100644 index 3d889e58..00000000 --- a/src/prost/ibc.core.connection.v1.rs +++ /dev/null @@ -1,2062 +0,0 @@ -/// ConnectionEnd defines a stateful object on a chain connected to another -/// separate one. -/// NOTE: there must only be 2 defined ConnectionEnds to establish -/// a connection between two chains. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConnectionEnd { - /// client associated with this connection. - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// IBC version which can be utilised to determine encodings or protocols for - /// channels or packets utilising this connection. - #[prost(message, repeated, tag = "2")] - pub versions: ::prost::alloc::vec::Vec, - /// current state of the connection end. - #[prost(enumeration = "State", tag = "3")] - pub state: i32, - /// counterparty chain associated with this connection. - #[prost(message, optional, tag = "4")] - pub counterparty: ::core::option::Option, - /// delay period that must pass before a consensus state can be used for - /// packet-verification NOTE: delay period logic is only implemented by some - /// clients. - #[prost(uint64, tag = "5")] - pub delay_period: u64, -} -impl ::prost::Name for ConnectionEnd { - const NAME: &'static str = "ConnectionEnd"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// IdentifiedConnection defines a connection with additional connection -/// identifier field. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct IdentifiedConnection { - /// connection identifier. - #[prost(string, tag = "1")] - pub id: ::prost::alloc::string::String, - /// client associated with this connection. - #[prost(string, tag = "2")] - pub client_id: ::prost::alloc::string::String, - /// IBC version which can be utilised to determine encodings or protocols for - /// channels or packets utilising this connection - #[prost(message, repeated, tag = "3")] - pub versions: ::prost::alloc::vec::Vec, - /// current state of the connection end. - #[prost(enumeration = "State", tag = "4")] - pub state: i32, - /// counterparty chain associated with this connection. - #[prost(message, optional, tag = "5")] - pub counterparty: ::core::option::Option, - /// delay period associated with this connection. - #[prost(uint64, tag = "6")] - pub delay_period: u64, -} -impl ::prost::Name for IdentifiedConnection { - const NAME: &'static str = "IdentifiedConnection"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// Counterparty defines the counterparty chain associated with a connection end. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Counterparty { - /// identifies the client on the counterparty chain associated with a given - /// connection. - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// identifies the connection end on the counterparty chain associated with a - /// given connection. - #[prost(string, tag = "2")] - pub connection_id: ::prost::alloc::string::String, - /// commitment merkle prefix of the counterparty chain. - #[prost(message, optional, tag = "3")] - pub prefix: ::core::option::Option, -} -impl ::prost::Name for Counterparty { - const NAME: &'static str = "Counterparty"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// ClientPaths define all the connection paths for a 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 ClientPaths { - /// list of connection paths - #[prost(string, repeated, tag = "1")] - pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ClientPaths { - const NAME: &'static str = "ClientPaths"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// ConnectionPaths define all the connection paths for a given 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 ConnectionPaths { - /// client state unique identifier - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// list of connection paths - #[prost(string, repeated, tag = "2")] - pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ConnectionPaths { - const NAME: &'static str = "ConnectionPaths"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// Version defines the versioning scheme used to negotiate the IBC verison in -/// the connection handshake. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[cfg_attr( - all(feature = "json-schema", feature = "serde"), - derive(::schemars::JsonSchema) -)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Version { - /// unique version identifier - #[prost(string, tag = "1")] - pub identifier: ::prost::alloc::string::String, - /// list of features compatible with the specified identifier - #[prost(string, repeated, tag = "2")] - pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for Version { - const NAME: &'static str = "Version"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// Params defines the set of Connection parameters. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - /// maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the - /// largest amount of time that the chain might reasonably take to produce the next block under normal operating - /// conditions. A safe choice is 3-5x the expected time per block. - #[prost(uint64, tag = "1")] - pub max_expected_time_per_block: u64, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// State defines if a connection is in one of the following states: -/// INIT, TRYOPEN, OPEN or UNINITIALIZED. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum State { - /// Default State - UninitializedUnspecified = 0, - /// A connection end has just started the opening handshake. - Init = 1, - /// A connection end has acknowledged the handshake step on the counterparty - /// chain. - Tryopen = 2, - /// A connection end has completed the handshake. - Open = 3, -} -impl State { - /// 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 { - State::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED", - State::Init => "STATE_INIT", - State::Tryopen => "STATE_TRYOPEN", - State::Open => "STATE_OPEN", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "STATE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified), - "STATE_INIT" => Some(Self::Init), - "STATE_TRYOPEN" => Some(Self::Tryopen), - "STATE_OPEN" => Some(Self::Open), - _ => None, - } - } -} -/// 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))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgConnectionOpenInit { - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub counterparty: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub version: ::core::option::Option, - #[prost(uint64, tag = "4")] - pub delay_period: u64, - #[prost(string, tag = "5")] - pub signer: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgConnectionOpenInit { - const NAME: &'static str = "MsgConnectionOpenInit"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit 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 MsgConnectionOpenInitResponse {} -impl ::prost::Name for MsgConnectionOpenInitResponse { - const NAME: &'static str = "MsgConnectionOpenInitResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a -/// connection on 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 MsgConnectionOpenTry { - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - /// Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC. - #[deprecated] - #[prost(string, tag = "2")] - pub previous_connection_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - #[prost(message, optional, tag = "4")] - pub counterparty: ::core::option::Option, - #[prost(uint64, tag = "5")] - pub delay_period: u64, - #[prost(message, repeated, tag = "6")] - pub counterparty_versions: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "7")] - pub proof_height: ::core::option::Option, - /// proof of the initialization the connection on Chain A: `UNITIALIZED -> - /// INIT` - #[prost(bytes = "vec", tag = "8")] - pub proof_init: ::prost::alloc::vec::Vec, - /// proof of client state included in message - #[prost(bytes = "vec", tag = "9")] - pub proof_client: ::prost::alloc::vec::Vec, - /// proof of client consensus state - #[prost(bytes = "vec", tag = "10")] - pub proof_consensus: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "11")] - pub consensus_height: ::core::option::Option, - #[prost(string, tag = "12")] - pub signer: ::prost::alloc::string::String, - /// optional proof data for host state machines that are unable to introspect their own consensus state - #[prost(bytes = "vec", tag = "13")] - pub host_consensus_state_proof: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgConnectionOpenTry { - const NAME: &'static str = "MsgConnectionOpenTry"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry 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 MsgConnectionOpenTryResponse {} -impl ::prost::Name for MsgConnectionOpenTryResponse { - const NAME: &'static str = "MsgConnectionOpenTryResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to -/// acknowledge the change of connection state to TRYOPEN on 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 MsgConnectionOpenAck { - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub counterparty_connection_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub version: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - #[prost(message, optional, tag = "5")] - pub proof_height: ::core::option::Option, - /// proof of the initialization the connection on Chain B: `UNITIALIZED -> - /// TRYOPEN` - #[prost(bytes = "vec", tag = "6")] - pub proof_try: ::prost::alloc::vec::Vec, - /// proof of client state included in message - #[prost(bytes = "vec", tag = "7")] - pub proof_client: ::prost::alloc::vec::Vec, - /// proof of client consensus state - #[prost(bytes = "vec", tag = "8")] - pub proof_consensus: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "9")] - pub consensus_height: ::core::option::Option, - #[prost(string, tag = "10")] - pub signer: ::prost::alloc::string::String, - /// optional proof data for host state machines that are unable to introspect their own consensus state - #[prost(bytes = "vec", tag = "11")] - pub host_consensus_state_proof: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MsgConnectionOpenAck { - const NAME: &'static str = "MsgConnectionOpenAck"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck 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 MsgConnectionOpenAckResponse {} -impl ::prost::Name for MsgConnectionOpenAckResponse { - const NAME: &'static str = "MsgConnectionOpenAckResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to -/// acknowledge the change of connection 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 MsgConnectionOpenConfirm { - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, - /// proof for the change of the connection state on Chain A: `INIT -> OPEN` - #[prost(bytes = "vec", tag = "2")] - pub proof_ack: ::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 MsgConnectionOpenConfirm { - const NAME: &'static str = "MsgConnectionOpenConfirm"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm -/// 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 MsgConnectionOpenConfirmResponse {} -impl ::prost::Name for MsgConnectionOpenConfirmResponse { - const NAME: &'static str = "MsgConnectionOpenConfirmResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// MsgUpdateParams defines the sdk.Msg type to update the connection parameters. -#[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 connection 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 = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// 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 MsgUpdateParamsResponse {} -impl ::prost::Name for MsgUpdateParamsResponse { - const NAME: &'static str = "MsgUpdateParamsResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the ibc/connection Msg service. - #[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 - } - /// ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit. - pub async fn connection_open_init( - &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.connection.v1.Msg/ConnectionOpenInit", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.connection.v1.Msg", "ConnectionOpenInit"), - ); - self.inner.unary(req, path, codec).await - } - /// ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry. - pub async fn connection_open_try( - &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.connection.v1.Msg/ConnectionOpenTry", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.connection.v1.Msg", "ConnectionOpenTry"), - ); - self.inner.unary(req, path, codec).await - } - /// ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. - pub async fn connection_open_ack( - &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.connection.v1.Msg/ConnectionOpenAck", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.connection.v1.Msg", "ConnectionOpenAck"), - ); - self.inner.unary(req, path, codec).await - } - /// ConnectionOpenConfirm defines a rpc handler method for - /// MsgConnectionOpenConfirm. - pub async fn connection_open_confirm( - &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.connection.v1.Msg/ConnectionOpenConfirm", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.core.connection.v1.Msg", - "ConnectionOpenConfirm", - ), - ); - self.inner.unary(req, path, codec).await - } - /// UpdateConnectionParams defines a rpc handler method for - /// MsgUpdateParams. - pub async fn update_connection_params( - &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.connection.v1.Msg/UpdateConnectionParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.core.connection.v1.Msg", - "UpdateConnectionParams", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit. - async fn connection_open_init( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry. - async fn connection_open_try( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. - async fn connection_open_ack( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionOpenConfirm defines a rpc handler method for - /// MsgConnectionOpenConfirm. - async fn connection_open_confirm( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// UpdateConnectionParams defines a rpc handler method for - /// MsgUpdateParams. - async fn update_connection_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the ibc/connection Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.core.connection.v1.Msg/ConnectionOpenInit" => { - #[allow(non_camel_case_types)] - struct ConnectionOpenInitSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for ConnectionOpenInitSvc { - type Response = super::MsgConnectionOpenInitResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_open_init(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionOpenInitSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Msg/ConnectionOpenTry" => { - #[allow(non_camel_case_types)] - struct ConnectionOpenTrySvc(pub Arc); - impl tonic::server::UnaryService - for ConnectionOpenTrySvc { - type Response = super::MsgConnectionOpenTryResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_open_try(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionOpenTrySvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Msg/ConnectionOpenAck" => { - #[allow(non_camel_case_types)] - struct ConnectionOpenAckSvc(pub Arc); - impl tonic::server::UnaryService - for ConnectionOpenAckSvc { - type Response = super::MsgConnectionOpenAckResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_open_ack(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionOpenAckSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Msg/ConnectionOpenConfirm" => { - #[allow(non_camel_case_types)] - struct ConnectionOpenConfirmSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for ConnectionOpenConfirmSvc { - type Response = super::MsgConnectionOpenConfirmResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_open_confirm(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionOpenConfirmSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Msg/UpdateConnectionParams" => { - #[allow(non_camel_case_types)] - struct UpdateConnectionParamsSvc(pub Arc); - impl tonic::server::UnaryService - for UpdateConnectionParamsSvc { - type Response = super::MsgUpdateParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_connection_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = UpdateConnectionParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "ibc.core.connection.v1.Msg"; - } -} -/// QueryConnectionRequest is the request type for the Query/Connection 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 QueryConnectionRequest { - /// connection unique identifier - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryConnectionRequest { - const NAME: &'static str = "QueryConnectionRequest"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionResponse is the response type for the Query/Connection RPC -/// method. Besides the connection 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 QueryConnectionResponse { - /// connection associated with the request identifier - #[prost(message, optional, tag = "1")] - pub connection: ::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 QueryConnectionResponse { - const NAME: &'static str = "QueryConnectionResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionsRequest is the request type for the Query/Connections 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 QueryConnectionsRequest { - #[prost(message, optional, tag = "1")] - pub pagination: ::core::option::Option< - super::super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, -} -impl ::prost::Name for QueryConnectionsRequest { - const NAME: &'static str = "QueryConnectionsRequest"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionsResponse is the response type for the Query/Connections 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 QueryConnectionsResponse { - /// list of stored connections of the chain. - #[prost(message, repeated, tag = "1")] - pub connections: ::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 QueryConnectionsResponse { - const NAME: &'static str = "QueryConnectionsResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryClientConnectionsRequest is the request type for the -/// Query/ClientConnections 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 QueryClientConnectionsRequest { - /// client identifier associated with a connection - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryClientConnectionsRequest { - const NAME: &'static str = "QueryClientConnectionsRequest"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryClientConnectionsResponse is the response type for the -/// Query/ClientConnections 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 QueryClientConnectionsResponse { - /// slice of all the connection paths associated with a client. - #[prost(string, repeated, tag = "1")] - pub connection_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// merkle proof of existence - #[prost(bytes = "vec", tag = "2")] - pub proof: ::prost::alloc::vec::Vec, - /// height at which the proof was generated - #[prost(message, optional, tag = "3")] - pub proof_height: ::core::option::Option, -} -impl ::prost::Name for QueryClientConnectionsResponse { - const NAME: &'static str = "QueryClientConnectionsResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionClientStateRequest is the request type for the -/// Query/ConnectionClientState 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 QueryConnectionClientStateRequest { - /// connection identifier - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryConnectionClientStateRequest { - const NAME: &'static str = "QueryConnectionClientStateRequest"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionClientStateResponse is the response type for the -/// Query/ConnectionClientState 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 QueryConnectionClientStateResponse { - /// client state associated with the channel - #[prost(message, optional, tag = "1")] - pub identified_client_state: ::core::option::Option< - super::super::client::v1::IdentifiedClientState, - >, - /// 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 QueryConnectionClientStateResponse { - const NAME: &'static str = "QueryConnectionClientStateResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionConsensusStateRequest is the request type for the -/// Query/ConnectionConsensusState 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 QueryConnectionConsensusStateRequest { - /// connection identifier - #[prost(string, tag = "1")] - pub connection_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - pub revision_number: u64, - #[prost(uint64, tag = "3")] - pub revision_height: u64, -} -impl ::prost::Name for QueryConnectionConsensusStateRequest { - const NAME: &'static str = "QueryConnectionConsensusStateRequest"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionConsensusStateResponse is the response type for the -/// Query/ConnectionConsensusState 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 QueryConnectionConsensusStateResponse { - /// consensus state associated with the channel - #[prost(message, optional, tag = "1")] - pub consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::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 QueryConnectionConsensusStateResponse { - const NAME: &'static str = "QueryConnectionConsensusStateResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionParamsRequest is the request type for the Query/ConnectionParams 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 QueryConnectionParamsRequest {} -impl ::prost::Name for QueryConnectionParamsRequest { - const NAME: &'static str = "QueryConnectionParamsRequest"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// QueryConnectionParamsResponse is the response type for the Query/ConnectionParams 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 QueryConnectionParamsResponse { - /// params defines the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -impl ::prost::Name for QueryConnectionParamsResponse { - const NAME: &'static str = "QueryConnectionParamsResponse"; - const PACKAGE: &'static str = "ibc.core.connection.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Query provides defines the gRPC querier service - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// Connection queries an IBC connection end. - pub async fn connection( - &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.connection.v1.Query/Connection", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.connection.v1.Query", "Connection")); - self.inner.unary(req, path, codec).await - } - /// Connections queries all the IBC connections of a chain. - pub async fn connections( - &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.connection.v1.Query/Connections", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("ibc.core.connection.v1.Query", "Connections")); - self.inner.unary(req, path, codec).await - } - /// ClientConnections queries the connection paths associated with a client - /// state. - pub async fn client_connections( - &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.connection.v1.Query/ClientConnections", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.connection.v1.Query", "ClientConnections"), - ); - self.inner.unary(req, path, codec).await - } - /// ConnectionClientState queries the client state associated with the - /// connection. - pub async fn connection_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.connection.v1.Query/ConnectionClientState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.core.connection.v1.Query", - "ConnectionClientState", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ConnectionConsensusState queries the consensus state associated with the - /// connection. - pub async fn connection_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.connection.v1.Query/ConnectionConsensusState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "ibc.core.connection.v1.Query", - "ConnectionConsensusState", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ConnectionParams queries all parameters of the ibc connection submodule. - pub async fn connection_params( - &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.connection.v1.Query/ConnectionParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("ibc.core.connection.v1.Query", "ConnectionParams"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// Connection queries an IBC connection end. - async fn connection( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// Connections queries all the IBC connections of a chain. - async fn connections( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ClientConnections queries the connection paths associated with a client - /// state. - async fn client_connections( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionClientState queries the client state associated with the - /// connection. - async fn connection_client_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionConsensusState queries the consensus state associated with the - /// connection. - async fn connection_consensus_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConnectionParams queries all parameters of the ibc connection submodule. - async fn connection_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Query provides defines the gRPC querier service - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/ibc.core.connection.v1.Query/Connection" => { - #[allow(non_camel_case_types)] - struct ConnectionSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ConnectionSvc { - type Response = super::QueryConnectionResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Query/Connections" => { - #[allow(non_camel_case_types)] - struct ConnectionsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ConnectionsSvc { - type Response = super::QueryConnectionsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connections(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Query/ClientConnections" => { - #[allow(non_camel_case_types)] - struct ClientConnectionsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ClientConnectionsSvc { - type Response = super::QueryClientConnectionsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::client_connections(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ClientConnectionsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Query/ConnectionClientState" => { - #[allow(non_camel_case_types)] - struct ConnectionClientStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryConnectionClientStateRequest, - > for ConnectionClientStateSvc { - type Response = super::QueryConnectionClientStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryConnectionClientStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_client_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionClientStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Query/ConnectionConsensusState" => { - #[allow(non_camel_case_types)] - struct ConnectionConsensusStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryConnectionConsensusStateRequest, - > for ConnectionConsensusStateSvc { - type Response = super::QueryConnectionConsensusStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryConnectionConsensusStateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_consensus_state(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionConsensusStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/ibc.core.connection.v1.Query/ConnectionParams" => { - #[allow(non_camel_case_types)] - struct ConnectionParamsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for ConnectionParamsSvc { - type Response = super::QueryConnectionParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::connection_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = ConnectionParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "ibc.core.connection.v1.Query"; - } -} diff --git a/src/prost/ibc.core.types.v1.rs b/src/prost/ibc.core.types.v1.rs deleted file mode 100644 index 62b09848..00000000 --- a/src/prost/ibc.core.types.v1.rs +++ /dev/null @@ -1,24 +0,0 @@ -/// GenesisState defines the ibc 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 { - /// ICS002 - Clients genesis state - #[prost(message, optional, tag = "1")] - pub client_genesis: ::core::option::Option, - /// ICS003 - Connections genesis state - #[prost(message, optional, tag = "2")] - pub connection_genesis: ::core::option::Option< - super::super::connection::v1::GenesisState, - >, - /// ICS004 - Channel genesis state - #[prost(message, optional, tag = "3")] - pub channel_genesis: ::core::option::Option, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "ibc.core.types.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.core.types.v1.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.lightclients.localhost.v1.rs b/src/prost/ibc.lightclients.localhost.v1.rs deleted file mode 100644 index 4fe8fe76..00000000 --- a/src/prost/ibc.lightclients.localhost.v1.rs +++ /dev/null @@ -1,19 +0,0 @@ -/// ClientState defines a loopback (localhost) client. It requires (read-only) -/// access to keys outside the client prefix. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - /// self chain ID - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - /// self latest block height - #[prost(message, optional, tag = "2")] - pub height: ::core::option::Option, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "ibc.lightclients.localhost.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.localhost.v1.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.lightclients.localhost.v2.rs b/src/prost/ibc.lightclients.localhost.v2.rs deleted file mode 100644 index d157ac26..00000000 --- a/src/prost/ibc.lightclients.localhost.v2.rs +++ /dev/null @@ -1,18 +0,0 @@ -/// ClientState defines the 09-localhost 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 ClientState { - /// the latest block height - #[prost(message, optional, tag = "1")] - pub latest_height: ::core::option::Option< - super::super::super::core::client::v1::Height, - >, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "ibc.lightclients.localhost.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.localhost.v2.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.lightclients.solomachine.v2.rs b/src/prost/ibc.lightclients.solomachine.v2.rs deleted file mode 100644 index d74115f8..00000000 --- a/src/prost/ibc.lightclients.solomachine.v2.rs +++ /dev/null @@ -1,380 +0,0 @@ -/// ClientState defines a solo machine client that tracks the current consensus -/// state and if the client is frozen. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - /// latest sequence of the client state - #[prost(uint64, tag = "1")] - pub sequence: u64, - /// frozen sequence of the solo machine - #[prost(bool, tag = "2")] - pub is_frozen: bool, - #[prost(message, optional, tag = "3")] - pub consensus_state: ::core::option::Option, - /// when set to true, will allow governance to update a solo machine client. - /// The client will be unfrozen if it is frozen. - #[prost(bool, tag = "4")] - pub allow_update_after_proposal: bool, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// ConsensusState defines a solo machine consensus state. The sequence of a -/// consensus state is contained in the "height" key used in storing the -/// consensus state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - /// public key of the solo machine - #[prost(message, optional, tag = "1")] - pub public_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// diversifier allows the same public key to be re-used across different solo - /// machine clients (potentially on different chains) without being considered - /// misbehaviour. - #[prost(string, tag = "2")] - pub diversifier: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - pub timestamp: u64, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// Header defines a solo machine consensus header -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - /// sequence to update solo machine public key at - #[prost(uint64, tag = "1")] - pub sequence: u64, - #[prost(uint64, tag = "2")] - pub timestamp: u64, - #[prost(bytes = "vec", tag = "3")] - pub signature: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "4")] - pub new_public_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - #[prost(string, tag = "5")] - pub new_diversifier: ::prost::alloc::string::String, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// Misbehaviour defines misbehaviour for a solo machine which consists -/// of a sequence and two signatures over different messages at that sequence. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Misbehaviour { - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - pub sequence: u64, - #[prost(message, optional, tag = "3")] - pub signature_one: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub signature_two: ::core::option::Option, -} -impl ::prost::Name for Misbehaviour { - const NAME: &'static str = "Misbehaviour"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// SignatureAndData contains a signature and the data signed over to create that -/// signature. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignatureAndData { - #[prost(bytes = "vec", tag = "1")] - pub signature: ::prost::alloc::vec::Vec, - #[prost(enumeration = "DataType", tag = "2")] - pub data_type: i32, - #[prost(bytes = "vec", tag = "3")] - pub data: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "4")] - pub timestamp: u64, -} -impl ::prost::Name for SignatureAndData { - const NAME: &'static str = "SignatureAndData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// TimestampedSignatureData contains the signature data and the timestamp of the -/// signature. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TimestampedSignatureData { - #[prost(bytes = "vec", tag = "1")] - pub signature_data: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for TimestampedSignatureData { - const NAME: &'static str = "TimestampedSignatureData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// SignBytes defines the signed bytes used for signature verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignBytes { - #[prost(uint64, tag = "1")] - pub sequence: u64, - #[prost(uint64, tag = "2")] - pub timestamp: u64, - #[prost(string, tag = "3")] - pub diversifier: ::prost::alloc::string::String, - /// type of the data used - #[prost(enumeration = "DataType", tag = "4")] - pub data_type: i32, - /// marshaled data - #[prost(bytes = "vec", tag = "5")] - pub data: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SignBytes { - const NAME: &'static str = "SignBytes"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// HeaderData returns the SignBytes data for update verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeaderData { - /// header public key - #[prost(message, optional, tag = "1")] - pub new_pub_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// header diversifier - #[prost(string, tag = "2")] - pub new_diversifier: ::prost::alloc::string::String, -} -impl ::prost::Name for HeaderData { - const NAME: &'static str = "HeaderData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// ClientStateData returns the SignBytes data for client state verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientStateData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub client_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for ClientStateData { - const NAME: &'static str = "ClientStateData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// ConsensusStateData returns the SignBytes data for consensus state -/// verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusStateData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub consensus_state: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for ConsensusStateData { - const NAME: &'static str = "ConsensusStateData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// ConnectionStateData returns the SignBytes data for connection state -/// verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConnectionStateData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub connection: ::core::option::Option< - super::super::super::core::connection::v1::ConnectionEnd, - >, -} -impl ::prost::Name for ConnectionStateData { - const NAME: &'static str = "ConnectionStateData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// ChannelStateData returns the SignBytes data for channel state -/// verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ChannelStateData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub channel: ::core::option::Option, -} -impl ::prost::Name for ChannelStateData { - const NAME: &'static str = "ChannelStateData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// PacketCommitmentData returns the SignBytes data for packet commitment -/// verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketCommitmentData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub commitment: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PacketCommitmentData { - const NAME: &'static str = "PacketCommitmentData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// PacketAcknowledgementData returns the SignBytes data for acknowledgement -/// verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketAcknowledgementData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub acknowledgement: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PacketAcknowledgementData { - const NAME: &'static str = "PacketAcknowledgementData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// PacketReceiptAbsenceData returns the SignBytes data for -/// packet receipt absence verification. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PacketReceiptAbsenceData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for PacketReceiptAbsenceData { - const NAME: &'static str = "PacketReceiptAbsenceData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// NextSequenceRecvData returns the SignBytes data for verification of the next -/// sequence to be received. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NextSequenceRecvData { - #[prost(bytes = "vec", tag = "1")] - pub path: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub next_seq_recv: u64, -} -impl ::prost::Name for NextSequenceRecvData { - const NAME: &'static str = "NextSequenceRecvData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) - } -} -/// DataType defines the type of solo machine proof being created. This is done -/// to preserve uniqueness of different data sign byte encodings. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum DataType { - /// Default State - UninitializedUnspecified = 0, - /// Data type for client state verification - ClientState = 1, - /// Data type for consensus state verification - ConsensusState = 2, - /// Data type for connection state verification - ConnectionState = 3, - /// Data type for channel state verification - ChannelState = 4, - /// Data type for packet commitment verification - PacketCommitment = 5, - /// Data type for packet acknowledgement verification - PacketAcknowledgement = 6, - /// Data type for packet receipt absence verification - PacketReceiptAbsence = 7, - /// Data type for next sequence recv verification - NextSequenceRecv = 8, - /// Data type for header verification - Header = 9, -} -impl DataType { - /// 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 { - DataType::UninitializedUnspecified => "DATA_TYPE_UNINITIALIZED_UNSPECIFIED", - DataType::ClientState => "DATA_TYPE_CLIENT_STATE", - DataType::ConsensusState => "DATA_TYPE_CONSENSUS_STATE", - DataType::ConnectionState => "DATA_TYPE_CONNECTION_STATE", - DataType::ChannelState => "DATA_TYPE_CHANNEL_STATE", - DataType::PacketCommitment => "DATA_TYPE_PACKET_COMMITMENT", - DataType::PacketAcknowledgement => "DATA_TYPE_PACKET_ACKNOWLEDGEMENT", - DataType::PacketReceiptAbsence => "DATA_TYPE_PACKET_RECEIPT_ABSENCE", - DataType::NextSequenceRecv => "DATA_TYPE_NEXT_SEQUENCE_RECV", - DataType::Header => "DATA_TYPE_HEADER", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "DATA_TYPE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified), - "DATA_TYPE_CLIENT_STATE" => Some(Self::ClientState), - "DATA_TYPE_CONSENSUS_STATE" => Some(Self::ConsensusState), - "DATA_TYPE_CONNECTION_STATE" => Some(Self::ConnectionState), - "DATA_TYPE_CHANNEL_STATE" => Some(Self::ChannelState), - "DATA_TYPE_PACKET_COMMITMENT" => Some(Self::PacketCommitment), - "DATA_TYPE_PACKET_ACKNOWLEDGEMENT" => Some(Self::PacketAcknowledgement), - "DATA_TYPE_PACKET_RECEIPT_ABSENCE" => Some(Self::PacketReceiptAbsence), - "DATA_TYPE_NEXT_SEQUENCE_RECV" => Some(Self::NextSequenceRecv), - "DATA_TYPE_HEADER" => Some(Self::Header), - _ => None, - } - } -} diff --git a/src/prost/ibc.lightclients.solomachine.v3.rs b/src/prost/ibc.lightclients.solomachine.v3.rs deleted file mode 100644 index 20c25cba..00000000 --- a/src/prost/ibc.lightclients.solomachine.v3.rs +++ /dev/null @@ -1,181 +0,0 @@ -/// ClientState defines a solo machine client that tracks the current consensus -/// state and if the client is frozen. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - /// latest sequence of the client state - #[prost(uint64, tag = "1")] - pub sequence: u64, - /// frozen sequence of the solo machine - #[prost(bool, tag = "2")] - pub is_frozen: bool, - #[prost(message, optional, tag = "3")] - pub consensus_state: ::core::option::Option, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// ConsensusState defines a solo machine consensus state. The sequence of a -/// consensus state is contained in the "height" key used in storing the -/// consensus state. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - /// public key of the solo machine - #[prost(message, optional, tag = "1")] - pub public_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// diversifier allows the same public key to be re-used across different solo - /// machine clients (potentially on different chains) without being considered - /// misbehaviour. - #[prost(string, tag = "2")] - pub diversifier: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - pub timestamp: u64, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// Header defines a solo machine consensus header -#[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(uint64, tag = "1")] - pub timestamp: u64, - #[prost(bytes = "vec", tag = "2")] - pub signature: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub new_public_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - #[prost(string, tag = "4")] - pub new_diversifier: ::prost::alloc::string::String, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// Misbehaviour defines misbehaviour for a solo machine which consists -/// of a sequence and two signatures over different messages at that sequence. -#[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(uint64, tag = "1")] - pub sequence: u64, - #[prost(message, optional, tag = "2")] - pub signature_one: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub signature_two: ::core::option::Option, -} -impl ::prost::Name for Misbehaviour { - const NAME: &'static str = "Misbehaviour"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// SignatureAndData contains a signature and the data signed over to create that -/// signature. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignatureAndData { - #[prost(bytes = "vec", tag = "1")] - pub signature: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "2")] - pub path: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - pub data: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "4")] - pub timestamp: u64, -} -impl ::prost::Name for SignatureAndData { - const NAME: &'static str = "SignatureAndData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// TimestampedSignatureData contains the signature data and the timestamp of the -/// signature. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TimestampedSignatureData { - #[prost(bytes = "vec", tag = "1")] - pub signature_data: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for TimestampedSignatureData { - const NAME: &'static str = "TimestampedSignatureData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// SignBytes defines the signed bytes used for signature verification. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SignBytes { - /// the sequence number - #[prost(uint64, tag = "1")] - pub sequence: u64, - /// the proof timestamp - #[prost(uint64, tag = "2")] - pub timestamp: u64, - /// the public key diversifier - #[prost(string, tag = "3")] - pub diversifier: ::prost::alloc::string::String, - /// the standardised path bytes - #[prost(bytes = "vec", tag = "4")] - pub path: ::prost::alloc::vec::Vec, - /// the marshaled data bytes - #[prost(bytes = "vec", tag = "5")] - pub data: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for SignBytes { - const NAME: &'static str = "SignBytes"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} -/// HeaderData returns the SignBytes data for update verification. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeaderData { - /// header public key - #[prost(message, optional, tag = "1")] - pub new_pub_key: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, - /// header diversifier - #[prost(string, tag = "2")] - pub new_diversifier: ::prost::alloc::string::String, -} -impl ::prost::Name for HeaderData { - const NAME: &'static str = "HeaderData"; - const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.lightclients.tendermint.v1.rs b/src/prost/ibc.lightclients.tendermint.v1.rs deleted file mode 100644 index d10d16bc..00000000 --- a/src/prost/ibc.lightclients.tendermint.v1.rs +++ /dev/null @@ -1,168 +0,0 @@ -/// ClientState from Tendermint tracks the current validator set, latest height, -/// and a possible frozen height. -#[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(message, optional, tag = "2")] - pub trust_level: ::core::option::Option, - /// duration of the period since the LastestTimestamp during which the - /// submitted headers are valid for upgrade - #[prost(message, optional, tag = "3")] - pub trusting_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// duration of the staking unbonding period - #[prost(message, optional, tag = "4")] - pub unbonding_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// defines how much new (untrusted) header's Time can drift into the future. - #[prost(message, optional, tag = "5")] - pub max_clock_drift: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// Block height when the client was frozen due to a misbehaviour - #[prost(message, optional, tag = "6")] - pub frozen_height: ::core::option::Option< - super::super::super::core::client::v1::Height, - >, - /// Latest height the client was updated to - #[prost(message, optional, tag = "7")] - pub latest_height: ::core::option::Option< - super::super::super::core::client::v1::Height, - >, - /// Proof specifications used in verifying counterparty state - #[prost(message, repeated, tag = "8")] - pub proof_specs: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::ics23::v1::ProofSpec, - >, - /// Path at which next upgraded client will be committed. - /// Each element corresponds to the key for a single CommitmentProof in the - /// chained proof. NOTE: ClientState must stored under - /// `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored - /// under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using - /// the default upgrade module, upgrade_path should be \[\]string{"upgrade", - /// "upgradedIBCState"}` - #[prost(string, repeated, tag = "9")] - pub upgrade_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// allow_update_after_expiry is deprecated - #[deprecated] - #[prost(bool, tag = "10")] - pub allow_update_after_expiry: bool, - /// allow_update_after_misbehaviour is deprecated - #[deprecated] - #[prost(bool, tag = "11")] - pub allow_update_after_misbehaviour: bool, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) - } -} -/// ConsensusState defines the consensus state from Tendermint. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[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(message, optional, tag = "1")] - pub timestamp: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, - /// commitment root (i.e app hash) - #[prost(message, optional, tag = "2")] - pub root: ::core::option::Option< - super::super::super::core::commitment::v1::MerkleRoot, - >, - #[prost(bytes = "vec", tag = "3")] - pub next_validators_hash: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) - } -} -/// Misbehaviour is a wrapper over two conflicting Headers -/// that implements Misbehaviour interface expected by ICS-02 -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Misbehaviour { - /// ClientID is deprecated - #[deprecated] - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub header_1: ::core::option::Option
, - #[prost(message, optional, tag = "3")] - pub header_2: ::core::option::Option
, -} -impl ::prost::Name for Misbehaviour { - const NAME: &'static str = "Misbehaviour"; - const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) - } -} -/// Header defines the Tendermint client consensus Header. -/// It encapsulates all the information necessary to update from a trusted -/// Tendermint ConsensusState. The inclusion of TrustedHeight and -/// TrustedValidators allows this update to process correctly, so long as the -/// ConsensusState for the TrustedHeight exists, this removes race conditions -/// among relayers The SignedHeader and ValidatorSet are the new untrusted update -/// fields for the client. The TrustedHeight is the height of a stored -/// ConsensusState on the client that will be used to verify the new untrusted -/// header. The Trusted ConsensusState must be within the unbonding period of -/// current time in order to correctly verify, and the TrustedValidators must -/// hash to TrustedConsensusState.NextValidatorsHash since that is the last -/// trusted validator set at the TrustedHeight. -#[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 signed_header: ::core::option::Option<::tendermint_proto::types::SignedHeader>, - #[prost(message, optional, tag = "2")] - pub validator_set: ::core::option::Option<::tendermint_proto::types::ValidatorSet>, - #[prost(message, optional, tag = "3")] - pub trusted_height: ::core::option::Option< - super::super::super::core::client::v1::Height, - >, - #[prost(message, optional, tag = "4")] - pub trusted_validators: ::core::option::Option< - ::tendermint_proto::types::ValidatorSet, - >, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) - } -} -/// Fraction defines the protobuf message type for tmmath.Fraction that only -/// supports positive values. -#[cfg_attr(feature = "serde", derive(::serde::Serialize, ::serde::Deserialize))] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Fraction { - #[prost(uint64, tag = "1")] - pub numerator: u64, - #[prost(uint64, tag = "2")] - pub denominator: u64, -} -impl ::prost::Name for Fraction { - const NAME: &'static str = "Fraction"; - const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) - } -} diff --git a/src/prost/ibc.mock.rs b/src/prost/ibc.mock.rs deleted file mode 100644 index d47fadf7..00000000 --- a/src/prost/ibc.mock.rs +++ /dev/null @@ -1,58 +0,0 @@ -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Header { - #[prost(message, optional, tag = "1")] - pub height: ::core::option::Option, - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for Header { - const NAME: &'static str = "Header"; - const PACKAGE: &'static str = "ibc.mock"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.mock.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ClientState { - #[prost(message, optional, tag = "1")] - pub header: ::core::option::Option
, -} -impl ::prost::Name for ClientState { - const NAME: &'static str = "ClientState"; - const PACKAGE: &'static str = "ibc.mock"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.mock.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsensusState { - #[prost(message, optional, tag = "1")] - pub header: ::core::option::Option
, -} -impl ::prost::Name for ConsensusState { - const NAME: &'static str = "ConsensusState"; - const PACKAGE: &'static str = "ibc.mock"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.mock.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Misbehaviour { - #[prost(string, tag = "1")] - pub client_id: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub header1: ::core::option::Option
, - #[prost(message, optional, tag = "3")] - pub header2: ::core::option::Option
, -} -impl ::prost::Name for Misbehaviour { - const NAME: &'static str = "Misbehaviour"; - const PACKAGE: &'static str = "ibc.mock"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("ibc.mock.{}", Self::NAME) - } -} diff --git a/src/prost/interchain_security.ccv.consumer.v1.rs b/src/prost/interchain_security.ccv.consumer.v1.rs deleted file mode 100644 index b9e93f4d..00000000 --- a/src/prost/interchain_security.ccv.consumer.v1.rs +++ /dev/null @@ -1,648 +0,0 @@ -/// CrossChainValidator defines the type used to store validator information internal -/// to the consumer CCV module. Note one cross chain validator entry is persisted for -/// each consumer validator, where incoming VSC packets update this data, which is eventually -/// forwarded to comet for consumer chain consensus. -/// -/// Note this type is only used internally to the consumer CCV module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CrossChainValidator { - #[prost(bytes = "vec", tag = "1")] - pub address: ::prost::alloc::vec::Vec, - #[prost(int64, tag = "2")] - pub power: i64, - /// pubkey is the consensus public key of the validator, as a Protobuf Any. - #[prost(message, optional, tag = "3")] - pub pubkey: ::core::option::Option< - super::super::super::super::google::protobuf::Any, - >, -} -impl ::prost::Name for CrossChainValidator { - const NAME: &'static str = "CrossChainValidator"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -/// A record storing the state of a slash packet sent to the provider chain -/// which may bounce back and forth until handled by the provider. -/// -/// Note this type is only used internally to the consumer CCV module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SlashRecord { - #[prost(bool, tag = "1")] - pub waiting_on_reply: bool, - #[prost(message, optional, tag = "2")] - pub send_time: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, -} -impl ::prost::Name for SlashRecord { - const NAME: &'static str = "SlashRecord"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -/// NextFeeDistributionEstimate holds information about next fee distribution -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct NextFeeDistributionEstimate { - /// current block height at the time of querying - #[prost(int64, tag = "1")] - pub current_height: i64, - /// block height at which last distribution took place - #[prost(int64, tag = "2")] - pub last_height: i64, - /// block height at which next distribution will take place - #[prost(int64, tag = "3")] - pub next_height: i64, - /// ratio between consumer and provider fee distribution - #[prost(string, tag = "4")] - pub distribution_fraction: ::prost::alloc::string::String, - /// total accruead fees at the time of querying - #[prost(string, tag = "5")] - pub total: ::prost::alloc::string::String, - /// amount distibuted to provider chain - #[prost(string, tag = "6")] - pub to_provider: ::prost::alloc::string::String, - /// amount distributed (kept) by consumer chain - #[prost(string, tag = "7")] - pub to_consumer: ::prost::alloc::string::String, -} -impl ::prost::Name for NextFeeDistributionEstimate { - const NAME: &'static str = "NextFeeDistributionEstimate"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryNextFeeDistributionEstimateRequest {} -impl ::prost::Name for QueryNextFeeDistributionEstimateRequest { - const NAME: &'static str = "QueryNextFeeDistributionEstimateRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryNextFeeDistributionEstimateResponse { - #[prost(message, optional, tag = "1")] - pub data: ::core::option::Option, -} -impl ::prost::Name for QueryNextFeeDistributionEstimateResponse { - const NAME: &'static str = "QueryNextFeeDistributionEstimateResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -#[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 = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -/// QueryParamsResponse is response type for the Query/Params 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, -} -impl ::prost::Name for QueryParamsResponse { - const NAME: &'static str = "QueryParamsResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProviderInfoRequest {} -impl ::prost::Name for QueryProviderInfoRequest { - const NAME: &'static str = "QueryProviderInfoRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryProviderInfoResponse { - #[prost(message, optional, tag = "1")] - pub consumer: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub provider: ::core::option::Option, -} -impl ::prost::Name for QueryProviderInfoResponse { - const NAME: &'static str = "QueryProviderInfoResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ChainInfo { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub client_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub connection_id: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub channel_id: ::prost::alloc::string::String, -} -impl ::prost::Name for ChainInfo { - const NAME: &'static str = "ChainInfo"; - const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// ConsumerGenesis queries the genesis state needed to start a consumer chain - /// whose proposal has been accepted - pub async fn query_next_fee_distribution( - &mut self, - request: impl tonic::IntoRequest< - super::QueryNextFeeDistributionEstimateRequest, - >, - ) -> 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( - "/interchain_security.ccv.consumer.v1.Query/QueryNextFeeDistribution", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.consumer.v1.Query", - "QueryNextFeeDistribution", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryParams queries the ccv/consumer module parameters. - pub async fn query_params( - &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( - "/interchain_security.ccv.consumer.v1.Query/QueryParams", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.consumer.v1.Query", - "QueryParams", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn query_provider_info( - &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( - "/interchain_security.ccv.consumer.v1.Query/QueryProviderInfo", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.consumer.v1.Query", - "QueryProviderInfo", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// ConsumerGenesis queries the genesis state needed to start a consumer chain - /// whose proposal has been accepted - async fn query_next_fee_distribution( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryParams queries the ccv/consumer module parameters. - async fn query_params( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn query_provider_info( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/interchain_security.ccv.consumer.v1.Query/QueryNextFeeDistribution" => { - #[allow(non_camel_case_types)] - struct QueryNextFeeDistributionSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryNextFeeDistributionEstimateRequest, - > for QueryNextFeeDistributionSvc { - type Response = super::QueryNextFeeDistributionEstimateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryNextFeeDistributionEstimateRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_next_fee_distribution(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryNextFeeDistributionSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.consumer.v1.Query/QueryParams" => { - #[allow(non_camel_case_types)] - struct QueryParamsSvc(pub Arc); - impl tonic::server::UnaryService - for QueryParamsSvc { - type Response = super::QueryParamsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_params(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryParamsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.consumer.v1.Query/QueryProviderInfo" => { - #[allow(non_camel_case_types)] - struct QueryProviderInfoSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for QueryProviderInfoSvc { - type Response = super::QueryProviderInfoResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_provider_info(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryProviderInfoSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "interchain_security.ccv.consumer.v1.Query"; - } -} diff --git a/src/prost/interchain_security.ccv.provider.v1.rs b/src/prost/interchain_security.ccv.provider.v1.rs deleted file mode 100644 index f0561dee..00000000 --- a/src/prost/interchain_security.ccv.provider.v1.rs +++ /dev/null @@ -1,2515 +0,0 @@ -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgAssignConsumerKey { - /// The chain id of the consumer chain to assign a consensus public key to - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - /// The validator address on the provider - #[prost(string, tag = "2")] - pub provider_addr: ::prost::alloc::string::String, - /// The consensus public key to use on the consumer. - /// in json string format corresponding to proto-any, ex: - /// `{"@type":"/cosmos.crypto.ed25519.PubKey","key":"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is="}` - #[prost(string, tag = "3")] - pub consumer_key: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgAssignConsumerKey { - const NAME: &'static str = "MsgAssignConsumerKey"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgAssignConsumerKeyResponse {} -impl ::prost::Name for MsgAssignConsumerKeyResponse { - const NAME: &'static str = "MsgAssignConsumerKeyResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// MsgSubmitConsumerMisbehaviour defines a message that reports a light client attack, -/// also known as a misbehaviour, observed on a consumer chain -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitConsumerMisbehaviour { - #[prost(string, tag = "1")] - pub submitter: ::prost::alloc::string::String, - /// The Misbehaviour of the consumer chain wrapping - /// two conflicting IBC headers - #[prost(message, optional, tag = "2")] - pub misbehaviour: ::core::option::Option< - super::super::super::super::ibc::lightclients::tendermint::v1::Misbehaviour, - >, -} -impl ::prost::Name for MsgSubmitConsumerMisbehaviour { - const NAME: &'static str = "MsgSubmitConsumerMisbehaviour"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitConsumerMisbehaviourResponse {} -impl ::prost::Name for MsgSubmitConsumerMisbehaviourResponse { - const NAME: &'static str = "MsgSubmitConsumerMisbehaviourResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// MsgSubmitConsumerDoubleVoting defines a message that reports -/// a double signing infraction observed on a consumer chain -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitConsumerDoubleVoting { - #[prost(string, tag = "1")] - pub submitter: ::prost::alloc::string::String, - /// The equivocation of the consumer chain wrapping - /// an evidence of a validator that signed two conflicting votes - #[prost(message, optional, tag = "2")] - pub duplicate_vote_evidence: ::core::option::Option< - ::tendermint_proto::types::DuplicateVoteEvidence, - >, - /// The light client header of the infraction block - #[prost(message, optional, tag = "3")] - pub infraction_block_header: ::core::option::Option< - super::super::super::super::ibc::lightclients::tendermint::v1::Header, - >, -} -impl ::prost::Name for MsgSubmitConsumerDoubleVoting { - const NAME: &'static str = "MsgSubmitConsumerDoubleVoting"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitConsumerDoubleVotingResponse {} -impl ::prost::Name for MsgSubmitConsumerDoubleVotingResponse { - const NAME: &'static str = "MsgSubmitConsumerDoubleVotingResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the Msg service. - #[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 assign_consumer_key( - &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( - "/interchain_security.ccv.provider.v1.Msg/AssignConsumerKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Msg", - "AssignConsumerKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn submit_consumer_misbehaviour( - &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( - "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerMisbehaviour", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Msg", - "SubmitConsumerMisbehaviour", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn submit_consumer_double_voting( - &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( - "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerDoubleVoting", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Msg", - "SubmitConsumerDoubleVoting", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - async fn assign_consumer_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn submit_consumer_misbehaviour( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn submit_consumer_double_voting( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/interchain_security.ccv.provider.v1.Msg/AssignConsumerKey" => { - #[allow(non_camel_case_types)] - struct AssignConsumerKeySvc(pub Arc); - impl tonic::server::UnaryService - for AssignConsumerKeySvc { - type Response = super::MsgAssignConsumerKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::assign_consumer_key(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = AssignConsumerKeySvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerMisbehaviour" => { - #[allow(non_camel_case_types)] - struct SubmitConsumerMisbehaviourSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for SubmitConsumerMisbehaviourSvc { - type Response = super::MsgSubmitConsumerMisbehaviourResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::submit_consumer_misbehaviour(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SubmitConsumerMisbehaviourSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerDoubleVoting" => { - #[allow(non_camel_case_types)] - struct SubmitConsumerDoubleVotingSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for SubmitConsumerDoubleVotingSvc { - type Response = super::MsgSubmitConsumerDoubleVotingResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::submit_consumer_double_voting(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SubmitConsumerDoubleVotingSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "interchain_security.ccv.provider.v1.Msg"; - } -} -/// ConsumerAdditionProposal is a governance proposal on the provider chain to -/// spawn a new consumer chain. If it passes, then all validators on the provider -/// chain are expected to validate the consumer chain at spawn time or get -/// slashed. It is recommended that spawn time occurs after the proposal end -/// time. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerAdditionProposal { - /// the title of the proposal - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// the description of the proposal - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - /// the proposed chain-id of the new consumer chain, must be different from all - /// other consumer chain ids of the executing provider chain. - #[prost(string, tag = "3")] - pub chain_id: ::prost::alloc::string::String, - /// the proposed initial height of new consumer chain. - /// For a completely new chain, this will be {0,1}. However, it may be - /// different if this is a chain that is converting to a consumer chain. - #[prost(message, optional, tag = "4")] - pub initial_height: ::core::option::Option< - super::super::super::super::ibc::core::client::v1::Height, - >, - /// The hash of the consumer chain genesis state without the consumer CCV - /// module genesis params. It is used for off-chain confirmation of - /// genesis.json validity by validators and other parties. - #[prost(bytes = "vec", tag = "5")] - pub genesis_hash: ::prost::alloc::vec::Vec, - /// The hash of the consumer chain binary that should be run by validators on - /// chain initialization. It is used for off-chain confirmation of binary - /// validity by validators and other parties. - #[prost(bytes = "vec", tag = "6")] - pub binary_hash: ::prost::alloc::vec::Vec, - /// spawn time is the time on the provider chain at which the consumer chain - /// genesis is finalized and all validators will be responsible for starting - /// their consumer chain validator node. - #[prost(message, optional, tag = "7")] - pub spawn_time: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, - /// Unbonding period for the consumer, - /// which should be smaller than that of the provider in general. - #[prost(message, optional, tag = "8")] - pub unbonding_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// Sent CCV related IBC packets will timeout after this duration - #[prost(message, optional, tag = "9")] - pub ccv_timeout_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// Sent transfer related IBC packets will timeout after this duration - #[prost(message, optional, tag = "10")] - pub transfer_timeout_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// The fraction of tokens allocated to the consumer redistribution address - /// during distribution events. The fraction is a string representing a - /// decimal number. For example "0.75" would represent 75%. - #[prost(string, tag = "11")] - pub consumer_redistribution_fraction: ::prost::alloc::string::String, - /// BlocksPerDistributionTransmission is the number of blocks between - /// ibc-token-transfers from the consumer chain to the provider chain. On - /// sending transmission event, `consumer_redistribution_fraction` of the - /// accumulated tokens are sent to the consumer redistribution address. - #[prost(int64, tag = "12")] - pub blocks_per_distribution_transmission: i64, - /// The number of historical info entries to persist in store. - /// This param is a part of the cosmos sdk staking module. In the case of - /// a ccv enabled consumer chain, the ccv module acts as the staking module. - #[prost(int64, tag = "13")] - pub historical_entries: i64, - /// The ID of a token transfer channel used for the Reward Distribution - /// sub-protocol. If DistributionTransmissionChannel == "", a new transfer - /// channel is created on top of the same connection as the CCV channel. - /// Note that transfer_channel_id is the ID of the channel end on the consumer - /// chain. it is most relevant for chains performing a sovereign to consumer - /// changeover in order to maintan the existing ibc transfer channel - #[prost(string, tag = "14")] - pub distribution_transmission_channel: ::prost::alloc::string::String, -} -impl ::prost::Name for ConsumerAdditionProposal { - const NAME: &'static str = "ConsumerAdditionProposal"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ConsumerRemovalProposal is a governance proposal on the provider chain to -/// remove (and stop) a consumer chain. If it passes, all the consumer chain's -/// state is removed from the provider chain. The outstanding unbonding operation -/// funds are released. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerRemovalProposal { - /// the title of the proposal - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// the description of the proposal - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - /// the chain-id of the consumer chain to be stopped - #[prost(string, tag = "3")] - pub chain_id: ::prost::alloc::string::String, - /// the time on the provider chain at which all validators are responsible to - /// stop their consumer chain validator node - #[prost(message, optional, tag = "4")] - pub stop_time: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, -} -impl ::prost::Name for ConsumerRemovalProposal { - const NAME: &'static str = "ConsumerRemovalProposal"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ChangeRewardDenomsProposal is a governance proposal on the provider chain to -/// mutate the set of denoms accepted by the provider as rewards. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ChangeRewardDenomsProposal { - /// the title of the proposal - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - /// the description of the proposal - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - /// the list of consumer reward denoms to add - #[prost(string, repeated, tag = "3")] - pub denoms_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// the list of consumer reward denoms to remove - #[prost(string, repeated, tag = "4")] - pub denoms_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ChangeRewardDenomsProposal { - const NAME: &'static str = "ChangeRewardDenomsProposal"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// A persisted queue entry indicating that a slash packet data instance needs to -/// be handled. This type belongs in the "global" queue, to coordinate slash -/// packet handling times between consumers. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GlobalSlashEntry { - /// Block time that slash packet was received by provider chain. - /// This field is used for store key iteration ordering. - #[prost(message, optional, tag = "1")] - pub recv_time: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, - /// The consumer that sent a slash packet. - #[prost(string, tag = "2")] - pub consumer_chain_id: ::prost::alloc::string::String, - /// The IBC sequence number of the recv packet. - /// This field is used in the store key to ensure uniqueness. - #[prost(uint64, tag = "3")] - pub ibc_seq_num: u64, - /// The provider's consensus address of the validator being slashed. - /// This field is used to obtain validator power in HandleThrottleQueues. - /// - /// This field is not used in the store key, but is persisted in value bytes, - /// see QueueGlobalSlashEntry. - #[prost(bytes = "vec", tag = "4")] - pub provider_val_cons_addr: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GlobalSlashEntry { - const NAME: &'static str = "GlobalSlashEntry"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// Params defines the parameters for CCV Provider module -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Params { - #[prost(message, optional, tag = "1")] - pub template_client: ::core::option::Option< - super::super::super::super::ibc::lightclients::tendermint::v1::ClientState, - >, - /// TrustingPeriodFraction is used to compute the consumer and provider IBC - /// client's TrustingPeriod from the chain defined UnbondingPeriod - #[prost(string, tag = "2")] - pub trusting_period_fraction: ::prost::alloc::string::String, - /// Sent IBC packets will timeout after this duration - #[prost(message, optional, tag = "3")] - pub ccv_timeout_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// The channel initialization (IBC channel opening handshake) will timeout - /// after this duration - #[prost(message, optional, tag = "4")] - pub init_timeout_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// The VSC packets sent by the provider will timeout after this duration. - /// Note that unlike ccv_timeout_period which is an IBC param, - /// the vsc_timeout_period is a provider-side param that enables the provider - /// to timeout VSC packets even when a consumer chain is not live. - #[prost(message, optional, tag = "5")] - pub vsc_timeout_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// The period for which the slash meter is replenished - #[prost(message, optional, tag = "6")] - pub slash_meter_replenish_period: ::core::option::Option< - super::super::super::super::google::protobuf::Duration, - >, - /// The fraction of total voting power that is replenished to the slash meter - /// every replenish period. This param also serves as a maximum fraction of - /// total voting power that the slash meter can hold. - #[prost(string, tag = "7")] - pub slash_meter_replenish_fraction: ::prost::alloc::string::String, - /// The maximum amount of throttled slash or vsc matured packets - /// that can be queued for a single consumer before the provider chain halts. - #[prost(int64, tag = "8")] - pub max_throttled_packets: i64, - /// The fee required to be paid to add a reward denom - #[prost(message, optional, tag = "9")] - pub consumer_reward_denom_registration_fee: ::core::option::Option< - super::super::super::super::cosmos::base::v1beta1::Coin, - >, -} -impl ::prost::Name for Params { - const NAME: &'static str = "Params"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// SlashAcks contains cons addresses of consumer chain validators -/// successfully slashed on the provider chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SlashAcks { - #[prost(string, repeated, tag = "1")] - pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for SlashAcks { - const NAME: &'static str = "SlashAcks"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ConsumerAdditionProposals holds pending governance proposals on the provider -/// chain to spawn a new chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerAdditionProposals { - /// proposals waiting for spawn_time to pass - #[prost(message, repeated, tag = "1")] - pub pending: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsumerAdditionProposals { - const NAME: &'static str = "ConsumerAdditionProposals"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ConsumerRemovalProposals holds pending governance proposals on the provider -/// chain to remove (and stop) a consumer chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerRemovalProposals { - /// proposals waiting for stop_time to pass - #[prost(message, repeated, tag = "1")] - pub pending: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsumerRemovalProposals { - const NAME: &'static str = "ConsumerRemovalProposals"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// AddressList contains a list of consensus addresses -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AddressList { - #[prost(bytes = "vec", repeated, tag = "1")] - pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -impl ::prost::Name for AddressList { - const NAME: &'static str = "AddressList"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ChannelToChain { - #[prost(string, tag = "1")] - pub channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub chain_id: ::prost::alloc::string::String, -} -impl ::prost::Name for ChannelToChain { - const NAME: &'static str = "ChannelToChain"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// VscUnbondingOps contains the IDs of unbonding operations that are waiting for -/// at least one VSCMaturedPacket with vscID from a consumer chain -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VscUnbondingOps { - #[prost(uint64, tag = "1")] - pub vsc_id: u64, - #[prost(uint64, repeated, tag = "2")] - pub unbonding_op_ids: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for VscUnbondingOps { - const NAME: &'static str = "VscUnbondingOps"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// UnbondingOp contains the ids of consumer chains that need to unbond before -/// the unbonding operation with the given ID can unbond -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UnbondingOp { - #[prost(uint64, tag = "1")] - pub id: u64, - /// consumer chains that are still unbonding - #[prost(string, repeated, tag = "2")] - pub unbonding_consumer_chains: ::prost::alloc::vec::Vec< - ::prost::alloc::string::String, - >, -} -impl ::prost::Name for UnbondingOp { - const NAME: &'static str = "UnbondingOp"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InitTimeoutTimestamp { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - pub timestamp: u64, -} -impl ::prost::Name for InitTimeoutTimestamp { - const NAME: &'static str = "InitTimeoutTimestamp"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VscSendTimestamp { - #[prost(uint64, tag = "1")] - pub vsc_id: u64, - #[prost(message, optional, tag = "2")] - pub timestamp: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, -} -impl ::prost::Name for VscSendTimestamp { - const NAME: &'static str = "VscSendTimestamp"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ValidatorSetChangePackets is a pb list of ccv.ValidatorSetChangePacketData. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorSetChangePackets { - #[prost(message, repeated, tag = "1")] - pub list: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ValidatorSetChangePackets { - const NAME: &'static str = "ValidatorSetChangePackets"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// MaturedUnbondingOps defines a list of ids corresponding to ids of matured -/// unbonding operations. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MaturedUnbondingOps { - #[prost(uint64, repeated, tag = "1")] - pub ids: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for MaturedUnbondingOps { - const NAME: &'static str = "MaturedUnbondingOps"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ExportedVscSendTimestamps is VscSendTimestamp with chainID info for exporting to genesis -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ExportedVscSendTimestamp { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub vsc_send_timestamps: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ExportedVscSendTimestamp { - const NAME: &'static str = "ExportedVscSendTimestamp"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct KeyAssignmentReplacement { - #[prost(bytes = "vec", tag = "1")] - pub provider_addr: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub prev_c_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>, - #[prost(int64, tag = "3")] - pub power: i64, -} -impl ::prost::Name for KeyAssignmentReplacement { - const NAME: &'static str = "KeyAssignmentReplacement"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// Used to serialize the ValidatorConsumerPubKey index from key assignment -/// ValidatorConsumerPubKey: (chainID, providerAddr consAddr) -> consumerKey -/// tmprotocrypto.PublicKey -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorConsumerPubKey { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "2")] - pub provider_addr: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub consumer_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>, -} -impl ::prost::Name for ValidatorConsumerPubKey { - const NAME: &'static str = "ValidatorConsumerPubKey"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// Used to serialize the ValidatorConsumerAddr index from key assignment -/// ValidatorByConsumerAddr: (chainID, consumerAddr consAddr) -> providerAddr -/// consAddr -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorByConsumerAddr { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "2")] - pub consumer_addr: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - pub provider_addr: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ValidatorByConsumerAddr { - const NAME: &'static str = "ValidatorByConsumerAddr"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// Used to serialize the ConsumerAddrsToPrune index from key assignment -/// ConsumerAddrsToPrune: (chainID, vscID uint64) -> consumerAddrs AddressList -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerAddrsToPrune { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - pub vsc_id: u64, - #[prost(message, optional, tag = "3")] - pub consumer_addrs: ::core::option::Option, -} -impl ::prost::Name for ConsumerAddrsToPrune { - const NAME: &'static str = "ConsumerAddrsToPrune"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerGenesisRequest { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryConsumerGenesisRequest { - const NAME: &'static str = "QueryConsumerGenesisRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerGenesisResponse { - #[prost(message, optional, tag = "1")] - pub genesis_state: ::core::option::Option, -} -impl ::prost::Name for QueryConsumerGenesisResponse { - const NAME: &'static str = "QueryConsumerGenesisResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerChainsRequest {} -impl ::prost::Name for QueryConsumerChainsRequest { - const NAME: &'static str = "QueryConsumerChainsRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerChainsResponse { - #[prost(message, repeated, tag = "1")] - pub chains: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryConsumerChainsResponse { - const NAME: &'static str = "QueryConsumerChainsResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerChainStartProposalsRequest {} -impl ::prost::Name for QueryConsumerChainStartProposalsRequest { - const NAME: &'static str = "QueryConsumerChainStartProposalsRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerChainStartProposalsResponse { - #[prost(message, optional, tag = "1")] - pub proposals: ::core::option::Option, -} -impl ::prost::Name for QueryConsumerChainStartProposalsResponse { - const NAME: &'static str = "QueryConsumerChainStartProposalsResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerChainStopProposalsRequest {} -impl ::prost::Name for QueryConsumerChainStopProposalsRequest { - const NAME: &'static str = "QueryConsumerChainStopProposalsRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryConsumerChainStopProposalsResponse { - #[prost(message, optional, tag = "1")] - pub proposals: ::core::option::Option, -} -impl ::prost::Name for QueryConsumerChainStopProposalsResponse { - const NAME: &'static str = "QueryConsumerChainStopProposalsResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Chain { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub client_id: ::prost::alloc::string::String, -} -impl ::prost::Name for Chain { - const NAME: &'static str = "Chain"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorConsumerAddrRequest { - /// The id of the consumer chain - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - /// The consensus address of the validator on the provider chain - #[prost(string, tag = "2")] - pub provider_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryValidatorConsumerAddrRequest { - const NAME: &'static str = "QueryValidatorConsumerAddrRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorConsumerAddrResponse { - /// The address of the validator on the consumer chain - #[prost(string, tag = "1")] - pub consumer_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryValidatorConsumerAddrResponse { - const NAME: &'static str = "QueryValidatorConsumerAddrResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorProviderAddrRequest { - /// The id of the provider chain - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - /// The consensus address of the validator on the consumer chain - #[prost(string, tag = "2")] - pub consumer_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryValidatorProviderAddrRequest { - const NAME: &'static str = "QueryValidatorProviderAddrRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryValidatorProviderAddrResponse { - /// The address of the validator on the provider chain - #[prost(string, tag = "1")] - pub provider_address: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryValidatorProviderAddrResponse { - const NAME: &'static str = "QueryValidatorProviderAddrResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryThrottleStateRequest {} -impl ::prost::Name for QueryThrottleStateRequest { - const NAME: &'static str = "QueryThrottleStateRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryThrottleStateResponse { - /// current slash_meter state - #[prost(int64, tag = "1")] - pub slash_meter: i64, - /// allowance of voting power units (int) that the slash meter is given per - /// replenish period this also serves as the max value for the meter. - #[prost(int64, tag = "2")] - pub slash_meter_allowance: i64, - /// next time the slash meter could potentially be replenished, iff it's not - /// full - #[prost(message, optional, tag = "3")] - pub next_replenish_candidate: ::core::option::Option< - super::super::super::super::google::protobuf::Timestamp, - >, - /// data relevant to currently throttled slash packets - #[prost(message, repeated, tag = "4")] - pub packets: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryThrottleStateResponse { - const NAME: &'static str = "QueryThrottleStateResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryThrottledConsumerPacketDataRequest { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, -} -impl ::prost::Name for QueryThrottledConsumerPacketDataRequest { - const NAME: &'static str = "QueryThrottledConsumerPacketDataRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryThrottledConsumerPacketDataResponse { - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - pub size: u64, - #[prost(message, repeated, tag = "3")] - pub packet_data_instances: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for QueryThrottledConsumerPacketDataResponse { - const NAME: &'static str = "QueryThrottledConsumerPacketDataResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// A query wrapper type for the global entry and data relevant to a throttled -/// slash packet. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ThrottledSlashPacket { - #[prost(message, optional, tag = "1")] - pub global_entry: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub data: ::core::option::Option, -} -impl ::prost::Name for ThrottledSlashPacket { - const NAME: &'static str = "ThrottledSlashPacket"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ThrottledPacketDataWrapper contains either SlashPacketData or -/// VSCMaturedPacketData -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ThrottledPacketDataWrapper { - #[prost(oneof = "throttled_packet_data_wrapper::Data", tags = "1, 2")] - pub data: ::core::option::Option, -} -/// Nested message and enum types in `ThrottledPacketDataWrapper`. -pub mod throttled_packet_data_wrapper { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Data { - #[prost(message, tag = "1")] - SlashPacket(super::super::super::v1::SlashPacketData), - #[prost(message, tag = "2")] - VscMaturedPacket(super::super::super::v1::VscMaturedPacketData), - } -} -impl ::prost::Name for ThrottledPacketDataWrapper { - const NAME: &'static str = "ThrottledPacketDataWrapper"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryRegisteredConsumerRewardDenomsRequest {} -impl ::prost::Name for QueryRegisteredConsumerRewardDenomsRequest { - const NAME: &'static str = "QueryRegisteredConsumerRewardDenomsRequest"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct QueryRegisteredConsumerRewardDenomsResponse { - #[prost(string, repeated, tag = "1")] - pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for QueryRegisteredConsumerRewardDenomsResponse { - const NAME: &'static str = "QueryRegisteredConsumerRewardDenomsResponse"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod query_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct QueryClient { - inner: tonic::client::Grpc, - } - impl QueryClient { - /// 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 QueryClient - 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, - ) -> QueryClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + Send + Sync, - { - QueryClient::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 - } - /// ConsumerGenesis queries the genesis state needed to start a consumer chain - /// whose proposal has been accepted - pub async fn query_consumer_genesis( - &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( - "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryConsumerGenesis", - ), - ); - self.inner.unary(req, path, codec).await - } - /// ConsumerChains queries active consumer chains supported by the provider - /// chain - pub async fn query_consumer_chains( - &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( - "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryConsumerChains", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryConsumerChainStarts queries consumer chain start proposals. - pub async fn query_consumer_chain_starts( - &mut self, - request: impl tonic::IntoRequest< - super::QueryConsumerChainStartProposalsRequest, - >, - ) -> 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( - "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStarts", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryConsumerChainStarts", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryConsumerChainStops queries consumer chain stop proposals. - pub async fn query_consumer_chain_stops( - &mut self, - request: impl tonic::IntoRequest< - super::QueryConsumerChainStopProposalsRequest, - >, - ) -> 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( - "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStops", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryConsumerChainStops", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryValidatorConsumerAddr queries the address - /// assigned by a validator for a consumer chain. - pub async fn query_validator_consumer_addr( - &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( - "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryValidatorConsumerAddr", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryProviderAddr returns the provider chain validator - /// given a consumer chain validator address - pub async fn query_validator_provider_addr( - &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( - "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryValidatorProviderAddr", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryThrottleState returns the main on-chain state relevant to currently - /// throttled slash packets - pub async fn query_throttle_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( - "/interchain_security.ccv.provider.v1.Query/QueryThrottleState", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryThrottleState", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryThrottledConsumerPacketData returns a list of pending packet data - /// instances (slash packet and vsc matured) for a single consumer chain - pub async fn query_throttled_consumer_packet_data( - &mut self, - request: impl tonic::IntoRequest< - super::QueryThrottledConsumerPacketDataRequest, - >, - ) -> 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( - "/interchain_security.ccv.provider.v1.Query/QueryThrottledConsumerPacketData", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryThrottledConsumerPacketData", - ), - ); - self.inner.unary(req, path, codec).await - } - /// QueryRegisteredConsumerRewardDenoms returns a list of consumer reward - /// denoms that are registered - pub async fn query_registered_consumer_reward_denoms( - &mut self, - request: impl tonic::IntoRequest< - super::QueryRegisteredConsumerRewardDenomsRequest, - >, - ) -> 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( - "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "interchain_security.ccv.provider.v1.Query", - "QueryRegisteredConsumerRewardDenoms", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod query_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. - #[async_trait] - pub trait Query: Send + Sync + 'static { - /// ConsumerGenesis queries the genesis state needed to start a consumer chain - /// whose proposal has been accepted - async fn query_consumer_genesis( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// ConsumerChains queries active consumer chains supported by the provider - /// chain - async fn query_consumer_chains( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryConsumerChainStarts queries consumer chain start proposals. - async fn query_consumer_chain_starts( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryConsumerChainStops queries consumer chain stop proposals. - async fn query_consumer_chain_stops( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryValidatorConsumerAddr queries the address - /// assigned by a validator for a consumer chain. - async fn query_validator_consumer_addr( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryProviderAddr returns the provider chain validator - /// given a consumer chain validator address - async fn query_validator_provider_addr( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryThrottleState returns the main on-chain state relevant to currently - /// throttled slash packets - async fn query_throttle_state( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryThrottledConsumerPacketData returns a list of pending packet data - /// instances (slash packet and vsc matured) for a single consumer chain - async fn query_throttled_consumer_packet_data( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - /// QueryRegisteredConsumerRewardDenoms returns a list of consumer reward - /// denoms that are registered - async fn query_registered_consumer_reward_denoms( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct QueryServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl QueryServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for QueryServer - where - T: Query, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis" => { - #[allow(non_camel_case_types)] - struct QueryConsumerGenesisSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for QueryConsumerGenesisSvc { - type Response = super::QueryConsumerGenesisResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_consumer_genesis(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryConsumerGenesisSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains" => { - #[allow(non_camel_case_types)] - struct QueryConsumerChainsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for QueryConsumerChainsSvc { - type Response = super::QueryConsumerChainsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_consumer_chains(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryConsumerChainsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStarts" => { - #[allow(non_camel_case_types)] - struct QueryConsumerChainStartsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryConsumerChainStartProposalsRequest, - > for QueryConsumerChainStartsSvc { - type Response = super::QueryConsumerChainStartProposalsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryConsumerChainStartProposalsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_consumer_chain_starts(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryConsumerChainStartsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStops" => { - #[allow(non_camel_case_types)] - struct QueryConsumerChainStopsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryConsumerChainStopProposalsRequest, - > for QueryConsumerChainStopsSvc { - type Response = super::QueryConsumerChainStopProposalsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryConsumerChainStopProposalsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_consumer_chain_stops(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryConsumerChainStopsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr" => { - #[allow(non_camel_case_types)] - struct QueryValidatorConsumerAddrSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryValidatorConsumerAddrRequest, - > for QueryValidatorConsumerAddrSvc { - type Response = super::QueryValidatorConsumerAddrResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryValidatorConsumerAddrRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_validator_consumer_addr(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryValidatorConsumerAddrSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr" => { - #[allow(non_camel_case_types)] - struct QueryValidatorProviderAddrSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryValidatorProviderAddrRequest, - > for QueryValidatorProviderAddrSvc { - type Response = super::QueryValidatorProviderAddrResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryValidatorProviderAddrRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_validator_provider_addr(&inner, request) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryValidatorProviderAddrSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryThrottleState" => { - #[allow(non_camel_case_types)] - struct QueryThrottleStateSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService - for QueryThrottleStateSvc { - type Response = super::QueryThrottleStateResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_throttle_state(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryThrottleStateSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryThrottledConsumerPacketData" => { - #[allow(non_camel_case_types)] - struct QueryThrottledConsumerPacketDataSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryThrottledConsumerPacketDataRequest, - > for QueryThrottledConsumerPacketDataSvc { - type Response = super::QueryThrottledConsumerPacketDataResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryThrottledConsumerPacketDataRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_throttled_consumer_packet_data( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryThrottledConsumerPacketDataSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms" => { - #[allow(non_camel_case_types)] - struct QueryRegisteredConsumerRewardDenomsSvc(pub Arc); - impl< - T: Query, - > tonic::server::UnaryService< - super::QueryRegisteredConsumerRewardDenomsRequest, - > for QueryRegisteredConsumerRewardDenomsSvc { - type Response = super::QueryRegisteredConsumerRewardDenomsResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::QueryRegisteredConsumerRewardDenomsRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::query_registered_consumer_reward_denoms( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = QueryRegisteredConsumerRewardDenomsSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for QueryServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for QueryServer { - const NAME: &'static str = "interchain_security.ccv.provider.v1.Query"; - } -} -/// GenesisState defines the CCV provider chain genesis state -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GenesisState { - /// strictly positive and set to 1 (DefaultValsetUpdateID) for a new chain - #[prost(uint64, tag = "1")] - pub valset_update_id: u64, - /// empty for a new chain - #[prost(message, repeated, tag = "2")] - pub consumer_states: ::prost::alloc::vec::Vec, - /// empty for a new chain - #[prost(message, repeated, tag = "3")] - pub unbonding_ops: ::prost::alloc::vec::Vec, - /// empty for a new chain - #[prost(message, optional, tag = "4")] - pub mature_unbonding_ops: ::core::option::Option, - /// empty for a new chain - #[prost(message, repeated, tag = "5")] - pub valset_update_id_to_height: ::prost::alloc::vec::Vec, - /// empty for a new chain - #[prost(message, repeated, tag = "6")] - pub consumer_addition_proposals: ::prost::alloc::vec::Vec, - /// empty for a new chain - #[prost(message, repeated, tag = "7")] - pub consumer_removal_proposals: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "8")] - pub params: ::core::option::Option, - /// empty for a new chain - #[prost(message, repeated, tag = "9")] - pub validator_consumer_pubkeys: ::prost::alloc::vec::Vec, - /// empty for a new chain - #[prost(message, repeated, tag = "10")] - pub validators_by_consumer_addr: ::prost::alloc::vec::Vec, - /// empty for a new chain - #[prost(message, repeated, tag = "11")] - pub consumer_addrs_to_prune: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "12")] - pub init_timeout_timestamps: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "13")] - pub exported_vsc_send_timestamps: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for GenesisState { - const NAME: &'static str = "GenesisState"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// The provider CCV module's knowledge of consumer state. -/// -/// Note this type is only used internally to the provider CCV module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerState { - /// ChainID defines the chain ID for the consumer chain - #[prost(string, tag = "1")] - pub chain_id: ::prost::alloc::string::String, - /// ChannelID defines the IBC channel ID for the consumer chain - #[prost(string, tag = "2")] - pub channel_id: ::prost::alloc::string::String, - /// ClientID defines the IBC client ID for the consumer chain - #[prost(string, tag = "3")] - pub client_id: ::prost::alloc::string::String, - /// InitalHeight defines the initial block height for the consumer chain - #[prost(uint64, tag = "4")] - pub initial_height: u64, - /// ConsumerGenesis defines the initial consumer chain genesis states - #[prost(message, optional, tag = "5")] - pub consumer_genesis: ::core::option::Option, - /// PendingValsetChanges defines the pending validator set changes for the - /// consumer chain - #[prost(message, repeated, tag = "6")] - pub pending_valset_changes: ::prost::alloc::vec::Vec< - super::super::v1::ValidatorSetChangePacketData, - >, - #[prost(string, repeated, tag = "7")] - pub slash_downtime_ack: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// UnbondingOpsIndex defines the unbonding operations waiting on this consumer - /// chain - #[prost(message, repeated, tag = "8")] - pub unbonding_ops_index: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsumerState { - const NAME: &'static str = "ConsumerState"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} -/// ValsetUpdateIdToHeight defines the genesis information for the mapping -/// of each valset udpate id to a block height -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValsetUpdateIdToHeight { - #[prost(uint64, tag = "1")] - pub valset_update_id: u64, - #[prost(uint64, tag = "2")] - pub height: u64, -} -impl ::prost::Name for ValsetUpdateIdToHeight { - const NAME: &'static str = "ValsetUpdateIdToHeight"; - const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) - } -} diff --git a/src/prost/interchain_security.ccv.v1.rs b/src/prost/interchain_security.ccv.v1.rs deleted file mode 100644 index c072c5f1..00000000 --- a/src/prost/interchain_security.ccv.v1.rs +++ /dev/null @@ -1,458 +0,0 @@ -/// This packet is sent from provider chain to consumer chain if the validator -/// set for consumer chain changes (due to new bonding/unbonding messages or -/// slashing events) A VSCMatured packet from consumer chain will be sent -/// asynchronously once unbonding period is over, and this will function as -/// `UnbondingOver` message for this packet. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ValidatorSetChangePacketData { - #[prost(message, repeated, tag = "1")] - pub validator_updates: ::prost::alloc::vec::Vec< - ::tendermint_proto::abci::ValidatorUpdate, - >, - #[prost(uint64, tag = "2")] - pub valset_update_id: u64, - /// consensus address of consumer chain validators - /// successfully slashed on the provider chain - #[prost(string, repeated, tag = "3")] - pub slash_acks: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ValidatorSetChangePacketData { - const NAME: &'static str = "ValidatorSetChangePacketData"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// This packet is sent from the consumer chain to the provider chain -/// to notify that a VSC packet reached maturity on the consumer chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VscMaturedPacketData { - /// the id of the VSC packet that reached maturity - #[prost(uint64, tag = "1")] - pub valset_update_id: u64, -} -impl ::prost::Name for VscMaturedPacketData { - const NAME: &'static str = "VSCMaturedPacketData"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// This packet is sent from the consumer chain to the provider chain -/// to request the slashing of a validator as a result of an infraction -/// committed on the consumer chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SlashPacketData { - #[prost(message, optional, tag = "1")] - pub validator: ::core::option::Option<::tendermint_proto::abci::Validator>, - /// map to the infraction block height on the provider - #[prost(uint64, tag = "2")] - pub valset_update_id: u64, - /// tell if the slashing is for a downtime or a double-signing infraction - #[prost( - enumeration = "super::super::super::cosmos::staking::v1beta1::Infraction", - tag = "3" - )] - pub infraction: i32, -} -impl ::prost::Name for SlashPacketData { - const NAME: &'static str = "SlashPacketData"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// ConsumerPacketData contains a consumer packet data and a type tag -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerPacketData { - #[prost(enumeration = "ConsumerPacketDataType", tag = "1")] - pub r#type: i32, - #[prost(oneof = "consumer_packet_data::Data", tags = "2, 3")] - pub data: ::core::option::Option, -} -/// Nested message and enum types in `ConsumerPacketData`. -pub mod consumer_packet_data { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Data { - #[prost(message, tag = "2")] - SlashPacketData(super::SlashPacketData), - #[prost(message, tag = "3")] - VscMaturedPacketData(super::VscMaturedPacketData), - } -} -impl ::prost::Name for ConsumerPacketData { - const NAME: &'static str = "ConsumerPacketData"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// Note this type is used during IBC handshake methods for both the consumer and provider -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HandshakeMetadata { - #[prost(string, tag = "1")] - pub provider_fee_pool_addr: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub version: ::prost::alloc::string::String, -} -impl ::prost::Name for HandshakeMetadata { - const NAME: &'static str = "HandshakeMetadata"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// ConsumerPacketData contains a consumer packet data and a type tag -/// that is compatible with ICS v1 and v2 over the wire. It is not used for internal storage. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerPacketDataV1 { - #[prost(enumeration = "ConsumerPacketDataType", tag = "1")] - pub r#type: i32, - #[prost(oneof = "consumer_packet_data_v1::Data", tags = "2, 3")] - pub data: ::core::option::Option, -} -/// Nested message and enum types in `ConsumerPacketDataV1`. -pub mod consumer_packet_data_v1 { - #[allow(clippy::derive_partial_eq_without_eq)] - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Data { - #[prost(message, tag = "2")] - SlashPacketData(super::SlashPacketDataV1), - #[prost(message, tag = "3")] - VscMaturedPacketData(super::VscMaturedPacketData), - } -} -impl ::prost::Name for ConsumerPacketDataV1 { - const NAME: &'static str = "ConsumerPacketDataV1"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// This packet is sent from the consumer chain to the provider chain -/// It is backward compatible with the ICS v1 and v2 version of the packet. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SlashPacketDataV1 { - #[prost(message, optional, tag = "1")] - pub validator: ::core::option::Option<::tendermint_proto::abci::Validator>, - /// map to the infraction block height on the provider - #[prost(uint64, tag = "2")] - pub valset_update_id: u64, - /// tell if the slashing is for a downtime or a double-signing infraction - #[prost(enumeration = "InfractionType", tag = "3")] - pub infraction: i32, -} -impl ::prost::Name for SlashPacketDataV1 { - const NAME: &'static str = "SlashPacketDataV1"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// ConsumerPacketType indicates interchain security specific packet types. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ConsumerPacketDataType { - /// UNSPECIFIED packet type - ConsumerPacketTypeUnspecified = 0, - /// Slash packet - ConsumerPacketTypeSlash = 1, - /// VSCMatured packet - ConsumerPacketTypeVscm = 2, -} -impl ConsumerPacketDataType { - /// 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 { - ConsumerPacketDataType::ConsumerPacketTypeUnspecified => { - "CONSUMER_PACKET_TYPE_UNSPECIFIED" - } - ConsumerPacketDataType::ConsumerPacketTypeSlash => { - "CONSUMER_PACKET_TYPE_SLASH" - } - ConsumerPacketDataType::ConsumerPacketTypeVscm => "CONSUMER_PACKET_TYPE_VSCM", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "CONSUMER_PACKET_TYPE_UNSPECIFIED" => { - Some(Self::ConsumerPacketTypeUnspecified) - } - "CONSUMER_PACKET_TYPE_SLASH" => Some(Self::ConsumerPacketTypeSlash), - "CONSUMER_PACKET_TYPE_VSCM" => Some(Self::ConsumerPacketTypeVscm), - _ => None, - } - } -} -/// InfractionType indicates the infraction type a validator commited. -/// Note ccv.InfractionType to maintain compatibility between ICS versions -/// using different versions of the cosmos-sdk and ibc-go modules. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum InfractionType { - /// UNSPECIFIED defines an empty infraction type. - Unspecified = 0, - /// DOUBLE_SIGN defines a validator that double-signs a block. - DoubleSign = 1, - /// DOWNTIME defines a validator that missed signing too many blocks. - Downtime = 2, -} -impl InfractionType { - /// 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 { - InfractionType::Unspecified => "INFRACTION_TYPE_UNSPECIFIED", - InfractionType::DoubleSign => "INFRACTION_TYPE_DOUBLE_SIGN", - InfractionType::Downtime => "INFRACTION_TYPE_DOWNTIME", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "INFRACTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "INFRACTION_TYPE_DOUBLE_SIGN" => Some(Self::DoubleSign), - "INFRACTION_TYPE_DOWNTIME" => Some(Self::Downtime), - _ => None, - } - } -} -/// ConsumerParams defines the parameters for CCV consumer module. -/// -/// Note this type is referenced in both the consumer and provider CCV modules, -/// and persisted on the provider, see MakeConsumerGenesis and SetConsumerGenesis. -/// -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerParams { - /// TODO: Remove enabled flag and find a better way to setup integration tests - /// See: - #[prost(bool, tag = "1")] - pub enabled: bool, - /// ///////////////////// - /// Distribution Params - /// Number of blocks between ibc-token-transfers from the consumer chain to - /// the provider chain. Note that at this transmission event a fraction of - /// the accumulated tokens are divided and sent consumer redistribution - /// address. - #[prost(int64, tag = "2")] - pub blocks_per_distribution_transmission: i64, - /// Channel, and provider-chain receiving address to send distribution token - /// transfers over. These parameters is auto-set during the consumer <-> - /// provider handshake procedure. - #[prost(string, tag = "3")] - pub distribution_transmission_channel: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub provider_fee_pool_addr_str: ::prost::alloc::string::String, - /// Sent CCV related IBC packets will timeout after this duration - #[prost(message, optional, tag = "5")] - pub ccv_timeout_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, - /// Sent transfer related IBC packets will timeout after this duration - #[prost(message, optional, tag = "6")] - pub transfer_timeout_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, - /// The fraction of tokens allocated to the consumer redistribution address - /// during distribution events. The fraction is a string representing a - /// decimal number. For example "0.75" would represent 75%. - #[prost(string, tag = "7")] - pub consumer_redistribution_fraction: ::prost::alloc::string::String, - /// The number of historical info entries to persist in store. - /// This param is a part of the cosmos sdk staking module. In the case of - /// a ccv enabled consumer chain, the ccv module acts as the staking module. - #[prost(int64, tag = "8")] - pub historical_entries: i64, - /// Unbonding period for the consumer, - /// which should be smaller than that of the provider in general. - #[prost(message, optional, tag = "9")] - pub unbonding_period: ::core::option::Option< - super::super::super::google::protobuf::Duration, - >, - /// The threshold for the percentage of validators at the bottom of the set who - /// can opt out of running the consumer chain without being punished. For - /// example, a value of 0.05 means that the validators in the bottom 5% of the - /// set can opt out - #[prost(string, tag = "10")] - pub soft_opt_out_threshold: ::prost::alloc::string::String, - /// Reward denoms. These are the denominations which are allowed to be sent to - /// the provider as rewards. - #[prost(string, repeated, tag = "11")] - pub reward_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Provider-originated reward denoms. These are denoms coming from the - /// provider which are allowed to be used as rewards. e.g. "uatom" - #[prost(string, repeated, tag = "12")] - pub provider_reward_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -impl ::prost::Name for ConsumerParams { - const NAME: &'static str = "ConsumerParams"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// ConsumerGenesisState defines the CCV consumer chain genesis state. -/// -/// Note this type is referenced in both the consumer and provider CCV modules, -/// and persisted on the provider, see MakeConsumerGenesis and SetConsumerGenesis. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerGenesisState { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// empty for a new chain, filled in on restart. - #[prost(string, tag = "2")] - pub provider_client_id: ::prost::alloc::string::String, - /// empty for a new chain, filled in on restart. - #[prost(string, tag = "3")] - pub provider_channel_id: ::prost::alloc::string::String, - /// true for new chain, false for chain restart. - #[prost(bool, tag = "4")] - pub new_chain: bool, - /// ProviderClientState filled in on new chain, nil on restart. - #[prost(message, optional, tag = "5")] - pub provider_client_state: ::core::option::Option< - super::super::super::ibc::lightclients::tendermint::v1::ClientState, - >, - /// ProviderConsensusState filled in on new chain, nil on restart. - #[prost(message, optional, tag = "6")] - pub provider_consensus_state: ::core::option::Option< - super::super::super::ibc::lightclients::tendermint::v1::ConsensusState, - >, - /// MaturingPackets nil on new chain, filled in on restart. - #[prost(message, repeated, tag = "7")] - pub maturing_packets: ::prost::alloc::vec::Vec, - /// InitialValset filled in on new chain and on restart. - #[prost(message, repeated, tag = "8")] - pub initial_val_set: ::prost::alloc::vec::Vec< - ::tendermint_proto::abci::ValidatorUpdate, - >, - /// HeightToValsetUpdateId nil on new chain, filled in on restart. - #[prost(message, repeated, tag = "9")] - pub height_to_valset_update_id: ::prost::alloc::vec::Vec, - /// OutstandingDowntimes nil on new chain, filled in on restart. - #[prost(message, repeated, tag = "10")] - pub outstanding_downtime_slashing: ::prost::alloc::vec::Vec, - /// PendingConsumerPackets nil on new chain, filled in on restart. - #[prost(message, optional, tag = "11")] - pub pending_consumer_packets: ::core::option::Option, - /// LastTransmissionBlockHeight nil on new chain, filled in on restart. - #[prost(message, optional, tag = "12")] - pub last_transmission_block_height: ::core::option::Option< - LastTransmissionBlockHeight, - >, - /// flag indicating whether the consumer CCV module starts in - #[prost(bool, tag = "13")] - pub pre_ccv: bool, -} -impl ::prost::Name for ConsumerGenesisState { - const NAME: &'static str = "ConsumerGenesisState"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// HeightValsetUpdateID represents a mapping internal to the consumer CCV module -/// AND used in shared consumer genesis state, which links a block height to each recv valset update id. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeightToValsetUpdateId { - #[prost(uint64, tag = "1")] - pub height: u64, - #[prost(uint64, tag = "2")] - pub valset_update_id: u64, -} -impl ::prost::Name for HeightToValsetUpdateId { - const NAME: &'static str = "HeightToValsetUpdateID"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// OutstandingDowntime defines the type used internally to the consumer CCV module, -/// AND used in shared consumer genesis state, in order to not send multiple slashing -/// requests for the same downtime infraction. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct OutstandingDowntime { - #[prost(string, tag = "1")] - pub validator_consensus_address: ::prost::alloc::string::String, -} -impl ::prost::Name for OutstandingDowntime { - const NAME: &'static str = "OutstandingDowntime"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// LastTransmissionBlockHeight is the last time validator holding -/// pools were transmitted to the provider chain. This type is used internally -/// to the consumer CCV module AND used in shared consumer genesis state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct LastTransmissionBlockHeight { - #[prost(int64, tag = "1")] - pub height: i64, -} -impl ::prost::Name for LastTransmissionBlockHeight { - const NAME: &'static str = "LastTransmissionBlockHeight"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// MaturingVSCPacket represents a vsc packet that is maturing internal to the -/// consumer CCV module, where the consumer has not yet relayed a VSCMatured packet -/// back to the provider. This type is used internally to the consumer CCV module -/// AND used in shared consumer genesis state. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MaturingVscPacket { - #[prost(uint64, tag = "1")] - pub vsc_id: u64, - #[prost(message, optional, tag = "2")] - pub maturity_time: ::core::option::Option< - super::super::super::google::protobuf::Timestamp, - >, -} -impl ::prost::Name for MaturingVscPacket { - const NAME: &'static str = "MaturingVSCPacket"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} -/// ConsumerPacketDataList is a list of consumer packet data packets. -/// -/// Note this type is is used internally to the consumer CCV module -/// for exporting / importing state in InitGenesis and ExportGenesis, -/// AND included in the consumer genesis type (reffed by provider and consumer modules), -/// hence this is a shared type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ConsumerPacketDataList { - #[prost(message, repeated, tag = "1")] - pub list: ::prost::alloc::vec::Vec, -} -impl ::prost::Name for ConsumerPacketDataList { - const NAME: &'static str = "ConsumerPacketDataList"; - const PACKAGE: &'static str = "interchain_security.ccv.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) - } -} diff --git a/src/prost/proto_descriptor.bin b/src/prost/proto_descriptor.bin deleted file mode 100644 index 37d138a3feac695480a9bb672886f91dd763ff02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 716903 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�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, - #[prost(message, optional, tag = "4")] - pub proof_ops: ::core::option::Option<::tendermint_proto::crypto::ProofOps>, - #[prost(int64, tag = "5")] - pub height: i64, - #[prost(string, tag = "6")] - pub from_address: ::prost::alloc::string::String, -} -impl ::prost::Name for MsgSubmitQueryResponse { - const NAME: &'static str = "MsgSubmitQueryResponse"; - const PACKAGE: &'static str = "stride.interchainquery.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("stride.interchainquery.v1.{}", Self::NAME) - } -} -/// MsgSubmitQueryResponseResponse defines the MsgSubmitQueryResponse response -/// type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MsgSubmitQueryResponseResponse {} -impl ::prost::Name for MsgSubmitQueryResponseResponse { - const NAME: &'static str = "MsgSubmitQueryResponseResponse"; - const PACKAGE: &'static str = "stride.interchainquery.v1"; - fn full_name() -> ::prost::alloc::string::String { - ::prost::alloc::format!("stride.interchainquery.v1.{}", Self::NAME) - } -} -/// Generated client implementations. -#[cfg(feature = "client")] -pub mod msg_client { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - /// Msg defines the interchainquery Msg service. - #[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 - } - /// SubmitQueryResponse defines a method for submit query responses. - pub async fn submit_query_response( - &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( - "/stride.interchainquery.v1.Msg/SubmitQueryResponse", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "stride.interchainquery.v1.Msg", - "SubmitQueryResponse", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -#[cfg(feature = "server")] -pub mod msg_server { - #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. - #[async_trait] - pub trait Msg: Send + Sync + 'static { - /// SubmitQueryResponse defines a method for submit query responses. - async fn submit_query_response( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - /// Msg defines the interchainquery Msg service. - #[derive(Debug)] - pub struct MsgServer { - inner: _Inner, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - struct _Inner(Arc); - impl MsgServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - let inner = _Inner(inner); - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for MsgServer - where - T: Msg, - B: Body + Send + 'static, - B::Error: Into + Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - let inner = self.inner.clone(); - match req.uri().path() { - "/stride.interchainquery.v1.Msg/SubmitQueryResponse" => { - #[allow(non_camel_case_types)] - struct SubmitQueryResponseSvc(pub Arc); - impl< - T: Msg, - > tonic::server::UnaryService - for SubmitQueryResponseSvc { - type Response = super::MsgSubmitQueryResponseResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::submit_query_response(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let inner = inner.0; - let method = SubmitQueryResponseSvc(inner); - let codec = tonic::codec::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - Ok( - http::Response::builder() - .status(200) - .header("grpc-status", "12") - .header("content-type", "application/grpc") - .body(empty_body()) - .unwrap(), - ) - }) - } - } - } - } - impl Clone for MsgServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - impl Clone for _Inner { - fn clone(&self) -> Self { - Self(Arc::clone(&self.0)) - } - } - impl std::fmt::Debug for _Inner { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{:?}", self.0) - } - } - impl tonic::server::NamedService for MsgServer { - const NAME: &'static str = "stride.interchainquery.v1.Msg"; - } -} diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index 6c9cfa43..5eed83aa 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -44,6 +44,12 @@ impl CompileCmd { process::exit(1); }); + Self::build_pbjson_impls(self.out.as_ref()) + .unwrap_or_else(|e| { + eprintln!("[error] failed to build pbjson impls: {}", e); + process::exit(1); + }); + println!("[info ] Done!"); } @@ -125,7 +131,7 @@ impl CompileCmd { tonic_build::configure() .build_client(true) .compile_well_known_types(true) - .extern_path(".google.protobuf", "::pbjson_types") + // .extern_path(".google.protobuf", "::pbjson_types") .client_mod_attribute(".", r#"#[cfg(feature = "client")]"#) .build_server(true) .server_mod_attribute(".", r#"#[cfg(feature = "server")]"#) @@ -135,16 +141,20 @@ impl CompileCmd { .extern_path(".ics23", "::ics23") .compile_with_config(config, &protos, &includes)?; + println!("[info ] Protos compiled successfully"); + + Ok(()) + } + fn build_pbjson_impls(out_dir: &Path) -> Result<(), Box> { println!("[info] Building pbjson Serialize, Deserialize impls..."); - let descriptor_set = std::fs::read(descriptor_set_path.clone())?; + let descriptor_set_path = out_dir.join("proto_descriptor.bin"); + let descriptor_set = std::fs::read(descriptor_set_path)?; pbjson_build::Builder::new() .register_descriptors(&descriptor_set)? .out_dir(&out_dir) - .build(&[".ibc"])?; - - println!("[info ] Protos compiled successfully"); + .build(&[".ibc", ".cosmos", ".interchain_security", ".stride", ".google"])?; Ok(()) } From edad7b7f2db2202b5401b578bf704f5db263cdc4 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Fri, 8 Dec 2023 17:57:56 -0800 Subject: [PATCH 04/12] working example --- src/lib.rs | 37 +- src/prost/cosmos.app.v1alpha1.rs | 101 + src/prost/cosmos.app.v1alpha1.serde.rs | 329 + src/prost/cosmos.auth.module.v1.rs | 40 + src/prost/cosmos.auth.module.v1.serde.rs | 235 + src/prost/cosmos.auth.v1beta1.rs | 1827 ++++ src/prost/cosmos.auth.v1beta1.serde.rs | 2668 ++++++ src/prost/cosmos.bank.module.v1.rs | 22 + src/prost/cosmos.bank.module.v1.serde.rs | 109 + src/prost/cosmos.bank.v1beta1.rs | 2524 ++++++ src/prost/cosmos.bank.v1beta1.serde.rs | 4293 +++++++++ src/prost/cosmos.base.abci.v1beta1.rs | 253 + src/prost/cosmos.base.kv.v1beta1.rs | 30 + src/prost/cosmos.base.kv.v1beta1.serde.rs | 205 + src/prost/cosmos.base.node.v1beta1.rs | 316 + src/prost/cosmos.base.node.v1beta1.serde.rs | 163 + src/prost/cosmos.base.query.v1beta1.rs | 70 + src/prost/cosmos.base.query.v1beta1.serde.rs | 284 + src/prost/cosmos.base.reflection.v1beta1.rs | 461 + .../cosmos.base.reflection.v1beta1.serde.rs | 347 + src/prost/cosmos.base.reflection.v2alpha1.rs | 1197 +++ .../cosmos.base.reflection.v2alpha1.serde.rs | 2515 ++++++ src/prost/cosmos.base.snapshots.v1beta1.rs | 184 + .../cosmos.base.snapshots.v1beta1.serde.rs | 1082 +++ src/prost/cosmos.base.store.v1beta1.serde.rs | 791 ++ src/prost/cosmos.base.tendermint.v1beta1.rs | 1262 +++ src/prost/cosmos.base.v1beta1.rs | 66 + src/prost/cosmos.base.v1beta1.serde.rs | 398 + src/prost/cosmos.crypto.ed25519.rs | 33 + src/prost/cosmos.crypto.ed25519.serde.rs | 188 + src/prost/cosmos.crypto.hd.v1.rs | 28 + src/prost/cosmos.crypto.hd.v1.serde.rs | 169 + src/prost/cosmos.crypto.keyring.v1.rs | 96 + src/prost/cosmos.crypto.keyring.v1.serde.rs | 495 ++ src/prost/cosmos.crypto.multisig.rs | 20 + src/prost/cosmos.crypto.multisig.serde.rs | 111 + src/prost/cosmos.crypto.multisig.v1beta1.rs | 35 + .../cosmos.crypto.multisig.v1beta1.serde.rs | 208 + src/prost/cosmos.crypto.secp256k1.rs | 32 + src/prost/cosmos.crypto.secp256k1.serde.rs | 188 + src/prost/cosmos.crypto.secp256r1.rs | 31 + src/prost/cosmos.crypto.secp256r1.serde.rs | 188 + src/prost/cosmos.gov.module.v1.rs | 19 + src/prost/cosmos.gov.module.v1.serde.rs | 112 + src/prost/cosmos.gov.v1.rs | 2459 ++++++ src/prost/cosmos.gov.v1.serde.rs | 4771 ++++++++++ src/prost/cosmos.gov.v1beta1.rs | 2160 +++++ src/prost/cosmos.gov.v1beta1.serde.rs | 4091 +++++++++ src/prost/cosmos.ics23.v1.serde.rs | 1936 ++++ src/prost/cosmos.staking.module.v1.rs | 20 + src/prost/cosmos.staking.module.v1.serde.rs | 109 + src/prost/cosmos.staking.v1beta1.rs | 3742 ++++++++ src/prost/cosmos.staking.v1beta1.serde.rs | 7752 ++++++++++++++++ src/prost/cosmos.tx.config.v1.rs | 20 + src/prost/cosmos.tx.config.v1.serde.rs | 110 + src/prost/cosmos.tx.signing.v1beta1.rs | 189 + src/prost/cosmos.tx.signing.v1beta1.serde.rs | 633 ++ src/prost/cosmos.tx.v1beta1.rs | 1763 ++++ src/prost/cosmos.upgrade.module.v1.rs | 15 + src/prost/cosmos.upgrade.module.v1.serde.rs | 91 + src/prost/cosmos.upgrade.v1beta1.rs | 1365 +++ src/prost/cosmos.upgrade.v1beta1.serde.rs | 1731 ++++ src/prost/cosmos_proto.rs | 87 + src/prost/google.api.rs | 392 + src/prost/google.api.serde.rs | 443 + src/prost/google.protobuf.rs | 1668 ++++ src/prost/google.protobuf.serde.rs | 5085 +++++++++++ src/prost/ibc.applications.fee.v1.rs | 2367 +++++ src/prost/ibc.applications.fee.v1.serde.rs | 4237 +++++++++ ...tions.interchain_accounts.controller.v1.rs | 1055 +++ ...interchain_accounts.controller.v1.serde.rs | 1111 +++ ...ications.interchain_accounts.genesis.v1.rs | 105 + ...ns.interchain_accounts.genesis.v1.serde.rs | 672 ++ ...pplications.interchain_accounts.host.v1.rs | 690 ++ ...tions.interchain_accounts.host.v1.serde.rs | 451 + ...ibc.applications.interchain_accounts.v1.rs | 114 + ...plications.interchain_accounts.v1.serde.rs | 581 ++ src/prost/ibc.applications.transfer.v1.rs | 1484 ++++ .../ibc.applications.transfer.v1.serde.rs | 2202 +++++ src/prost/ibc.applications.transfer.v2.rs | 29 + .../ibc.applications.transfer.v2.serde.rs | 159 + src/prost/ibc.core.channel.v1.rs | 3766 ++++++++ src/prost/ibc.core.channel.v1.serde.rs | 7812 +++++++++++++++++ src/prost/ibc.core.client.v1.rs | 2558 ++++++ src/prost/ibc.core.client.v1.serde.rs | 4467 ++++++++++ src/prost/ibc.core.commitment.v1.rs | 67 + src/prost/ibc.core.commitment.v1.serde.rs | 372 + src/prost/ibc.core.connection.v1.rs | 2019 +++++ src/prost/ibc.core.connection.v1.serde.rs | 3806 ++++++++ src/prost/ibc.core.types.v1.rs | 23 + src/prost/ibc.core.types.v1.serde.rs | 128 + src/prost/ibc.lightclients.localhost.v1.rs | 19 + .../ibc.lightclients.localhost.v1.serde.rs | 109 + src/prost/ibc.lightclients.localhost.v2.rs | 17 + .../ibc.lightclients.localhost.v2.serde.rs | 92 + src/prost/ibc.lightclients.solomachine.v2.rs | 380 + .../ibc.lightclients.solomachine.v2.serde.rs | 2123 +++++ src/prost/ibc.lightclients.solomachine.v3.rs | 173 + .../ibc.lightclients.solomachine.v3.serde.rs | 1089 +++ src/prost/ibc.lightclients.tendermint.v1.rs | 163 + .../ibc.lightclients.tendermint.v1.serde.rs | 789 ++ src/prost/ibc.mock.rs | 58 + src/prost/ibc.mock.serde.rs | 419 + .../interchain_security.ccv.consumer.v1.rs | 648 ++ .../interchain_security.ccv.provider.v1.rs | 2515 ++++++ src/prost/interchain_security.ccv.v1.rs | 458 + src/prost/proto_descriptor.bin | Bin 0 -> 702918 bytes src/prost/stride.interchainquery.v1.rs | 340 + tests/test_deserialize.rs | 11 +- tools/proto-compiler/src/cmd/compile.rs | 18 +- 110 files changed, 114052 insertions(+), 38 deletions(-) create mode 100644 src/prost/cosmos.app.v1alpha1.rs create mode 100644 src/prost/cosmos.app.v1alpha1.serde.rs create mode 100644 src/prost/cosmos.auth.module.v1.rs create mode 100644 src/prost/cosmos.auth.module.v1.serde.rs create mode 100644 src/prost/cosmos.auth.v1beta1.rs create mode 100644 src/prost/cosmos.auth.v1beta1.serde.rs create mode 100644 src/prost/cosmos.bank.module.v1.rs create mode 100644 src/prost/cosmos.bank.module.v1.serde.rs create mode 100644 src/prost/cosmos.bank.v1beta1.rs create mode 100644 src/prost/cosmos.bank.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.abci.v1beta1.rs create mode 100644 src/prost/cosmos.base.kv.v1beta1.rs create mode 100644 src/prost/cosmos.base.kv.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.node.v1beta1.rs create mode 100644 src/prost/cosmos.base.node.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.query.v1beta1.rs create mode 100644 src/prost/cosmos.base.query.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.reflection.v1beta1.rs create mode 100644 src/prost/cosmos.base.reflection.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.reflection.v2alpha1.rs create mode 100644 src/prost/cosmos.base.reflection.v2alpha1.serde.rs create mode 100644 src/prost/cosmos.base.snapshots.v1beta1.rs create mode 100644 src/prost/cosmos.base.snapshots.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.store.v1beta1.serde.rs create mode 100644 src/prost/cosmos.base.tendermint.v1beta1.rs create mode 100644 src/prost/cosmos.base.v1beta1.rs create mode 100644 src/prost/cosmos.base.v1beta1.serde.rs create mode 100644 src/prost/cosmos.crypto.ed25519.rs create mode 100644 src/prost/cosmos.crypto.ed25519.serde.rs create mode 100644 src/prost/cosmos.crypto.hd.v1.rs create mode 100644 src/prost/cosmos.crypto.hd.v1.serde.rs create mode 100644 src/prost/cosmos.crypto.keyring.v1.rs create mode 100644 src/prost/cosmos.crypto.keyring.v1.serde.rs create mode 100644 src/prost/cosmos.crypto.multisig.rs create mode 100644 src/prost/cosmos.crypto.multisig.serde.rs create mode 100644 src/prost/cosmos.crypto.multisig.v1beta1.rs create mode 100644 src/prost/cosmos.crypto.multisig.v1beta1.serde.rs create mode 100644 src/prost/cosmos.crypto.secp256k1.rs create mode 100644 src/prost/cosmos.crypto.secp256k1.serde.rs create mode 100644 src/prost/cosmos.crypto.secp256r1.rs create mode 100644 src/prost/cosmos.crypto.secp256r1.serde.rs create mode 100644 src/prost/cosmos.gov.module.v1.rs create mode 100644 src/prost/cosmos.gov.module.v1.serde.rs create mode 100644 src/prost/cosmos.gov.v1.rs create mode 100644 src/prost/cosmos.gov.v1.serde.rs create mode 100644 src/prost/cosmos.gov.v1beta1.rs create mode 100644 src/prost/cosmos.gov.v1beta1.serde.rs create mode 100644 src/prost/cosmos.ics23.v1.serde.rs create mode 100644 src/prost/cosmos.staking.module.v1.rs create mode 100644 src/prost/cosmos.staking.module.v1.serde.rs create mode 100644 src/prost/cosmos.staking.v1beta1.rs create mode 100644 src/prost/cosmos.staking.v1beta1.serde.rs create mode 100644 src/prost/cosmos.tx.config.v1.rs create mode 100644 src/prost/cosmos.tx.config.v1.serde.rs create mode 100644 src/prost/cosmos.tx.signing.v1beta1.rs create mode 100644 src/prost/cosmos.tx.signing.v1beta1.serde.rs create mode 100644 src/prost/cosmos.tx.v1beta1.rs create mode 100644 src/prost/cosmos.upgrade.module.v1.rs create mode 100644 src/prost/cosmos.upgrade.module.v1.serde.rs create mode 100644 src/prost/cosmos.upgrade.v1beta1.rs create mode 100644 src/prost/cosmos.upgrade.v1beta1.serde.rs create mode 100644 src/prost/cosmos_proto.rs create mode 100644 src/prost/google.api.rs create mode 100644 src/prost/google.api.serde.rs create mode 100644 src/prost/google.protobuf.rs create mode 100644 src/prost/google.protobuf.serde.rs create mode 100644 src/prost/ibc.applications.fee.v1.rs create mode 100644 src/prost/ibc.applications.fee.v1.serde.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.controller.v1.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.genesis.v1.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.host.v1.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.v1.rs create mode 100644 src/prost/ibc.applications.interchain_accounts.v1.serde.rs create mode 100644 src/prost/ibc.applications.transfer.v1.rs create mode 100644 src/prost/ibc.applications.transfer.v1.serde.rs create mode 100644 src/prost/ibc.applications.transfer.v2.rs create mode 100644 src/prost/ibc.applications.transfer.v2.serde.rs create mode 100644 src/prost/ibc.core.channel.v1.rs create mode 100644 src/prost/ibc.core.channel.v1.serde.rs create mode 100644 src/prost/ibc.core.client.v1.rs create mode 100644 src/prost/ibc.core.client.v1.serde.rs create mode 100644 src/prost/ibc.core.commitment.v1.rs create mode 100644 src/prost/ibc.core.commitment.v1.serde.rs create mode 100644 src/prost/ibc.core.connection.v1.rs create mode 100644 src/prost/ibc.core.connection.v1.serde.rs create mode 100644 src/prost/ibc.core.types.v1.rs create mode 100644 src/prost/ibc.core.types.v1.serde.rs create mode 100644 src/prost/ibc.lightclients.localhost.v1.rs create mode 100644 src/prost/ibc.lightclients.localhost.v1.serde.rs create mode 100644 src/prost/ibc.lightclients.localhost.v2.rs create mode 100644 src/prost/ibc.lightclients.localhost.v2.serde.rs create mode 100644 src/prost/ibc.lightclients.solomachine.v2.rs create mode 100644 src/prost/ibc.lightclients.solomachine.v2.serde.rs create mode 100644 src/prost/ibc.lightclients.solomachine.v3.rs create mode 100644 src/prost/ibc.lightclients.solomachine.v3.serde.rs create mode 100644 src/prost/ibc.lightclients.tendermint.v1.rs create mode 100644 src/prost/ibc.lightclients.tendermint.v1.serde.rs create mode 100644 src/prost/ibc.mock.rs create mode 100644 src/prost/ibc.mock.serde.rs create mode 100644 src/prost/interchain_security.ccv.consumer.v1.rs create mode 100644 src/prost/interchain_security.ccv.provider.v1.rs create mode 100644 src/prost/interchain_security.ccv.v1.rs create mode 100644 src/prost/proto_descriptor.bin create mode 100644 src/prost/stride.interchainquery.v1.rs diff --git a/src/lib.rs b/src/lib.rs index 8ab72ddd..de83a387 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -98,7 +98,7 @@ pub mod cosmos { pub mod abci { pub mod v1beta1 { include_proto!("cosmos.base.abci.v1beta1.rs"); - include_proto!("cosmos.base.abci.v1beta1.serde.rs"); + // include_proto!("cosmos.base.abci.v1beta1.serde.rs"); } } pub mod node { @@ -126,7 +126,7 @@ pub mod cosmos { pub mod tendermint { pub mod v1beta1 { include_proto!("cosmos.base.tendermint.v1beta1.rs"); - include_proto!("cosmos.base.tendermint.v1beta1.serde.rs"); + // include_proto!("cosmos.base.tendermint.v1beta1.serde.rs"); } } pub mod kv { @@ -191,7 +191,7 @@ pub mod cosmos { } pub mod v1beta1 { include_proto!("cosmos.tx.v1beta1.rs"); - include_proto!("cosmos.tx.v1beta1.serde.rs"); + // include_proto!("cosmos.tx.v1beta1.serde.rs"); } } pub mod upgrade { @@ -338,18 +338,18 @@ pub mod interchain_security { #[allow(clippy::match_single_binding)] pub mod v1 { include_proto!("interchain_security.ccv.v1.rs"); - include_proto!("interchain_security.ccv.v1.serde.rs"); + // include_proto!("interchain_security.ccv.v1.serde.rs"); } pub mod provider { pub mod v1 { include_proto!("interchain_security.ccv.provider.v1.rs"); - include_proto!("interchain_security.ccv.provider.v1.serde.rs"); + // include_proto!("interchain_security.ccv.provider.v1.serde.rs"); } } pub mod consumer { pub mod v1 { include_proto!("interchain_security.ccv.consumer.v1.rs"); - include_proto!("interchain_security.ccv.consumer.v1.serde.rs"); + // include_proto!("interchain_security.ccv.consumer.v1.serde.rs"); } } } @@ -359,30 +359,7 @@ pub mod stride { pub mod interchainquery { pub mod v1 { include_proto!("stride.interchainquery.v1.rs"); - include_proto!("stride.interchainquery.v1.serde.rs"); + // include_proto!("stride.interchainquery.v1.serde.rs"); } } } - -// #[cfg(feature = "serde")] -// pub(crate) mod base64 { -// use alloc::string::String; -// use alloc::vec::Vec; -// -// use base64::prelude::*; -// use serde::{Deserialize, Deserializer, Serialize, Serializer}; -// -// pub fn serialize(bytes: &[u8], serializer: S) -> Result { -// let encoded = BASE64_STANDARD.encode(bytes); -// String::serialize(&encoded, serializer) -// } -// -// pub fn deserialize<'de, D: Deserializer<'de>>(deserializer: D) -> Result, D::Error> { -// let base64 = String::deserialize(deserializer)?; -// let bytes = BASE64_STANDARD -// .decode(base64.as_bytes()) -// .map_err(serde::de::Error::custom)?; -// -// Ok(bytes) -// } -// } diff --git a/src/prost/cosmos.app.v1alpha1.rs b/src/prost/cosmos.app.v1alpha1.rs new file mode 100644 index 00000000..b70937bf --- /dev/null +++ b/src/prost/cosmos.app.v1alpha1.rs @@ -0,0 +1,101 @@ +/// ModuleDescriptor describes an app module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleDescriptor { + /// go_import names the package that should be imported by an app to load the + /// module in the runtime module registry. It is required to make debugging + /// of configuration errors easier for users. + #[prost(string, tag = "1")] + pub go_import: ::prost::alloc::string::String, + /// use_package refers to a protobuf package that this module + /// uses and exposes to the world. In an app, only one module should "use" + /// or own a single protobuf package. It is assumed that the module uses + /// all of the .proto files in a single package. + #[prost(message, repeated, tag = "2")] + pub use_package: ::prost::alloc::vec::Vec, + /// can_migrate_from defines which module versions this module can migrate + /// state from. The framework will check that one module version is able to + /// migrate from a previous module version before attempting to update its + /// config. It is assumed that modules can transitively migrate from earlier + /// versions. For instance if v3 declares it can migrate from v2, and v2 + /// declares it can migrate from v1, the framework knows how to migrate + /// from v1 to v3, assuming all 3 module versions are registered at runtime. + #[prost(message, repeated, tag = "3")] + pub can_migrate_from: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ModuleDescriptor { + const NAME: &'static str = "ModuleDescriptor"; + const PACKAGE: &'static str = "cosmos.app.v1alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.app.v1alpha1.{}", Self::NAME) + } +} +/// PackageReference is a reference to a protobuf package used by a module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PackageReference { + /// name is the fully-qualified name of the package. + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// revision is the optional revision of the package that is being used. + /// Protobuf packages used in Cosmos should generally have a major version + /// as the last part of the package name, ex. foo.bar.baz.v1. + /// The revision of a package can be thought of as the minor version of a + /// package which has additional backwards compatible definitions that weren't + /// present in a previous version. + /// + /// A package should indicate its revision with a source code comment + /// above the package declaration in one of its files containing the + /// text "Revision N" where N is an integer revision. All packages start + /// at revision 0 the first time they are released in a module. + /// + /// When a new version of a module is released and items are added to existing + /// .proto files, these definitions should contain comments of the form + /// "Since Revision N" where N is an integer revision. + /// + /// When the module runtime starts up, it will check the pinned proto + /// image and panic if there are runtime protobuf definitions that are not + /// in the pinned descriptor which do not have + /// a "Since Revision N" comment or have a "Since Revision N" comment where + /// N is <= to the revision specified here. This indicates that the protobuf + /// files have been updated, but the pinned file descriptor hasn't. + /// + /// If there are items in the pinned file descriptor with a revision + /// greater than the value indicated here, this will also cause a panic + /// as it may mean that the pinned descriptor for a legacy module has been + /// improperly updated or that there is some other versioning discrepancy. + /// Runtime protobuf definitions will also be checked for compatibility + /// with pinned file descriptors to make sure there are no incompatible changes. + /// + /// This behavior ensures that: + /// * pinned proto images are up-to-date + /// * protobuf files are carefully annotated with revision comments which + /// are important good client UX + /// * protobuf files are changed in backwards and forwards compatible ways + #[prost(uint32, tag = "2")] + pub revision: u32, +} +impl ::prost::Name for PackageReference { + const NAME: &'static str = "PackageReference"; + const PACKAGE: &'static str = "cosmos.app.v1alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.app.v1alpha1.{}", Self::NAME) + } +} +/// MigrateFromInfo is information on a module version that a newer module +/// can migrate from. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MigrateFromInfo { + /// module is the fully-qualified protobuf name of the module config object + /// for the previous module version, ex: "cosmos.group.module.v1.Module". + #[prost(string, tag = "1")] + pub module: ::prost::alloc::string::String, +} +impl ::prost::Name for MigrateFromInfo { + const NAME: &'static str = "MigrateFromInfo"; + const PACKAGE: &'static str = "cosmos.app.v1alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.app.v1alpha1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.app.v1alpha1.serde.rs b/src/prost/cosmos.app.v1alpha1.serde.rs new file mode 100644 index 00000000..9b96f35a --- /dev/null +++ b/src/prost/cosmos.app.v1alpha1.serde.rs @@ -0,0 +1,329 @@ +impl serde::Serialize for MigrateFromInfo { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.module.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.app.v1alpha1.MigrateFromInfo", len)?; + if !self.module.is_empty() { + struct_ser.serialize_field("module", &self.module)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MigrateFromInfo { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "module", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Module, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "module" => Ok(GeneratedField::Module), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MigrateFromInfo; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.app.v1alpha1.MigrateFromInfo") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut module__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Module => { + if module__.is_some() { + return Err(serde::de::Error::duplicate_field("module")); + } + module__ = Some(map_.next_value()?); + } + } + } + Ok(MigrateFromInfo { + module: module__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.app.v1alpha1.MigrateFromInfo", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ModuleDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.go_import.is_empty() { + len += 1; + } + if !self.use_package.is_empty() { + len += 1; + } + if !self.can_migrate_from.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.app.v1alpha1.ModuleDescriptor", len)?; + if !self.go_import.is_empty() { + struct_ser.serialize_field("goImport", &self.go_import)?; + } + if !self.use_package.is_empty() { + struct_ser.serialize_field("usePackage", &self.use_package)?; + } + if !self.can_migrate_from.is_empty() { + struct_ser.serialize_field("canMigrateFrom", &self.can_migrate_from)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ModuleDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "go_import", + "goImport", + "use_package", + "usePackage", + "can_migrate_from", + "canMigrateFrom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + GoImport, + UsePackage, + CanMigrateFrom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "goImport" | "go_import" => Ok(GeneratedField::GoImport), + "usePackage" | "use_package" => Ok(GeneratedField::UsePackage), + "canMigrateFrom" | "can_migrate_from" => Ok(GeneratedField::CanMigrateFrom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ModuleDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.app.v1alpha1.ModuleDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut go_import__ = None; + let mut use_package__ = None; + let mut can_migrate_from__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::GoImport => { + if go_import__.is_some() { + return Err(serde::de::Error::duplicate_field("goImport")); + } + go_import__ = Some(map_.next_value()?); + } + GeneratedField::UsePackage => { + if use_package__.is_some() { + return Err(serde::de::Error::duplicate_field("usePackage")); + } + use_package__ = Some(map_.next_value()?); + } + GeneratedField::CanMigrateFrom => { + if can_migrate_from__.is_some() { + return Err(serde::de::Error::duplicate_field("canMigrateFrom")); + } + can_migrate_from__ = Some(map_.next_value()?); + } + } + } + Ok(ModuleDescriptor { + go_import: go_import__.unwrap_or_default(), + use_package: use_package__.unwrap_or_default(), + can_migrate_from: can_migrate_from__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.app.v1alpha1.ModuleDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PackageReference { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.revision != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.app.v1alpha1.PackageReference", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if self.revision != 0 { + struct_ser.serialize_field("revision", &self.revision)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PackageReference { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "revision", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Revision, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "revision" => Ok(GeneratedField::Revision), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PackageReference; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.app.v1alpha1.PackageReference") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut revision__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Revision => { + if revision__.is_some() { + return Err(serde::de::Error::duplicate_field("revision")); + } + revision__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(PackageReference { + name: name__.unwrap_or_default(), + revision: revision__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.app.v1alpha1.PackageReference", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.auth.module.v1.rs b/src/prost/cosmos.auth.module.v1.rs new file mode 100644 index 00000000..59a0940d --- /dev/null +++ b/src/prost/cosmos.auth.module.v1.rs @@ -0,0 +1,40 @@ +/// Module is the config object for the auth module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Module { + /// bech32_prefix is the bech32 account prefix for the app. + #[prost(string, tag = "1")] + pub bech32_prefix: ::prost::alloc::string::String, + /// module_account_permissions are module account permissions. + #[prost(message, repeated, tag = "2")] + pub module_account_permissions: ::prost::alloc::vec::Vec, + /// authority defines the custom module authority. If not set, defaults to the governance module. + #[prost(string, tag = "3")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for Module { + const NAME: &'static str = "Module"; + const PACKAGE: &'static str = "cosmos.auth.module.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.module.v1.{}", Self::NAME) + } +} +/// ModuleAccountPermission represents permissions for a module account. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleAccountPermission { + /// account is the name of the module. + #[prost(string, tag = "1")] + pub account: ::prost::alloc::string::String, + /// permissions are the permissions this module has. Currently recognized + /// values are minter, burner and staking. + #[prost(string, repeated, tag = "2")] + pub permissions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ModuleAccountPermission { + const NAME: &'static str = "ModuleAccountPermission"; + const PACKAGE: &'static str = "cosmos.auth.module.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.module.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.auth.module.v1.serde.rs b/src/prost/cosmos.auth.module.v1.serde.rs new file mode 100644 index 00000000..d9c2aa73 --- /dev/null +++ b/src/prost/cosmos.auth.module.v1.serde.rs @@ -0,0 +1,235 @@ +impl serde::Serialize for Module { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.bech32_prefix.is_empty() { + len += 1; + } + if !self.module_account_permissions.is_empty() { + len += 1; + } + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.module.v1.Module", len)?; + if !self.bech32_prefix.is_empty() { + struct_ser.serialize_field("bech32Prefix", &self.bech32_prefix)?; + } + if !self.module_account_permissions.is_empty() { + struct_ser.serialize_field("moduleAccountPermissions", &self.module_account_permissions)?; + } + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Module { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "bech32_prefix", + "bech32Prefix", + "module_account_permissions", + "moduleAccountPermissions", + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Bech32Prefix, + ModuleAccountPermissions, + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "bech32Prefix" | "bech32_prefix" => Ok(GeneratedField::Bech32Prefix), + "moduleAccountPermissions" | "module_account_permissions" => Ok(GeneratedField::ModuleAccountPermissions), + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Module; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.module.v1.Module") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut bech32_prefix__ = None; + let mut module_account_permissions__ = None; + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Bech32Prefix => { + if bech32_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("bech32Prefix")); + } + bech32_prefix__ = Some(map_.next_value()?); + } + GeneratedField::ModuleAccountPermissions => { + if module_account_permissions__.is_some() { + return Err(serde::de::Error::duplicate_field("moduleAccountPermissions")); + } + module_account_permissions__ = Some(map_.next_value()?); + } + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(Module { + bech32_prefix: bech32_prefix__.unwrap_or_default(), + module_account_permissions: module_account_permissions__.unwrap_or_default(), + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.module.v1.Module", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ModuleAccountPermission { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.account.is_empty() { + len += 1; + } + if !self.permissions.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.module.v1.ModuleAccountPermission", len)?; + if !self.account.is_empty() { + struct_ser.serialize_field("account", &self.account)?; + } + if !self.permissions.is_empty() { + struct_ser.serialize_field("permissions", &self.permissions)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ModuleAccountPermission { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "account", + "permissions", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Account, + Permissions, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "account" => Ok(GeneratedField::Account), + "permissions" => Ok(GeneratedField::Permissions), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ModuleAccountPermission; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.module.v1.ModuleAccountPermission") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut account__ = None; + let mut permissions__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Account => { + if account__.is_some() { + return Err(serde::de::Error::duplicate_field("account")); + } + account__ = Some(map_.next_value()?); + } + GeneratedField::Permissions => { + if permissions__.is_some() { + return Err(serde::de::Error::duplicate_field("permissions")); + } + permissions__ = Some(map_.next_value()?); + } + } + } + Ok(ModuleAccountPermission { + account: account__.unwrap_or_default(), + permissions: permissions__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.module.v1.ModuleAccountPermission", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.auth.v1beta1.rs b/src/prost/cosmos.auth.v1beta1.rs new file mode 100644 index 00000000..b6c3e8d7 --- /dev/null +++ b/src/prost/cosmos.auth.v1beta1.rs @@ -0,0 +1,1827 @@ +/// BaseAccount defines a base account type. It contains all the necessary fields +/// for basic account functionality. Any custom account type should extend this +/// type for additional functionality (e.g. vesting). +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BaseAccount { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub pub_key: ::core::option::Option, + #[prost(uint64, tag = "3")] + pub account_number: u64, + #[prost(uint64, tag = "4")] + pub sequence: u64, +} +impl ::prost::Name for BaseAccount { + const NAME: &'static str = "BaseAccount"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// ModuleAccount defines an account for modules that holds coins on a pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleAccount { + #[prost(message, optional, tag = "1")] + pub base_account: ::core::option::Option, + #[prost(string, tag = "2")] + pub name: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "3")] + pub permissions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ModuleAccount { + const NAME: &'static str = "ModuleAccount"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// ModuleCredential represents a unclaimable pubkey for base accounts controlled by modules. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleCredential { + /// module_name is the name of the module used for address derivation (passed into address.Module). + #[prost(string, tag = "1")] + pub module_name: ::prost::alloc::string::String, + /// derivation_keys is for deriving a module account address (passed into address.Module) + /// adding more keys creates sub-account addresses (passed into address.Derive) + #[prost(bytes = "vec", repeated, tag = "2")] + pub derivation_keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for ModuleCredential { + const NAME: &'static str = "ModuleCredential"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// Params defines the parameters for the auth module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + #[prost(uint64, tag = "1")] + pub max_memo_characters: u64, + #[prost(uint64, tag = "2")] + pub tx_sig_limit: u64, + #[prost(uint64, tag = "3")] + pub tx_size_cost_per_byte: u64, + #[prost(uint64, tag = "4")] + pub sig_verify_cost_ed25519: u64, + #[prost(uint64, tag = "5")] + pub sig_verify_cost_secp256k1: u64, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// MsgUpdateParams is the Msg/UpdateParams request type. +/// +/// Since: cosmos-sdk 0.47 +#[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. +/// +/// Since: cosmos-sdk 0.47 +#[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) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the x/auth Msg service. + #[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 + } + /// UpdateParams defines a (governance) operation for updating the x/auth module + /// parameters. The authority defaults to the x/gov module account. + /// + /// Since: cosmos-sdk 0.47 + pub async fn update_params( + &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.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 + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// UpdateParams defines a (governance) operation for updating the x/auth module + /// parameters. The authority defaults to the x/gov module account. + /// + /// Since: cosmos-sdk 0.47 + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the x/auth Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.auth.v1beta1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "cosmos.auth.v1beta1.Msg"; + } +} +/// QueryAccountsRequest is the request type for the Query/Accounts RPC method. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryAccountsRequest { + const NAME: &'static str = "QueryAccountsRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountsResponse is the response type for the Query/Accounts RPC method. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountsResponse { + /// accounts are the existing accounts + #[prost(message, repeated, tag = "1")] + pub accounts: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryAccountsResponse { + const NAME: &'static str = "QueryAccountsResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountRequest is the request type for the Query/Account RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountRequest { + /// address defines the address to query for. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryAccountRequest { + const NAME: &'static str = "QueryAccountRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountResponse is the response type for the Query/Account RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountResponse { + /// account defines the account of the corresponding address. + #[prost(message, optional, tag = "1")] + pub account: ::core::option::Option, +} +impl ::prost::Name for QueryAccountResponse { + const NAME: &'static str = "QueryAccountResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.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 = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.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 = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryModuleAccountsRequest is the request type for the Query/ModuleAccounts RPC method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryModuleAccountsRequest {} +impl ::prost::Name for QueryModuleAccountsRequest { + const NAME: &'static str = "QueryModuleAccountsRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts RPC method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryModuleAccountsResponse { + #[prost(message, repeated, tag = "1")] + pub accounts: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryModuleAccountsResponse { + const NAME: &'static str = "QueryModuleAccountsResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryModuleAccountByNameRequest is the request type for the Query/ModuleAccountByName RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryModuleAccountByNameRequest { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryModuleAccountByNameRequest { + const NAME: &'static str = "QueryModuleAccountByNameRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryModuleAccountByNameResponse is the response type for the Query/ModuleAccountByName RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryModuleAccountByNameResponse { + #[prost(message, optional, tag = "1")] + pub account: ::core::option::Option, +} +impl ::prost::Name for QueryModuleAccountByNameResponse { + const NAME: &'static str = "QueryModuleAccountByNameResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// Bech32PrefixRequest is the request type for Bech32Prefix rpc method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bech32PrefixRequest {} +impl ::prost::Name for Bech32PrefixRequest { + const NAME: &'static str = "Bech32PrefixRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// Bech32PrefixResponse is the response type for Bech32Prefix rpc method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bech32PrefixResponse { + #[prost(string, tag = "1")] + pub bech32_prefix: ::prost::alloc::string::String, +} +impl ::prost::Name for Bech32PrefixResponse { + const NAME: &'static str = "Bech32PrefixResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// AddressBytesToStringRequest is the request type for AddressString rpc method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddressBytesToStringRequest { + #[prost(bytes = "vec", tag = "1")] + pub address_bytes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for AddressBytesToStringRequest { + const NAME: &'static str = "AddressBytesToStringRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// AddressBytesToStringResponse is the response type for AddressString rpc method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddressBytesToStringResponse { + #[prost(string, tag = "1")] + pub address_string: ::prost::alloc::string::String, +} +impl ::prost::Name for AddressBytesToStringResponse { + const NAME: &'static str = "AddressBytesToStringResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// AddressStringToBytesRequest is the request type for AccountBytes rpc method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddressStringToBytesRequest { + #[prost(string, tag = "1")] + pub address_string: ::prost::alloc::string::String, +} +impl ::prost::Name for AddressStringToBytesRequest { + const NAME: &'static str = "AddressStringToBytesRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// AddressStringToBytesResponse is the response type for AddressBytes rpc method. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddressStringToBytesResponse { + #[prost(bytes = "vec", tag = "1")] + pub address_bytes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for AddressStringToBytesResponse { + const NAME: &'static str = "AddressStringToBytesResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountAddressByIDRequest is the request type for AccountAddressByID rpc method +/// +/// Since: cosmos-sdk 0.46.2 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountAddressByIdRequest { + /// Deprecated, use account_id instead + /// + /// id is the account number of the address to be queried. This field + /// should have been an uint64 (like all account numbers), and will be + /// updated to uint64 in a future version of the auth query. + #[deprecated] + #[prost(int64, tag = "1")] + pub id: i64, + /// account_id is the account number of the address to be queried. + /// + /// Since: cosmos-sdk 0.47 + #[prost(uint64, tag = "2")] + pub account_id: u64, +} +impl ::prost::Name for QueryAccountAddressByIdRequest { + const NAME: &'static str = "QueryAccountAddressByIDRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountAddressByIDResponse is the response type for AccountAddressByID rpc method +/// +/// Since: cosmos-sdk 0.46.2 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountAddressByIdResponse { + #[prost(string, tag = "1")] + pub account_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryAccountAddressByIdResponse { + const NAME: &'static str = "QueryAccountAddressByIDResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountInfoRequest is the Query/AccountInfo request type. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountInfoRequest { + /// address is the account address string. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryAccountInfoRequest { + const NAME: &'static str = "QueryAccountInfoRequest"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// QueryAccountInfoResponse is the Query/AccountInfo response type. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAccountInfoResponse { + /// info is the account info which is represented by BaseAccount. + #[prost(message, optional, tag = "1")] + pub info: ::core::option::Option, +} +impl ::prost::Name for QueryAccountInfoResponse { + const NAME: &'static str = "QueryAccountInfoResponse"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Accounts returns all the existing accounts. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.43 + pub async fn accounts( + &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.auth.v1beta1.Query/Accounts", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Accounts")); + self.inner.unary(req, path, codec).await + } + /// Account returns account details based on address. + pub async fn account( + &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.auth.v1beta1.Query/Account", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Account")); + self.inner.unary(req, path, codec).await + } + /// AccountAddressByID returns account address based on account number. + /// + /// Since: cosmos-sdk 0.46.2 + pub async fn account_address_by_id( + &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.auth.v1beta1.Query/AccountAddressByID", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.auth.v1beta1.Query", "AccountAddressByID"), + ); + self.inner.unary(req, path, codec).await + } + /// Params queries all parameters. + pub async fn params( + &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.auth.v1beta1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Params")); + self.inner.unary(req, path, codec).await + } + /// ModuleAccounts returns all the existing module accounts. + /// + /// Since: cosmos-sdk 0.46 + pub async fn module_accounts( + &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.auth.v1beta1.Query/ModuleAccounts", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "ModuleAccounts")); + self.inner.unary(req, path, codec).await + } + /// ModuleAccountByName returns the module account info by module name + pub async fn module_account_by_name( + &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.auth.v1beta1.Query/ModuleAccountByName", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.auth.v1beta1.Query", "ModuleAccountByName"), + ); + self.inner.unary(req, path, codec).await + } + /// Bech32Prefix queries bech32Prefix + /// + /// Since: cosmos-sdk 0.46 + pub async fn bech32_prefix( + &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.auth.v1beta1.Query/Bech32Prefix", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "Bech32Prefix")); + self.inner.unary(req, path, codec).await + } + /// AddressBytesToString converts Account Address bytes to string + /// + /// Since: cosmos-sdk 0.46 + pub async fn address_bytes_to_string( + &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.auth.v1beta1.Query/AddressBytesToString", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.auth.v1beta1.Query", "AddressBytesToString"), + ); + self.inner.unary(req, path, codec).await + } + /// AddressStringToBytes converts Address string to bytes + /// + /// Since: cosmos-sdk 0.46 + pub async fn address_string_to_bytes( + &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.auth.v1beta1.Query/AddressStringToBytes", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.auth.v1beta1.Query", "AddressStringToBytes"), + ); + self.inner.unary(req, path, codec).await + } + /// AccountInfo queries account info which is common to all account types. + /// + /// Since: cosmos-sdk 0.47 + pub async fn account_info( + &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.auth.v1beta1.Query/AccountInfo", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.auth.v1beta1.Query", "AccountInfo")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Accounts returns all the existing accounts. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.43 + async fn accounts( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Account returns account details based on address. + async fn account( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// AccountAddressByID returns account address based on account number. + /// + /// Since: cosmos-sdk 0.46.2 + async fn account_address_by_id( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Params queries all parameters. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ModuleAccounts returns all the existing module accounts. + /// + /// Since: cosmos-sdk 0.46 + async fn module_accounts( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ModuleAccountByName returns the module account info by module name + async fn module_account_by_name( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Bech32Prefix queries bech32Prefix + /// + /// Since: cosmos-sdk 0.46 + async fn bech32_prefix( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// AddressBytesToString converts Account Address bytes to string + /// + /// Since: cosmos-sdk 0.46 + async fn address_bytes_to_string( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// AddressStringToBytes converts Address string to bytes + /// + /// Since: cosmos-sdk 0.46 + async fn address_string_to_bytes( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// AccountInfo queries account info which is common to all account types. + /// + /// Since: cosmos-sdk 0.47 + async fn account_info( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.auth.v1beta1.Query/Accounts" => { + #[allow(non_camel_case_types)] + struct AccountsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AccountsSvc { + type Response = super::QueryAccountsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::accounts(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AccountsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/Account" => { + #[allow(non_camel_case_types)] + struct AccountSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AccountSvc { + type Response = super::QueryAccountResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::account(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AccountSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/AccountAddressByID" => { + #[allow(non_camel_case_types)] + struct AccountAddressByIDSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AccountAddressByIDSvc { + type Response = super::QueryAccountAddressByIdResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryAccountAddressByIdRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::account_address_by_id(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AccountAddressByIDSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/ModuleAccounts" => { + #[allow(non_camel_case_types)] + struct ModuleAccountsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ModuleAccountsSvc { + type Response = super::QueryModuleAccountsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::module_accounts(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ModuleAccountsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/ModuleAccountByName" => { + #[allow(non_camel_case_types)] + struct ModuleAccountByNameSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ModuleAccountByNameSvc { + type Response = super::QueryModuleAccountByNameResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryModuleAccountByNameRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::module_account_by_name(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ModuleAccountByNameSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/Bech32Prefix" => { + #[allow(non_camel_case_types)] + struct Bech32PrefixSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for Bech32PrefixSvc { + type Response = super::Bech32PrefixResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::bech32_prefix(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = Bech32PrefixSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/AddressBytesToString" => { + #[allow(non_camel_case_types)] + struct AddressBytesToStringSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AddressBytesToStringSvc { + type Response = super::AddressBytesToStringResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::address_bytes_to_string(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AddressBytesToStringSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/AddressStringToBytes" => { + #[allow(non_camel_case_types)] + struct AddressStringToBytesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AddressStringToBytesSvc { + type Response = super::AddressStringToBytesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::address_string_to_bytes(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AddressStringToBytesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.auth.v1beta1.Query/AccountInfo" => { + #[allow(non_camel_case_types)] + struct AccountInfoSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AccountInfoSvc { + type Response = super::QueryAccountInfoResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::account_info(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AccountInfoSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "cosmos.auth.v1beta1.Query"; + } +} +/// GenesisState defines the auth module's genesis state. +#[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, + /// accounts are the accounts present at genesis. + #[prost(message, repeated, tag = "2")] + pub accounts: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "cosmos.auth.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.auth.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.auth.v1beta1.serde.rs b/src/prost/cosmos.auth.v1beta1.serde.rs new file mode 100644 index 00000000..cdb25c1a --- /dev/null +++ b/src/prost/cosmos.auth.v1beta1.serde.rs @@ -0,0 +1,2668 @@ +impl serde::Serialize for AddressBytesToStringRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address_bytes.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressBytesToStringRequest", len)?; + if !self.address_bytes.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("addressBytes", pbjson::private::base64::encode(&self.address_bytes).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AddressBytesToStringRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address_bytes", + "addressBytes", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AddressBytes, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "addressBytes" | "address_bytes" => Ok(GeneratedField::AddressBytes), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AddressBytesToStringRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.AddressBytesToStringRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address_bytes__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AddressBytes => { + if address_bytes__.is_some() { + return Err(serde::de::Error::duplicate_field("addressBytes")); + } + address_bytes__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(AddressBytesToStringRequest { + address_bytes: address_bytes__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.AddressBytesToStringRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for AddressBytesToStringResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address_string.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressBytesToStringResponse", len)?; + if !self.address_string.is_empty() { + struct_ser.serialize_field("addressString", &self.address_string)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AddressBytesToStringResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address_string", + "addressString", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AddressString, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "addressString" | "address_string" => Ok(GeneratedField::AddressString), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AddressBytesToStringResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.AddressBytesToStringResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address_string__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AddressString => { + if address_string__.is_some() { + return Err(serde::de::Error::duplicate_field("addressString")); + } + address_string__ = Some(map_.next_value()?); + } + } + } + Ok(AddressBytesToStringResponse { + address_string: address_string__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.AddressBytesToStringResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for AddressStringToBytesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address_string.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressStringToBytesRequest", len)?; + if !self.address_string.is_empty() { + struct_ser.serialize_field("addressString", &self.address_string)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AddressStringToBytesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address_string", + "addressString", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AddressString, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "addressString" | "address_string" => Ok(GeneratedField::AddressString), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AddressStringToBytesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.AddressStringToBytesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address_string__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AddressString => { + if address_string__.is_some() { + return Err(serde::de::Error::duplicate_field("addressString")); + } + address_string__ = Some(map_.next_value()?); + } + } + } + Ok(AddressStringToBytesRequest { + address_string: address_string__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.AddressStringToBytesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for AddressStringToBytesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address_bytes.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressStringToBytesResponse", len)?; + if !self.address_bytes.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("addressBytes", pbjson::private::base64::encode(&self.address_bytes).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AddressStringToBytesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address_bytes", + "addressBytes", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AddressBytes, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "addressBytes" | "address_bytes" => Ok(GeneratedField::AddressBytes), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AddressStringToBytesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.AddressStringToBytesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address_bytes__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AddressBytes => { + if address_bytes__.is_some() { + return Err(serde::de::Error::duplicate_field("addressBytes")); + } + address_bytes__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(AddressStringToBytesResponse { + address_bytes: address_bytes__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.AddressStringToBytesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for BaseAccount { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if self.pub_key.is_some() { + len += 1; + } + if self.account_number != 0 { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.BaseAccount", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if let Some(v) = self.pub_key.as_ref() { + struct_ser.serialize_field("pubKey", v)?; + } + if self.account_number != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("accountNumber", ToString::to_string(&self.account_number).as_str())?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for BaseAccount { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "pub_key", + "pubKey", + "account_number", + "accountNumber", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + PubKey, + AccountNumber, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "pubKey" | "pub_key" => Ok(GeneratedField::PubKey), + "accountNumber" | "account_number" => Ok(GeneratedField::AccountNumber), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = BaseAccount; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.BaseAccount") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut pub_key__ = None; + let mut account_number__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::PubKey => { + if pub_key__.is_some() { + return Err(serde::de::Error::duplicate_field("pubKey")); + } + pub_key__ = map_.next_value()?; + } + GeneratedField::AccountNumber => { + if account_number__.is_some() { + return Err(serde::de::Error::duplicate_field("accountNumber")); + } + account_number__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(BaseAccount { + address: address__.unwrap_or_default(), + pub_key: pub_key__, + account_number: account_number__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.BaseAccount", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Bech32PrefixRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.Bech32PrefixRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Bech32PrefixRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Bech32PrefixRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.Bech32PrefixRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(Bech32PrefixRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.Bech32PrefixRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Bech32PrefixResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.bech32_prefix.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.Bech32PrefixResponse", len)?; + if !self.bech32_prefix.is_empty() { + struct_ser.serialize_field("bech32Prefix", &self.bech32_prefix)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Bech32PrefixResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "bech32_prefix", + "bech32Prefix", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Bech32Prefix, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "bech32Prefix" | "bech32_prefix" => Ok(GeneratedField::Bech32Prefix), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Bech32PrefixResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.Bech32PrefixResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut bech32_prefix__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Bech32Prefix => { + if bech32_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("bech32Prefix")); + } + bech32_prefix__ = Some(map_.next_value()?); + } + } + } + Ok(Bech32PrefixResponse { + bech32_prefix: bech32_prefix__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.Bech32PrefixResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + if !self.accounts.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.GenesisState", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + if !self.accounts.is_empty() { + struct_ser.serialize_field("accounts", &self.accounts)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + "accounts", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + Accounts, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + "accounts" => Ok(GeneratedField::Accounts), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + let mut accounts__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + GeneratedField::Accounts => { + if accounts__.is_some() { + return Err(serde::de::Error::duplicate_field("accounts")); + } + accounts__ = Some(map_.next_value()?); + } + } + } + Ok(GenesisState { + params: params__, + accounts: accounts__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ModuleAccount { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.base_account.is_some() { + len += 1; + } + if !self.name.is_empty() { + len += 1; + } + if !self.permissions.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.ModuleAccount", len)?; + if let Some(v) = self.base_account.as_ref() { + struct_ser.serialize_field("baseAccount", v)?; + } + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if !self.permissions.is_empty() { + struct_ser.serialize_field("permissions", &self.permissions)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ModuleAccount { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "base_account", + "baseAccount", + "name", + "permissions", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + BaseAccount, + Name, + Permissions, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "baseAccount" | "base_account" => Ok(GeneratedField::BaseAccount), + "name" => Ok(GeneratedField::Name), + "permissions" => Ok(GeneratedField::Permissions), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ModuleAccount; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.ModuleAccount") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut base_account__ = None; + let mut name__ = None; + let mut permissions__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::BaseAccount => { + if base_account__.is_some() { + return Err(serde::de::Error::duplicate_field("baseAccount")); + } + base_account__ = map_.next_value()?; + } + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Permissions => { + if permissions__.is_some() { + return Err(serde::de::Error::duplicate_field("permissions")); + } + permissions__ = Some(map_.next_value()?); + } + } + } + Ok(ModuleAccount { + base_account: base_account__, + name: name__.unwrap_or_default(), + permissions: permissions__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.ModuleAccount", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ModuleCredential { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.module_name.is_empty() { + len += 1; + } + if !self.derivation_keys.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.ModuleCredential", len)?; + if !self.module_name.is_empty() { + struct_ser.serialize_field("moduleName", &self.module_name)?; + } + if !self.derivation_keys.is_empty() { + struct_ser.serialize_field("derivationKeys", &self.derivation_keys.iter().map(pbjson::private::base64::encode).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ModuleCredential { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "module_name", + "moduleName", + "derivation_keys", + "derivationKeys", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ModuleName, + DerivationKeys, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "moduleName" | "module_name" => Ok(GeneratedField::ModuleName), + "derivationKeys" | "derivation_keys" => Ok(GeneratedField::DerivationKeys), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ModuleCredential; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.ModuleCredential") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut module_name__ = None; + let mut derivation_keys__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ModuleName => { + if module_name__.is_some() { + return Err(serde::de::Error::duplicate_field("moduleName")); + } + module_name__ = Some(map_.next_value()?); + } + GeneratedField::DerivationKeys => { + if derivation_keys__.is_some() { + return Err(serde::de::Error::duplicate_field("derivationKeys")); + } + derivation_keys__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(ModuleCredential { + module_name: module_name__.unwrap_or_default(), + derivation_keys: derivation_keys__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.ModuleCredential", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.MsgUpdateParams", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + authority: authority__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.max_memo_characters != 0 { + len += 1; + } + if self.tx_sig_limit != 0 { + len += 1; + } + if self.tx_size_cost_per_byte != 0 { + len += 1; + } + if self.sig_verify_cost_ed25519 != 0 { + len += 1; + } + if self.sig_verify_cost_secp256k1 != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.Params", len)?; + if self.max_memo_characters != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("maxMemoCharacters", ToString::to_string(&self.max_memo_characters).as_str())?; + } + if self.tx_sig_limit != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("txSigLimit", ToString::to_string(&self.tx_sig_limit).as_str())?; + } + if self.tx_size_cost_per_byte != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("txSizeCostPerByte", ToString::to_string(&self.tx_size_cost_per_byte).as_str())?; + } + if self.sig_verify_cost_ed25519 != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sigVerifyCostEd25519", ToString::to_string(&self.sig_verify_cost_ed25519).as_str())?; + } + if self.sig_verify_cost_secp256k1 != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sigVerifyCostSecp256k1", ToString::to_string(&self.sig_verify_cost_secp256k1).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "max_memo_characters", + "maxMemoCharacters", + "tx_sig_limit", + "txSigLimit", + "tx_size_cost_per_byte", + "txSizeCostPerByte", + "sig_verify_cost_ed25519", + "sigVerifyCostEd25519", + "sig_verify_cost_secp256k1", + "sigVerifyCostSecp256k1", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MaxMemoCharacters, + TxSigLimit, + TxSizeCostPerByte, + SigVerifyCostEd25519, + SigVerifyCostSecp256k1, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "maxMemoCharacters" | "max_memo_characters" => Ok(GeneratedField::MaxMemoCharacters), + "txSigLimit" | "tx_sig_limit" => Ok(GeneratedField::TxSigLimit), + "txSizeCostPerByte" | "tx_size_cost_per_byte" => Ok(GeneratedField::TxSizeCostPerByte), + "sigVerifyCostEd25519" | "sig_verify_cost_ed25519" => Ok(GeneratedField::SigVerifyCostEd25519), + "sigVerifyCostSecp256k1" | "sig_verify_cost_secp256k1" => Ok(GeneratedField::SigVerifyCostSecp256k1), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut max_memo_characters__ = None; + let mut tx_sig_limit__ = None; + let mut tx_size_cost_per_byte__ = None; + let mut sig_verify_cost_ed25519__ = None; + let mut sig_verify_cost_secp256k1__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MaxMemoCharacters => { + if max_memo_characters__.is_some() { + return Err(serde::de::Error::duplicate_field("maxMemoCharacters")); + } + max_memo_characters__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::TxSigLimit => { + if tx_sig_limit__.is_some() { + return Err(serde::de::Error::duplicate_field("txSigLimit")); + } + tx_sig_limit__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::TxSizeCostPerByte => { + if tx_size_cost_per_byte__.is_some() { + return Err(serde::de::Error::duplicate_field("txSizeCostPerByte")); + } + tx_size_cost_per_byte__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::SigVerifyCostEd25519 => { + if sig_verify_cost_ed25519__.is_some() { + return Err(serde::de::Error::duplicate_field("sigVerifyCostEd25519")); + } + sig_verify_cost_ed25519__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::SigVerifyCostSecp256k1 => { + if sig_verify_cost_secp256k1__.is_some() { + return Err(serde::de::Error::duplicate_field("sigVerifyCostSecp256k1")); + } + sig_verify_cost_secp256k1__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Params { + max_memo_characters: max_memo_characters__.unwrap_or_default(), + tx_sig_limit: tx_sig_limit__.unwrap_or_default(), + tx_size_cost_per_byte: tx_size_cost_per_byte__.unwrap_or_default(), + sig_verify_cost_ed25519: sig_verify_cost_ed25519__.unwrap_or_default(), + sig_verify_cost_secp256k1: sig_verify_cost_secp256k1__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountAddressByIdRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.id != 0 { + len += 1; + } + if self.account_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDRequest", len)?; + if self.id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("id", ToString::to_string(&self.id).as_str())?; + } + if self.account_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("accountId", ToString::to_string(&self.account_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + "account_id", + "accountId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + AccountId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + "accountId" | "account_id" => Ok(GeneratedField::AccountId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountAddressByIdRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountAddressByIDRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + let mut account_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::AccountId => { + if account_id__.is_some() { + return Err(serde::de::Error::duplicate_field("accountId")); + } + account_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryAccountAddressByIdRequest { + id: id__.unwrap_or_default(), + account_id: account_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountAddressByIdResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.account_address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDResponse", len)?; + if !self.account_address.is_empty() { + struct_ser.serialize_field("accountAddress", &self.account_address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "account_address", + "accountAddress", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AccountAddress, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "accountAddress" | "account_address" => Ok(GeneratedField::AccountAddress), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountAddressByIdResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountAddressByIDResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut account_address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AccountAddress => { + if account_address__.is_some() { + return Err(serde::de::Error::duplicate_field("accountAddress")); + } + account_address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryAccountAddressByIdResponse { + account_address: account_address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountInfoRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountInfoRequest", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountInfoRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountInfoRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountInfoRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryAccountInfoRequest { + address: address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountInfoRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountInfoResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.info.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountInfoResponse", len)?; + if let Some(v) = self.info.as_ref() { + struct_ser.serialize_field("info", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountInfoResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "info", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Info, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "info" => Ok(GeneratedField::Info), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountInfoResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountInfoResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut info__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Info => { + if info__.is_some() { + return Err(serde::de::Error::duplicate_field("info")); + } + info__ = map_.next_value()?; + } + } + } + Ok(QueryAccountInfoResponse { + info: info__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountInfoResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountRequest", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryAccountRequest { + address: address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.account.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountResponse", len)?; + if let Some(v) = self.account.as_ref() { + struct_ser.serialize_field("account", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "account", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Account, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "account" => Ok(GeneratedField::Account), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut account__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Account => { + if account__.is_some() { + return Err(serde::de::Error::duplicate_field("account")); + } + account__ = map_.next_value()?; + } + } + } + Ok(QueryAccountResponse { + account: account__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountsRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryAccountsRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAccountsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.accounts.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountsResponse", len)?; + if !self.accounts.is_empty() { + struct_ser.serialize_field("accounts", &self.accounts)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAccountsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "accounts", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Accounts, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "accounts" => Ok(GeneratedField::Accounts), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAccountsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut accounts__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Accounts => { + if accounts__.is_some() { + return Err(serde::de::Error::duplicate_field("accounts")); + } + accounts__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryAccountsResponse { + accounts: accounts__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryAccountsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryModuleAccountByNameRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountByNameRequest", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryModuleAccountByNameRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountByNameRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + } + } + Ok(QueryModuleAccountByNameRequest { + name: name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryModuleAccountByNameRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryModuleAccountByNameResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.account.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountByNameResponse", len)?; + if let Some(v) = self.account.as_ref() { + struct_ser.serialize_field("account", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "account", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Account, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "account" => Ok(GeneratedField::Account), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryModuleAccountByNameResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountByNameResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut account__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Account => { + if account__.is_some() { + return Err(serde::de::Error::duplicate_field("account")); + } + account__ = map_.next_value()?; + } + } + } + Ok(QueryModuleAccountByNameResponse { + account: account__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryModuleAccountByNameResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryModuleAccountsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryModuleAccountsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryModuleAccountsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryModuleAccountsRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryModuleAccountsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryModuleAccountsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.accounts.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountsResponse", len)?; + if !self.accounts.is_empty() { + struct_ser.serialize_field("accounts", &self.accounts)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryModuleAccountsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "accounts", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Accounts, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "accounts" => Ok(GeneratedField::Accounts), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryModuleAccountsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut accounts__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Accounts => { + if accounts__.is_some() { + return Err(serde::de::Error::duplicate_field("accounts")); + } + accounts__ = Some(map_.next_value()?); + } + } + } + Ok(QueryModuleAccountsResponse { + accounts: accounts__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryModuleAccountsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryParamsRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.auth.v1beta1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.auth.v1beta1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.bank.module.v1.rs b/src/prost/cosmos.bank.module.v1.rs new file mode 100644 index 00000000..fe1abca4 --- /dev/null +++ b/src/prost/cosmos.bank.module.v1.rs @@ -0,0 +1,22 @@ +/// Module is the config object of the bank module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Module { + /// blocked_module_accounts configures exceptional module accounts which should be blocked from receiving funds. + /// If left empty it defaults to the list of account names supplied in the auth module configuration as + /// module_account_permissions + #[prost(string, repeated, tag = "1")] + pub blocked_module_accounts_override: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + /// authority defines the custom module authority. If not set, defaults to the governance module. + #[prost(string, tag = "2")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for Module { + const NAME: &'static str = "Module"; + const PACKAGE: &'static str = "cosmos.bank.module.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.module.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.bank.module.v1.serde.rs b/src/prost/cosmos.bank.module.v1.serde.rs new file mode 100644 index 00000000..40fb3cf5 --- /dev/null +++ b/src/prost/cosmos.bank.module.v1.serde.rs @@ -0,0 +1,109 @@ +impl serde::Serialize for Module { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.blocked_module_accounts_override.is_empty() { + len += 1; + } + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.module.v1.Module", len)?; + if !self.blocked_module_accounts_override.is_empty() { + struct_ser.serialize_field("blockedModuleAccountsOverride", &self.blocked_module_accounts_override)?; + } + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Module { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "blocked_module_accounts_override", + "blockedModuleAccountsOverride", + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + BlockedModuleAccountsOverride, + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "blockedModuleAccountsOverride" | "blocked_module_accounts_override" => Ok(GeneratedField::BlockedModuleAccountsOverride), + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Module; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.module.v1.Module") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut blocked_module_accounts_override__ = None; + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::BlockedModuleAccountsOverride => { + if blocked_module_accounts_override__.is_some() { + return Err(serde::de::Error::duplicate_field("blockedModuleAccountsOverride")); + } + blocked_module_accounts_override__ = Some(map_.next_value()?); + } + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(Module { + blocked_module_accounts_override: blocked_module_accounts_override__.unwrap_or_default(), + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.module.v1.Module", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.bank.v1beta1.rs b/src/prost/cosmos.bank.v1beta1.rs new file mode 100644 index 00000000..842fd5c8 --- /dev/null +++ b/src/prost/cosmos.bank.v1beta1.rs @@ -0,0 +1,2524 @@ +/// Params defines the parameters for the bank module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// Deprecated: Use of SendEnabled in params is deprecated. + /// For genesis, use the newly added send_enabled field in the genesis object. + /// Storage, lookup, and manipulation of this information is now in the keeper. + /// + /// As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files. + #[deprecated] + #[prost(message, repeated, tag = "1")] + pub send_enabled: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub default_send_enabled: bool, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// SendEnabled maps coin denom to a send_enabled status (whether a denom is +/// sendable). +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SendEnabled { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(bool, tag = "2")] + pub enabled: bool, +} +impl ::prost::Name for SendEnabled { + const NAME: &'static str = "SendEnabled"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// Input models transaction input. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Input { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub coins: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Input { + const NAME: &'static str = "Input"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// Output models transaction outputs. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Output { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub coins: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Output { + const NAME: &'static str = "Output"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// Supply represents a struct that passively keeps track of the total supply +/// amounts in the network. +/// This message is deprecated now that supply is indexed by denom. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Supply { + #[prost(message, repeated, tag = "1")] + pub total: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Supply { + const NAME: &'static str = "Supply"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// DenomUnit represents a struct that describes a given +/// denomination unit of the basic token. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DenomUnit { + /// denom represents the string name of the given denom unit (e.g uatom). + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// exponent represents power of 10 exponent that one must + /// raise the base_denom to in order to equal the given DenomUnit's denom + /// 1 denom = 10^exponent base_denom + /// (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with + /// exponent = 6, thus: 1 atom = 10^6 uatom). + #[prost(uint32, tag = "2")] + pub exponent: u32, + /// aliases is a list of string aliases for the given denom + #[prost(string, repeated, tag = "3")] + pub aliases: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for DenomUnit { + const NAME: &'static str = "DenomUnit"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// Metadata represents a struct that describes +/// a basic token. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Metadata { + #[prost(string, tag = "1")] + pub description: ::prost::alloc::string::String, + /// denom_units represents the list of DenomUnit's for a given coin + #[prost(message, repeated, tag = "2")] + pub denom_units: ::prost::alloc::vec::Vec, + /// base represents the base denom (should be the DenomUnit with exponent = 0). + #[prost(string, tag = "3")] + pub base: ::prost::alloc::string::String, + /// display indicates the suggested denom that should be + /// displayed in clients. + #[prost(string, tag = "4")] + pub display: ::prost::alloc::string::String, + /// name defines the name of the token (eg: Cosmos Atom) + /// + /// Since: cosmos-sdk 0.43 + #[prost(string, tag = "5")] + pub name: ::prost::alloc::string::String, + /// symbol is the token symbol usually shown on exchanges (eg: ATOM). This can + /// be the same as the display. + /// + /// Since: cosmos-sdk 0.43 + #[prost(string, tag = "6")] + pub symbol: ::prost::alloc::string::String, + /// URI to a document (on or off-chain) that contains additional information. Optional. + /// + /// Since: cosmos-sdk 0.46 + #[prost(string, tag = "7")] + pub uri: ::prost::alloc::string::String, + /// URIHash is a sha256 hash of a document pointed by URI. It's used to verify that + /// the document didn't change. Optional. + /// + /// Since: cosmos-sdk 0.46 + #[prost(string, tag = "8")] + pub uri_hash: ::prost::alloc::string::String, +} +impl ::prost::Name for Metadata { + const NAME: &'static str = "Metadata"; + 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. +#[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. +#[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. +#[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. +#[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. +/// +/// Since: cosmos-sdk 0.47 +#[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. +/// +/// Since: cosmos-sdk 0.47 +#[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. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSetSendEnabled { + #[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. +/// +/// Since: cosmos-sdk 0.47 +#[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) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the bank Msg service. + #[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 + } + /// Send defines a method for sending coins from one account to another account. + pub async fn send( + &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.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 + } + /// MultiSend defines a method for sending coins from some accounts to other accounts. + pub async fn multi_send( + &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.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 + } + /// UpdateParams defines a governance operation for updating the x/bank module parameters. + /// The authority is defined in the keeper. + /// + /// Since: cosmos-sdk 0.47 + pub async fn update_params( + &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.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 + } + /// SetSendEnabled is a governance operation for setting the SendEnabled flag + /// on any number of Denoms. Only the entries to add or update should be + /// included. Entries that already exist in the store, but that aren't + /// included in this message, will be left unchanged. + /// + /// Since: cosmos-sdk 0.47 + pub async fn set_send_enabled( + &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.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 server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// Send defines a method for sending coins from one account to another account. + async fn send( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// MultiSend defines a method for sending coins from some accounts to other accounts. + async fn multi_send( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateParams defines a governance operation for updating the x/bank module parameters. + /// The authority is defined in the keeper. + /// + /// Since: cosmos-sdk 0.47 + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SetSendEnabled is a governance operation for setting the SendEnabled flag + /// on any number of Denoms. Only the entries to add or update should be + /// included. Entries that already exist in the store, but that aren't + /// included in this message, will be left unchanged. + /// + /// Since: cosmos-sdk 0.47 + async fn set_send_enabled( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the bank Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.bank.v1beta1.Msg/Send" => { + #[allow(non_camel_case_types)] + struct SendSvc(pub Arc); + impl tonic::server::UnaryService + for SendSvc { + type Response = super::MsgSendResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::send(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SendSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Msg/MultiSend" => { + #[allow(non_camel_case_types)] + struct MultiSendSvc(pub Arc); + impl tonic::server::UnaryService + for MultiSendSvc { + type Response = super::MsgMultiSendResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::multi_send(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = MultiSendSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Msg/SetSendEnabled" => { + #[allow(non_camel_case_types)] + struct SetSendEnabledSvc(pub Arc); + impl tonic::server::UnaryService + for SetSendEnabledSvc { + type Response = super::MsgSetSendEnabledResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::set_send_enabled(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SetSendEnabledSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "cosmos.bank.v1beta1.Msg"; + } +} +/// QueryBalanceRequest is the request type for the Query/Balance RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryBalanceRequest { + /// address is the address to query balances for. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// denom is the coin denom to query balances for. + #[prost(string, tag = "2")] + pub denom: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryBalanceRequest { + const NAME: &'static str = "QueryBalanceRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryBalanceResponse is the response type for the Query/Balance RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryBalanceResponse { + /// balance is the balance of the coin. + #[prost(message, optional, tag = "1")] + pub balance: ::core::option::Option, +} +impl ::prost::Name for QueryBalanceResponse { + const NAME: &'static str = "QueryBalanceResponse"; + 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/AllBalances RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAllBalancesRequest { + /// address is the address to query balances for. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryAllBalancesRequest { + const NAME: &'static str = "QueryAllBalancesRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAllBalancesResponse { + /// balances is the balances of all the coins. + #[prost(message, repeated, tag = "1")] + pub balances: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryAllBalancesResponse { + const NAME: &'static str = "QueryAllBalancesResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySpendableBalancesRequest defines the gRPC request structure for querying +/// an account's spendable balances. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySpendableBalancesRequest { + /// address is the address to query spendable balances for. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QuerySpendableBalancesRequest { + const NAME: &'static str = "QuerySpendableBalancesRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySpendableBalancesResponse defines the gRPC response structure for querying +/// an account's spendable balances. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySpendableBalancesResponse { + /// balances is the spendable balances of all the coins. + #[prost(message, repeated, tag = "1")] + pub balances: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QuerySpendableBalancesResponse { + const NAME: &'static str = "QuerySpendableBalancesResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySpendableBalanceByDenomRequest defines the gRPC request structure for +/// querying an account's spendable balance for a specific denom. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySpendableBalanceByDenomRequest { + /// address is the address to query balances for. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// denom is the coin denom to query balances for. + #[prost(string, tag = "2")] + pub denom: ::prost::alloc::string::String, +} +impl ::prost::Name for QuerySpendableBalanceByDenomRequest { + const NAME: &'static str = "QuerySpendableBalanceByDenomRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySpendableBalanceByDenomResponse defines the gRPC response structure for +/// querying an account's spendable balance for a specific denom. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySpendableBalanceByDenomResponse { + /// balance is the balance of the coin. + #[prost(message, optional, tag = "1")] + pub balance: ::core::option::Option, +} +impl ::prost::Name for QuerySpendableBalanceByDenomResponse { + const NAME: &'static str = "QuerySpendableBalanceByDenomResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalSupplyRequest { + /// pagination defines an optional pagination for the request. + /// + /// Since: cosmos-sdk 0.43 + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryTotalSupplyRequest { + const NAME: &'static str = "QueryTotalSupplyRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC +/// method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalSupplyResponse { + /// supply is the supply of the coins + #[prost(message, repeated, tag = "1")] + pub supply: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + /// + /// Since: cosmos-sdk 0.43 + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryTotalSupplyResponse { + const NAME: &'static str = "QueryTotalSupplyResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySupplyOfRequest { + /// denom is the coin denom to query balances for. + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +impl ::prost::Name for QuerySupplyOfRequest { + const NAME: &'static str = "QuerySupplyOfRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySupplyOfResponse { + /// amount is the supply of the coin. + #[prost(message, optional, tag = "1")] + pub amount: ::core::option::Option, +} +impl ::prost::Name for QuerySupplyOfResponse { + const NAME: &'static str = "QuerySupplyOfResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryParamsRequest defines the request type for querying x/bank parameters. +#[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 = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryParamsResponse defines the response type for querying x/bank parameters. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +impl ::prost::Name for QueryParamsResponse { + const NAME: &'static str = "QueryParamsResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomsMetadataRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryDenomsMetadataRequest { + const NAME: &'static str = "QueryDenomsMetadataRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomsMetadataResponse { + /// metadata provides the client information for all the registered tokens. + #[prost(message, repeated, tag = "1")] + pub metadatas: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryDenomsMetadataResponse { + const NAME: &'static str = "QueryDenomsMetadataResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomMetadataRequest { + /// denom is the coin denom to query the metadata for. + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDenomMetadataRequest { + const NAME: &'static str = "QueryDenomMetadataRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomMetadataResponse { + /// metadata describes and provides all the client information for the requested token. + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, +} +impl ::prost::Name for QueryDenomMetadataResponse { + const NAME: &'static str = "QueryDenomMetadataResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomOwnersRequest defines the request type for the DenomOwners RPC query, +/// which queries for a paginated set of all account holders of a particular +/// denomination. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomOwnersRequest { + /// denom defines the coin denomination to query all account holders for. + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryDenomOwnersRequest { + const NAME: &'static str = "QueryDenomOwnersRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// DenomOwner defines structure representing an account that owns or holds a +/// particular denominated token. It contains the account address and account +/// balance of the denominated token. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DenomOwner { + /// address defines the address that owns a particular denomination. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// balance is the balance of the denominated coin for an account. + #[prost(message, optional, tag = "2")] + pub balance: ::core::option::Option, +} +impl ::prost::Name for DenomOwner { + const NAME: &'static str = "DenomOwner"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QueryDenomOwnersResponse defines the RPC response of a DenomOwners RPC query. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomOwnersResponse { + #[prost(message, repeated, tag = "1")] + pub denom_owners: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryDenomOwnersResponse { + const NAME: &'static str = "QueryDenomOwnersResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySendEnabledRequest defines the RPC request for looking up SendEnabled entries. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySendEnabledRequest { + /// denoms is the specific denoms you want look up. Leave empty to get all entries. + #[prost(string, repeated, tag = "1")] + pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// pagination defines an optional pagination for the request. This field is + /// only read if the denoms field is empty. + #[prost(message, optional, tag = "99")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QuerySendEnabledRequest { + const NAME: &'static str = "QuerySendEnabledRequest"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// QuerySendEnabledResponse defines the RPC response of a SendEnable query. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuerySendEnabledResponse { + #[prost(message, repeated, tag = "1")] + pub send_enabled: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. This field is only + /// populated if the denoms field in the request is empty. + #[prost(message, optional, tag = "99")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QuerySendEnabledResponse { + const NAME: &'static str = "QuerySendEnabledResponse"; + const PACKAGE: &'static str = "cosmos.bank.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.bank.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Balance queries the balance of a single coin for a single account. + pub async fn balance( + &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.bank.v1beta1.Query/Balance", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "Balance")); + self.inner.unary(req, path, codec).await + } + /// AllBalances queries the balance of all coins for a single account. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn all_balances( + &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.bank.v1beta1.Query/AllBalances", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "AllBalances")); + self.inner.unary(req, path, codec).await + } + /// SpendableBalances queries the spendable balance of all coins for a single + /// account. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.46 + pub async fn spendable_balances( + &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.bank.v1beta1.Query/SpendableBalances", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.bank.v1beta1.Query", "SpendableBalances"), + ); + self.inner.unary(req, path, codec).await + } + /// SpendableBalanceByDenom queries the spendable balance of a single denom for + /// a single account. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.47 + pub async fn spendable_balance_by_denom( + &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.bank.v1beta1.Query/SpendableBalanceByDenom", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.bank.v1beta1.Query", + "SpendableBalanceByDenom", + ), + ); + self.inner.unary(req, path, codec).await + } + /// TotalSupply queries the total supply of all coins. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn total_supply( + &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.bank.v1beta1.Query/TotalSupply", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "TotalSupply")); + self.inner.unary(req, path, codec).await + } + /// SupplyOf queries the supply of a single coin. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn supply_of( + &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.bank.v1beta1.Query/SupplyOf", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "SupplyOf")); + self.inner.unary(req, path, codec).await + } + /// Params queries the parameters of x/bank module. + pub async fn params( + &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.bank.v1beta1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "Params")); + self.inner.unary(req, path, codec).await + } + /// DenomsMetadata queries the client metadata of a given coin denomination. + pub async fn denom_metadata( + &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.bank.v1beta1.Query/DenomMetadata", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "DenomMetadata")); + self.inner.unary(req, path, codec).await + } + /// DenomsMetadata queries the client metadata for all registered coin + /// denominations. + pub async fn denoms_metadata( + &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.bank.v1beta1.Query/DenomsMetadata", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "DenomsMetadata")); + self.inner.unary(req, path, codec).await + } + /// DenomOwners queries for all account addresses that own a particular token + /// denomination. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.46 + pub async fn denom_owners( + &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.bank.v1beta1.Query/DenomOwners", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "DenomOwners")); + self.inner.unary(req, path, codec).await + } + /// SendEnabled queries for SendEnabled entries. + /// + /// This query only returns denominations that have specific SendEnabled settings. + /// Any denomination that does not have a specific setting will use the default + /// params.default_send_enabled, and will not be returned by this query. + /// + /// Since: cosmos-sdk 0.47 + pub async fn send_enabled( + &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.bank.v1beta1.Query/SendEnabled", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.bank.v1beta1.Query", "SendEnabled")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Balance queries the balance of a single coin for a single account. + async fn balance( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// AllBalances queries the balance of all coins for a single account. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn all_balances( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SpendableBalances queries the spendable balance of all coins for a single + /// account. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.46 + async fn spendable_balances( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SpendableBalanceByDenom queries the spendable balance of a single denom for + /// a single account. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.47 + async fn spendable_balance_by_denom( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TotalSupply queries the total supply of all coins. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn total_supply( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SupplyOf queries the supply of a single coin. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn supply_of( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Params queries the parameters of x/bank module. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DenomsMetadata queries the client metadata of a given coin denomination. + async fn denom_metadata( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DenomsMetadata queries the client metadata for all registered coin + /// denominations. + async fn denoms_metadata( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DenomOwners queries for all account addresses that own a particular token + /// denomination. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + /// + /// Since: cosmos-sdk 0.46 + async fn denom_owners( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SendEnabled queries for SendEnabled entries. + /// + /// This query only returns denominations that have specific SendEnabled settings. + /// Any denomination that does not have a specific setting will use the default + /// params.default_send_enabled, and will not be returned by this query. + /// + /// Since: cosmos-sdk 0.47 + async fn send_enabled( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.bank.v1beta1.Query/Balance" => { + #[allow(non_camel_case_types)] + struct BalanceSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for BalanceSvc { + type Response = super::QueryBalanceResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::balance(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = BalanceSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/AllBalances" => { + #[allow(non_camel_case_types)] + struct AllBalancesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AllBalancesSvc { + type Response = super::QueryAllBalancesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::all_balances(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AllBalancesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/SpendableBalances" => { + #[allow(non_camel_case_types)] + struct SpendableBalancesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for SpendableBalancesSvc { + type Response = super::QuerySpendableBalancesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::spendable_balances(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SpendableBalancesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/SpendableBalanceByDenom" => { + #[allow(non_camel_case_types)] + struct SpendableBalanceByDenomSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QuerySpendableBalanceByDenomRequest, + > for SpendableBalanceByDenomSvc { + type Response = super::QuerySpendableBalanceByDenomResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QuerySpendableBalanceByDenomRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::spendable_balance_by_denom(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SpendableBalanceByDenomSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/TotalSupply" => { + #[allow(non_camel_case_types)] + struct TotalSupplySvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TotalSupplySvc { + type Response = super::QueryTotalSupplyResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::total_supply(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TotalSupplySvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/SupplyOf" => { + #[allow(non_camel_case_types)] + struct SupplyOfSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for SupplyOfSvc { + type Response = super::QuerySupplyOfResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::supply_of(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SupplyOfSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/DenomMetadata" => { + #[allow(non_camel_case_types)] + struct DenomMetadataSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DenomMetadataSvc { + type Response = super::QueryDenomMetadataResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::denom_metadata(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DenomMetadataSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/DenomsMetadata" => { + #[allow(non_camel_case_types)] + struct DenomsMetadataSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DenomsMetadataSvc { + type Response = super::QueryDenomsMetadataResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::denoms_metadata(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DenomsMetadataSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/DenomOwners" => { + #[allow(non_camel_case_types)] + struct DenomOwnersSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DenomOwnersSvc { + type Response = super::QueryDenomOwnersResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::denom_owners(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DenomOwnersSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.bank.v1beta1.Query/SendEnabled" => { + #[allow(non_camel_case_types)] + struct SendEnabledSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for SendEnabledSvc { + type Response = super::QuerySendEnabledResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::send_enabled(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SendEnabledSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "cosmos.bank.v1beta1.Query"; + } +} +/// SendAuthorization allows the grantee to spend up to spend_limit coins from +/// the granter's account. +/// +/// Since: cosmos-sdk 0.43 +#[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. + /// + /// Since: cosmos-sdk 0.47 + #[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. +#[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. + /// + /// Since: cosmos-sdk 0.47 + #[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. +#[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) + } +} diff --git a/src/prost/cosmos.bank.v1beta1.serde.rs b/src/prost/cosmos.bank.v1beta1.serde.rs new file mode 100644 index 00000000..891ac826 --- /dev/null +++ b/src/prost/cosmos.bank.v1beta1.serde.rs @@ -0,0 +1,4293 @@ +impl serde::Serialize for Balance { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if !self.coins.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Balance", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if !self.coins.is_empty() { + struct_ser.serialize_field("coins", &self.coins)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Balance { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "coins", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Coins, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "coins" => Ok(GeneratedField::Coins), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Balance; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.Balance") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut coins__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Coins => { + if coins__.is_some() { + return Err(serde::de::Error::duplicate_field("coins")); + } + coins__ = Some(map_.next_value()?); + } + } + } + Ok(Balance { + address: address__.unwrap_or_default(), + coins: coins__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.Balance", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DenomOwner { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if self.balance.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.DenomOwner", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if let Some(v) = self.balance.as_ref() { + struct_ser.serialize_field("balance", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DenomOwner { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "balance", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Balance, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "balance" => Ok(GeneratedField::Balance), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DenomOwner; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.DenomOwner") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut balance__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Balance => { + if balance__.is_some() { + return Err(serde::de::Error::duplicate_field("balance")); + } + balance__ = map_.next_value()?; + } + } + } + Ok(DenomOwner { + address: address__.unwrap_or_default(), + balance: balance__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.DenomOwner", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DenomUnit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + if self.exponent != 0 { + len += 1; + } + if !self.aliases.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.DenomUnit", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + if self.exponent != 0 { + struct_ser.serialize_field("exponent", &self.exponent)?; + } + if !self.aliases.is_empty() { + struct_ser.serialize_field("aliases", &self.aliases)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DenomUnit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + "exponent", + "aliases", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + Exponent, + Aliases, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + "exponent" => Ok(GeneratedField::Exponent), + "aliases" => Ok(GeneratedField::Aliases), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DenomUnit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.DenomUnit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + let mut exponent__ = None; + let mut aliases__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + GeneratedField::Exponent => { + if exponent__.is_some() { + return Err(serde::de::Error::duplicate_field("exponent")); + } + exponent__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Aliases => { + if aliases__.is_some() { + return Err(serde::de::Error::duplicate_field("aliases")); + } + aliases__ = Some(map_.next_value()?); + } + } + } + Ok(DenomUnit { + denom: denom__.unwrap_or_default(), + exponent: exponent__.unwrap_or_default(), + aliases: aliases__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.DenomUnit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + if !self.balances.is_empty() { + len += 1; + } + if !self.supply.is_empty() { + len += 1; + } + if !self.denom_metadata.is_empty() { + len += 1; + } + if !self.send_enabled.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.GenesisState", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + if !self.balances.is_empty() { + struct_ser.serialize_field("balances", &self.balances)?; + } + if !self.supply.is_empty() { + struct_ser.serialize_field("supply", &self.supply)?; + } + if !self.denom_metadata.is_empty() { + struct_ser.serialize_field("denomMetadata", &self.denom_metadata)?; + } + if !self.send_enabled.is_empty() { + struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + "balances", + "supply", + "denom_metadata", + "denomMetadata", + "send_enabled", + "sendEnabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + Balances, + Supply, + DenomMetadata, + SendEnabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + "balances" => Ok(GeneratedField::Balances), + "supply" => Ok(GeneratedField::Supply), + "denomMetadata" | "denom_metadata" => Ok(GeneratedField::DenomMetadata), + "sendEnabled" | "send_enabled" => Ok(GeneratedField::SendEnabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + let mut balances__ = None; + let mut supply__ = None; + let mut denom_metadata__ = None; + let mut send_enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + GeneratedField::Balances => { + if balances__.is_some() { + return Err(serde::de::Error::duplicate_field("balances")); + } + balances__ = Some(map_.next_value()?); + } + GeneratedField::Supply => { + if supply__.is_some() { + return Err(serde::de::Error::duplicate_field("supply")); + } + supply__ = Some(map_.next_value()?); + } + GeneratedField::DenomMetadata => { + if denom_metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("denomMetadata")); + } + denom_metadata__ = Some(map_.next_value()?); + } + GeneratedField::SendEnabled => { + if send_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("sendEnabled")); + } + send_enabled__ = Some(map_.next_value()?); + } + } + } + Ok(GenesisState { + params: params__, + balances: balances__.unwrap_or_default(), + supply: supply__.unwrap_or_default(), + denom_metadata: denom_metadata__.unwrap_or_default(), + send_enabled: send_enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Input { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if !self.coins.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Input", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if !self.coins.is_empty() { + struct_ser.serialize_field("coins", &self.coins)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Input { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "coins", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Coins, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "coins" => Ok(GeneratedField::Coins), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Input; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.Input") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut coins__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Coins => { + if coins__.is_some() { + return Err(serde::de::Error::duplicate_field("coins")); + } + coins__ = Some(map_.next_value()?); + } + } + } + Ok(Input { + address: address__.unwrap_or_default(), + coins: coins__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.Input", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Metadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.description.is_empty() { + len += 1; + } + if !self.denom_units.is_empty() { + len += 1; + } + if !self.base.is_empty() { + len += 1; + } + if !self.display.is_empty() { + len += 1; + } + if !self.name.is_empty() { + len += 1; + } + if !self.symbol.is_empty() { + len += 1; + } + if !self.uri.is_empty() { + len += 1; + } + if !self.uri_hash.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Metadata", len)?; + if !self.description.is_empty() { + struct_ser.serialize_field("description", &self.description)?; + } + if !self.denom_units.is_empty() { + struct_ser.serialize_field("denomUnits", &self.denom_units)?; + } + if !self.base.is_empty() { + struct_ser.serialize_field("base", &self.base)?; + } + if !self.display.is_empty() { + struct_ser.serialize_field("display", &self.display)?; + } + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if !self.symbol.is_empty() { + struct_ser.serialize_field("symbol", &self.symbol)?; + } + if !self.uri.is_empty() { + struct_ser.serialize_field("uri", &self.uri)?; + } + if !self.uri_hash.is_empty() { + struct_ser.serialize_field("uriHash", &self.uri_hash)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Metadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "description", + "denom_units", + "denomUnits", + "base", + "display", + "name", + "symbol", + "uri", + "uri_hash", + "uriHash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Description, + DenomUnits, + Base, + Display, + Name, + Symbol, + Uri, + UriHash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "description" => Ok(GeneratedField::Description), + "denomUnits" | "denom_units" => Ok(GeneratedField::DenomUnits), + "base" => Ok(GeneratedField::Base), + "display" => Ok(GeneratedField::Display), + "name" => Ok(GeneratedField::Name), + "symbol" => Ok(GeneratedField::Symbol), + "uri" => Ok(GeneratedField::Uri), + "uriHash" | "uri_hash" => Ok(GeneratedField::UriHash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Metadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.Metadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut description__ = None; + let mut denom_units__ = None; + let mut base__ = None; + let mut display__ = None; + let mut name__ = None; + let mut symbol__ = None; + let mut uri__ = None; + let mut uri_hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = Some(map_.next_value()?); + } + GeneratedField::DenomUnits => { + if denom_units__.is_some() { + return Err(serde::de::Error::duplicate_field("denomUnits")); + } + denom_units__ = Some(map_.next_value()?); + } + GeneratedField::Base => { + if base__.is_some() { + return Err(serde::de::Error::duplicate_field("base")); + } + base__ = Some(map_.next_value()?); + } + GeneratedField::Display => { + if display__.is_some() { + return Err(serde::de::Error::duplicate_field("display")); + } + display__ = Some(map_.next_value()?); + } + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Symbol => { + if symbol__.is_some() { + return Err(serde::de::Error::duplicate_field("symbol")); + } + symbol__ = Some(map_.next_value()?); + } + GeneratedField::Uri => { + if uri__.is_some() { + return Err(serde::de::Error::duplicate_field("uri")); + } + uri__ = Some(map_.next_value()?); + } + GeneratedField::UriHash => { + if uri_hash__.is_some() { + return Err(serde::de::Error::duplicate_field("uriHash")); + } + uri_hash__ = Some(map_.next_value()?); + } + } + } + Ok(Metadata { + description: description__.unwrap_or_default(), + denom_units: denom_units__.unwrap_or_default(), + base: base__.unwrap_or_default(), + display: display__.unwrap_or_default(), + name: name__.unwrap_or_default(), + symbol: symbol__.unwrap_or_default(), + uri: uri__.unwrap_or_default(), + uri_hash: uri_hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.Metadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgMultiSend { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.inputs.is_empty() { + len += 1; + } + if !self.outputs.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgMultiSend", len)?; + if !self.inputs.is_empty() { + struct_ser.serialize_field("inputs", &self.inputs)?; + } + if !self.outputs.is_empty() { + struct_ser.serialize_field("outputs", &self.outputs)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgMultiSend { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "inputs", + "outputs", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Inputs, + Outputs, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "inputs" => Ok(GeneratedField::Inputs), + "outputs" => Ok(GeneratedField::Outputs), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgMultiSend; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgMultiSend") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut inputs__ = None; + let mut outputs__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Inputs => { + if inputs__.is_some() { + return Err(serde::de::Error::duplicate_field("inputs")); + } + inputs__ = Some(map_.next_value()?); + } + GeneratedField::Outputs => { + if outputs__.is_some() { + return Err(serde::de::Error::duplicate_field("outputs")); + } + outputs__ = Some(map_.next_value()?); + } + } + } + Ok(MsgMultiSend { + inputs: inputs__.unwrap_or_default(), + outputs: outputs__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgMultiSend", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgMultiSendResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgMultiSendResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgMultiSendResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgMultiSendResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgMultiSendResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgMultiSendResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgMultiSendResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSend { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.from_address.is_empty() { + len += 1; + } + if !self.to_address.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgSend", len)?; + if !self.from_address.is_empty() { + struct_ser.serialize_field("fromAddress", &self.from_address)?; + } + if !self.to_address.is_empty() { + struct_ser.serialize_field("toAddress", &self.to_address)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSend { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "from_address", + "fromAddress", + "to_address", + "toAddress", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + FromAddress, + ToAddress, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fromAddress" | "from_address" => Ok(GeneratedField::FromAddress), + "toAddress" | "to_address" => Ok(GeneratedField::ToAddress), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSend; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgSend") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut from_address__ = None; + let mut to_address__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::FromAddress => { + if from_address__.is_some() { + return Err(serde::de::Error::duplicate_field("fromAddress")); + } + from_address__ = Some(map_.next_value()?); + } + GeneratedField::ToAddress => { + if to_address__.is_some() { + return Err(serde::de::Error::duplicate_field("toAddress")); + } + to_address__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(MsgSend { + from_address: from_address__.unwrap_or_default(), + to_address: to_address__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgSend", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSendResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgSendResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSendResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSendResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgSendResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgSendResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgSendResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSetSendEnabled { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + if !self.send_enabled.is_empty() { + len += 1; + } + if !self.use_default_for.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgSetSendEnabled", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + if !self.send_enabled.is_empty() { + struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; + } + if !self.use_default_for.is_empty() { + struct_ser.serialize_field("useDefaultFor", &self.use_default_for)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSetSendEnabled { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + "send_enabled", + "sendEnabled", + "use_default_for", + "useDefaultFor", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + SendEnabled, + UseDefaultFor, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + "sendEnabled" | "send_enabled" => Ok(GeneratedField::SendEnabled), + "useDefaultFor" | "use_default_for" => Ok(GeneratedField::UseDefaultFor), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSetSendEnabled; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgSetSendEnabled") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + let mut send_enabled__ = None; + let mut use_default_for__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + GeneratedField::SendEnabled => { + if send_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("sendEnabled")); + } + send_enabled__ = Some(map_.next_value()?); + } + GeneratedField::UseDefaultFor => { + if use_default_for__.is_some() { + return Err(serde::de::Error::duplicate_field("useDefaultFor")); + } + use_default_for__ = Some(map_.next_value()?); + } + } + } + Ok(MsgSetSendEnabled { + authority: authority__.unwrap_or_default(), + send_enabled: send_enabled__.unwrap_or_default(), + use_default_for: use_default_for__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgSetSendEnabled", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSetSendEnabledResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgSetSendEnabledResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSetSendEnabledResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSetSendEnabledResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgSetSendEnabledResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgSetSendEnabledResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgSetSendEnabledResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgUpdateParams", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + authority: authority__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Output { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if !self.coins.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Output", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if !self.coins.is_empty() { + struct_ser.serialize_field("coins", &self.coins)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Output { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "coins", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Coins, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "coins" => Ok(GeneratedField::Coins), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Output; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.Output") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut coins__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Coins => { + if coins__.is_some() { + return Err(serde::de::Error::duplicate_field("coins")); + } + coins__ = Some(map_.next_value()?); + } + } + } + Ok(Output { + address: address__.unwrap_or_default(), + coins: coins__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.Output", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.send_enabled.is_empty() { + len += 1; + } + if self.default_send_enabled { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Params", len)?; + if !self.send_enabled.is_empty() { + struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; + } + if self.default_send_enabled { + struct_ser.serialize_field("defaultSendEnabled", &self.default_send_enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "send_enabled", + "sendEnabled", + "default_send_enabled", + "defaultSendEnabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SendEnabled, + DefaultSendEnabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sendEnabled" | "send_enabled" => Ok(GeneratedField::SendEnabled), + "defaultSendEnabled" | "default_send_enabled" => Ok(GeneratedField::DefaultSendEnabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut send_enabled__ = None; + let mut default_send_enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SendEnabled => { + if send_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("sendEnabled")); + } + send_enabled__ = Some(map_.next_value()?); + } + GeneratedField::DefaultSendEnabled => { + if default_send_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("defaultSendEnabled")); + } + default_send_enabled__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + send_enabled: send_enabled__.unwrap_or_default(), + default_send_enabled: default_send_enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAllBalancesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryAllBalancesRequest", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAllBalancesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAllBalancesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryAllBalancesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryAllBalancesRequest { + address: address__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryAllBalancesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAllBalancesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.balances.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryAllBalancesResponse", len)?; + if !self.balances.is_empty() { + struct_ser.serialize_field("balances", &self.balances)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAllBalancesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "balances", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Balances, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "balances" => Ok(GeneratedField::Balances), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAllBalancesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryAllBalancesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut balances__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Balances => { + if balances__.is_some() { + return Err(serde::de::Error::duplicate_field("balances")); + } + balances__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryAllBalancesResponse { + balances: balances__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryAllBalancesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryBalanceRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if !self.denom.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryBalanceRequest", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryBalanceRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "denom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Denom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "denom" => Ok(GeneratedField::Denom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryBalanceRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryBalanceRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut denom__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + } + } + Ok(QueryBalanceRequest { + address: address__.unwrap_or_default(), + denom: denom__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryBalanceRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryBalanceResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.balance.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryBalanceResponse", len)?; + if let Some(v) = self.balance.as_ref() { + struct_ser.serialize_field("balance", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryBalanceResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "balance", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Balance, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "balance" => Ok(GeneratedField::Balance), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryBalanceResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryBalanceResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut balance__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Balance => { + if balance__.is_some() { + return Err(serde::de::Error::duplicate_field("balance")); + } + balance__ = map_.next_value()?; + } + } + } + Ok(QueryBalanceResponse { + balance: balance__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryBalanceResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomMetadataRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomMetadataRequest", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomMetadataRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomMetadataRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomMetadataRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDenomMetadataRequest { + denom: denom__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryDenomMetadataRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomMetadataResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.metadata.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomMetadataResponse", len)?; + if let Some(v) = self.metadata.as_ref() { + struct_ser.serialize_field("metadata", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomMetadataResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "metadata", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Metadata, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "metadata" => Ok(GeneratedField::Metadata), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomMetadataResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomMetadataResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut metadata__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = map_.next_value()?; + } + } + } + Ok(QueryDenomMetadataResponse { + metadata: metadata__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryDenomMetadataResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomOwnersRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomOwnersRequest", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomOwnersRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomOwnersRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomOwnersRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDenomOwnersRequest { + denom: denom__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryDenomOwnersRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomOwnersResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom_owners.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomOwnersResponse", len)?; + if !self.denom_owners.is_empty() { + struct_ser.serialize_field("denomOwners", &self.denom_owners)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomOwnersResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom_owners", + "denomOwners", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DenomOwners, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denomOwners" | "denom_owners" => Ok(GeneratedField::DenomOwners), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomOwnersResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomOwnersResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom_owners__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DenomOwners => { + if denom_owners__.is_some() { + return Err(serde::de::Error::duplicate_field("denomOwners")); + } + denom_owners__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDenomOwnersResponse { + denom_owners: denom_owners__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryDenomOwnersResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomsMetadataRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomsMetadataRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomsMetadataRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomsMetadataRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDenomsMetadataRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryDenomsMetadataRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomsMetadataResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.metadatas.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomsMetadataResponse", len)?; + if !self.metadatas.is_empty() { + struct_ser.serialize_field("metadatas", &self.metadatas)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "metadatas", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Metadatas, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "metadatas" => Ok(GeneratedField::Metadatas), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomsMetadataResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomsMetadataResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut metadatas__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Metadatas => { + if metadatas__.is_some() { + return Err(serde::de::Error::duplicate_field("metadatas")); + } + metadatas__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDenomsMetadataResponse { + metadatas: metadatas__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryDenomsMetadataResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryParamsRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySendEnabledRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denoms.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySendEnabledRequest", len)?; + if !self.denoms.is_empty() { + struct_ser.serialize_field("denoms", &self.denoms)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySendEnabledRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denoms", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denoms, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denoms" => Ok(GeneratedField::Denoms), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySendEnabledRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySendEnabledRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denoms__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denoms => { + if denoms__.is_some() { + return Err(serde::de::Error::duplicate_field("denoms")); + } + denoms__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QuerySendEnabledRequest { + denoms: denoms__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySendEnabledRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySendEnabledResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.send_enabled.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySendEnabledResponse", len)?; + if !self.send_enabled.is_empty() { + struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySendEnabledResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "send_enabled", + "sendEnabled", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SendEnabled, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sendEnabled" | "send_enabled" => Ok(GeneratedField::SendEnabled), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySendEnabledResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySendEnabledResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut send_enabled__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SendEnabled => { + if send_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("sendEnabled")); + } + send_enabled__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QuerySendEnabledResponse { + send_enabled: send_enabled__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySendEnabledResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySpendableBalanceByDenomRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if !self.denom.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalanceByDenomRequest", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "denom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Denom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "denom" => Ok(GeneratedField::Denom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySpendableBalanceByDenomRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalanceByDenomRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut denom__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + } + } + Ok(QuerySpendableBalanceByDenomRequest { + address: address__.unwrap_or_default(), + denom: denom__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySpendableBalanceByDenomRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySpendableBalanceByDenomResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.balance.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse", len)?; + if let Some(v) = self.balance.as_ref() { + struct_ser.serialize_field("balance", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "balance", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Balance, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "balance" => Ok(GeneratedField::Balance), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySpendableBalanceByDenomResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut balance__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Balance => { + if balance__.is_some() { + return Err(serde::de::Error::duplicate_field("balance")); + } + balance__ = map_.next_value()?; + } + } + } + Ok(QuerySpendableBalanceByDenomResponse { + balance: balance__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySpendableBalancesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalancesRequest", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySpendableBalancesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalancesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QuerySpendableBalancesRequest { + address: address__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySpendableBalancesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySpendableBalancesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.balances.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalancesResponse", len)?; + if !self.balances.is_empty() { + struct_ser.serialize_field("balances", &self.balances)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "balances", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Balances, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "balances" => Ok(GeneratedField::Balances), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySpendableBalancesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalancesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut balances__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Balances => { + if balances__.is_some() { + return Err(serde::de::Error::duplicate_field("balances")); + } + balances__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QuerySpendableBalancesResponse { + balances: balances__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySpendableBalancesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySupplyOfRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySupplyOfRequest", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySupplyOfRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySupplyOfRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySupplyOfRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + } + } + Ok(QuerySupplyOfRequest { + denom: denom__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySupplyOfRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QuerySupplyOfResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.amount.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySupplyOfResponse", len)?; + if let Some(v) = self.amount.as_ref() { + struct_ser.serialize_field("amount", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QuerySupplyOfResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QuerySupplyOfResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QuerySupplyOfResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = map_.next_value()?; + } + } + } + Ok(QuerySupplyOfResponse { + amount: amount__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QuerySupplyOfResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalSupplyRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryTotalSupplyRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalSupplyRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalSupplyRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryTotalSupplyRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryTotalSupplyRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryTotalSupplyRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalSupplyResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.supply.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryTotalSupplyResponse", len)?; + if !self.supply.is_empty() { + struct_ser.serialize_field("supply", &self.supply)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalSupplyResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "supply", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Supply, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "supply" => Ok(GeneratedField::Supply), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalSupplyResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.QueryTotalSupplyResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut supply__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Supply => { + if supply__.is_some() { + return Err(serde::de::Error::duplicate_field("supply")); + } + supply__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryTotalSupplyResponse { + supply: supply__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.QueryTotalSupplyResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SendAuthorization { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.spend_limit.is_empty() { + len += 1; + } + if !self.allow_list.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.SendAuthorization", len)?; + if !self.spend_limit.is_empty() { + struct_ser.serialize_field("spendLimit", &self.spend_limit)?; + } + if !self.allow_list.is_empty() { + struct_ser.serialize_field("allowList", &self.allow_list)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SendAuthorization { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "spend_limit", + "spendLimit", + "allow_list", + "allowList", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SpendLimit, + AllowList, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "spendLimit" | "spend_limit" => Ok(GeneratedField::SpendLimit), + "allowList" | "allow_list" => Ok(GeneratedField::AllowList), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SendAuthorization; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.SendAuthorization") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut spend_limit__ = None; + let mut allow_list__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SpendLimit => { + if spend_limit__.is_some() { + return Err(serde::de::Error::duplicate_field("spendLimit")); + } + spend_limit__ = Some(map_.next_value()?); + } + GeneratedField::AllowList => { + if allow_list__.is_some() { + return Err(serde::de::Error::duplicate_field("allowList")); + } + allow_list__ = Some(map_.next_value()?); + } + } + } + Ok(SendAuthorization { + spend_limit: spend_limit__.unwrap_or_default(), + allow_list: allow_list__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.SendAuthorization", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SendEnabled { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + if self.enabled { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.SendEnabled", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + if self.enabled { + struct_ser.serialize_field("enabled", &self.enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SendEnabled { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + "enabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + Enabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + "enabled" => Ok(GeneratedField::Enabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SendEnabled; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.SendEnabled") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + let mut enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + GeneratedField::Enabled => { + if enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("enabled")); + } + enabled__ = Some(map_.next_value()?); + } + } + } + Ok(SendEnabled { + denom: denom__.unwrap_or_default(), + enabled: enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.SendEnabled", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Supply { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.total.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Supply", len)?; + if !self.total.is_empty() { + struct_ser.serialize_field("total", &self.total)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Supply { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "total", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Total, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "total" => Ok(GeneratedField::Total), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Supply; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.bank.v1beta1.Supply") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut total__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Total => { + if total__.is_some() { + return Err(serde::de::Error::duplicate_field("total")); + } + total__ = Some(map_.next_value()?); + } + } + } + Ok(Supply { + total: total__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.bank.v1beta1.Supply", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.abci.v1beta1.rs b/src/prost/cosmos.base.abci.v1beta1.rs new file mode 100644 index 00000000..fbf5862f --- /dev/null +++ b/src/prost/cosmos.base.abci.v1beta1.rs @@ -0,0 +1,253 @@ +/// TxResponse defines a structure containing relevant tx data and metadata. The +/// tags are stringified and the log is JSON decoded. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxResponse { + /// The block height + #[prost(int64, tag = "1")] + pub height: i64, + /// The transaction hash. + #[prost(string, tag = "2")] + pub txhash: ::prost::alloc::string::String, + /// Namespace for the Code + #[prost(string, tag = "3")] + pub codespace: ::prost::alloc::string::String, + /// Response code. + #[prost(uint32, tag = "4")] + pub code: u32, + /// Result bytes, if any. + #[prost(string, tag = "5")] + pub data: ::prost::alloc::string::String, + /// The output of the application's logger (raw string). May be + /// non-deterministic. + #[prost(string, tag = "6")] + pub raw_log: ::prost::alloc::string::String, + /// The output of the application's logger (typed). May be non-deterministic. + #[prost(message, repeated, tag = "7")] + pub logs: ::prost::alloc::vec::Vec, + /// Additional information. May be non-deterministic. + #[prost(string, tag = "8")] + pub info: ::prost::alloc::string::String, + /// Amount of gas requested for transaction. + #[prost(int64, tag = "9")] + pub gas_wanted: i64, + /// Amount of gas consumed by transaction. + #[prost(int64, tag = "10")] + pub gas_used: i64, + /// The request transaction bytes. + #[prost(message, optional, tag = "11")] + pub tx: ::core::option::Option, + /// Time of the previous block. For heights > 1, it's the weighted median of + /// the timestamps of the valid votes in the block.LastCommit. For height == 1, + /// it's genesis time. + #[prost(string, tag = "12")] + pub timestamp: ::prost::alloc::string::String, + /// Events defines all the events emitted by processing a transaction. Note, + /// these events include those emitted by processing all the messages and those + /// emitted from the ante. Whereas Logs contains the events, with + /// additional metadata, emitted only by processing the messages. + /// + /// Since: cosmos-sdk 0.42.11, 0.44.5, 0.45 + #[prost(message, repeated, tag = "13")] + pub events: ::prost::alloc::vec::Vec<::tendermint_proto::abci::Event>, +} +impl ::prost::Name for TxResponse { + const NAME: &'static str = "TxResponse"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// ABCIMessageLog defines a structure containing an indexed tx ABCI message log. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbciMessageLog { + #[prost(uint32, tag = "1")] + pub msg_index: u32, + #[prost(string, tag = "2")] + pub log: ::prost::alloc::string::String, + /// Events contains a slice of Event objects that were emitted during some + /// execution. + #[prost(message, repeated, tag = "3")] + pub events: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for AbciMessageLog { + const NAME: &'static str = "ABCIMessageLog"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// StringEvent defines en Event object wrapper where all the attributes +/// contain key/value pairs that are strings instead of raw bytes. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StringEvent { + #[prost(string, tag = "1")] + pub r#type: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub attributes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for StringEvent { + const NAME: &'static str = "StringEvent"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// Attribute defines an attribute wrapper where the key and value are +/// strings instead of raw bytes. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Attribute { + #[prost(string, tag = "1")] + pub key: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub value: ::prost::alloc::string::String, +} +impl ::prost::Name for Attribute { + const NAME: &'static str = "Attribute"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// GasInfo defines tx execution gas context. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GasInfo { + /// GasWanted is the maximum units of work we allow this tx to perform. + #[prost(uint64, tag = "1")] + pub gas_wanted: u64, + /// GasUsed is the amount of gas actually consumed. + #[prost(uint64, tag = "2")] + pub gas_used: u64, +} +impl ::prost::Name for GasInfo { + const NAME: &'static str = "GasInfo"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// Result is the union of ResponseFormat and ResponseCheckTx. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Result { + /// Data is any data returned from message or handler execution. It MUST be + /// length prefixed in order to separate data from multiple message executions. + /// Deprecated. This field is still populated, but prefer msg_response instead + /// because it also contains the Msg response typeURL. + #[deprecated] + #[prost(bytes = "vec", tag = "1")] + pub data: ::prost::alloc::vec::Vec, + /// Log contains the log information from message or handler execution. + #[prost(string, tag = "2")] + pub log: ::prost::alloc::string::String, + /// Events contains a slice of Event objects that were emitted during message + /// or handler execution. + #[prost(message, repeated, tag = "3")] + pub events: ::prost::alloc::vec::Vec<::tendermint_proto::abci::Event>, + /// msg_responses contains the Msg handler responses type packed in Anys. + /// + /// Since: cosmos-sdk 0.46 + #[prost(message, repeated, tag = "4")] + pub msg_responses: ::prost::alloc::vec::Vec< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for Result { + const NAME: &'static str = "Result"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// SimulationResponse defines the response generated when a transaction is +/// successfully simulated. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SimulationResponse { + #[prost(message, optional, tag = "1")] + pub gas_info: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub result: ::core::option::Option, +} +impl ::prost::Name for SimulationResponse { + const NAME: &'static str = "SimulationResponse"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// MsgData defines the data returned in a Result object during message +/// execution. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgData { + #[prost(string, tag = "1")] + pub msg_type: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "2")] + pub data: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgData { + const NAME: &'static str = "MsgData"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// TxMsgData defines a list of MsgData. A transaction will have a MsgData object +/// for each message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxMsgData { + /// data field is deprecated and not populated. + #[deprecated] + #[prost(message, repeated, tag = "1")] + pub data: ::prost::alloc::vec::Vec, + /// msg_responses contains the Msg handler responses packed into Anys. + /// + /// Since: cosmos-sdk 0.46 + #[prost(message, repeated, tag = "2")] + pub msg_responses: ::prost::alloc::vec::Vec< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for TxMsgData { + const NAME: &'static str = "TxMsgData"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} +/// SearchTxsResult defines a structure for querying txs pageable +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SearchTxsResult { + /// Count of all txs + #[prost(uint64, tag = "1")] + pub total_count: u64, + /// Count of txs in current page + #[prost(uint64, tag = "2")] + pub count: u64, + /// Index of current page, start from 1 + #[prost(uint64, tag = "3")] + pub page_number: u64, + /// Count of total pages + #[prost(uint64, tag = "4")] + pub page_total: u64, + /// Max count txs per page + #[prost(uint64, tag = "5")] + pub limit: u64, + /// List of txs in current page + #[prost(message, repeated, tag = "6")] + pub txs: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SearchTxsResult { + const NAME: &'static str = "SearchTxsResult"; + const PACKAGE: &'static str = "cosmos.base.abci.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.abci.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.base.kv.v1beta1.rs b/src/prost/cosmos.base.kv.v1beta1.rs new file mode 100644 index 00000000..6bd5f9c6 --- /dev/null +++ b/src/prost/cosmos.base.kv.v1beta1.rs @@ -0,0 +1,30 @@ +/// Pairs defines a repeated slice of Pair objects. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pairs { + #[prost(message, repeated, tag = "1")] + pub pairs: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Pairs { + const NAME: &'static str = "Pairs"; + const PACKAGE: &'static str = "cosmos.base.kv.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.kv.v1beta1.{}", Self::NAME) + } +} +/// Pair defines a key/value bytes tuple. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pair { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Pair { + const NAME: &'static str = "Pair"; + const PACKAGE: &'static str = "cosmos.base.kv.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.kv.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.base.kv.v1beta1.serde.rs b/src/prost/cosmos.base.kv.v1beta1.serde.rs new file mode 100644 index 00000000..8100d9d6 --- /dev/null +++ b/src/prost/cosmos.base.kv.v1beta1.serde.rs @@ -0,0 +1,205 @@ +impl serde::Serialize for Pair { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.kv.v1beta1.Pair", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Pair { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "value", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Value, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Pair; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.kv.v1beta1.Pair") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(Pair { + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.kv.v1beta1.Pair", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Pairs { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.pairs.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.kv.v1beta1.Pairs", len)?; + if !self.pairs.is_empty() { + struct_ser.serialize_field("pairs", &self.pairs)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Pairs { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pairs", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pairs, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pairs" => Ok(GeneratedField::Pairs), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Pairs; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.kv.v1beta1.Pairs") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pairs__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pairs => { + if pairs__.is_some() { + return Err(serde::de::Error::duplicate_field("pairs")); + } + pairs__ = Some(map_.next_value()?); + } + } + } + Ok(Pairs { + pairs: pairs__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.kv.v1beta1.Pairs", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.node.v1beta1.rs b/src/prost/cosmos.base.node.v1beta1.rs new file mode 100644 index 00000000..69d16e40 --- /dev/null +++ b/src/prost/cosmos.base.node.v1beta1.rs @@ -0,0 +1,316 @@ +/// ConfigRequest defines the request structure for the Config gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigRequest {} +impl ::prost::Name for ConfigRequest { + const NAME: &'static str = "ConfigRequest"; + const PACKAGE: &'static str = "cosmos.base.node.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.node.v1beta1.{}", Self::NAME) + } +} +/// ConfigResponse defines the response structure for the Config gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigResponse { + #[prost(string, tag = "1")] + pub minimum_gas_price: ::prost::alloc::string::String, +} +impl ::prost::Name for ConfigResponse { + const NAME: &'static str = "ConfigResponse"; + const PACKAGE: &'static str = "cosmos.base.node.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.node.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Service defines the gRPC querier service for node related queries. + #[derive(Debug, Clone)] + pub struct ServiceClient { + inner: tonic::client::Grpc, + } + impl ServiceClient { + /// 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 ServiceClient + 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, + ) -> ServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + ServiceClient::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 + } + /// Config queries for the operator configuration. + pub async fn config( + &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.base.node.v1beta1.Service/Config", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.base.node.v1beta1.Service", "Config")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with ServiceServer. + #[async_trait] + pub trait Service: Send + Sync + 'static { + /// Config queries for the operator configuration. + async fn config( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + } + /// Service defines the gRPC querier service for node related queries. + #[derive(Debug)] + pub struct ServiceServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl ServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for ServiceServer + where + T: Service, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.base.node.v1beta1.Service/Config" => { + #[allow(non_camel_case_types)] + struct ConfigSvc(pub Arc); + impl tonic::server::UnaryService + for ConfigSvc { + type Response = super::ConfigResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::config(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConfigSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for ServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for ServiceServer { + const NAME: &'static str = "cosmos.base.node.v1beta1.Service"; + } +} diff --git a/src/prost/cosmos.base.node.v1beta1.serde.rs b/src/prost/cosmos.base.node.v1beta1.serde.rs new file mode 100644 index 00000000..acfb44f5 --- /dev/null +++ b/src/prost/cosmos.base.node.v1beta1.serde.rs @@ -0,0 +1,163 @@ +impl serde::Serialize for ConfigRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.node.v1beta1.ConfigRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConfigRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConfigRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.node.v1beta1.ConfigRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(ConfigRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.node.v1beta1.ConfigRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConfigResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.minimum_gas_price.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.node.v1beta1.ConfigResponse", len)?; + if !self.minimum_gas_price.is_empty() { + struct_ser.serialize_field("minimumGasPrice", &self.minimum_gas_price)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConfigResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "minimum_gas_price", + "minimumGasPrice", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MinimumGasPrice, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "minimumGasPrice" | "minimum_gas_price" => Ok(GeneratedField::MinimumGasPrice), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConfigResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.node.v1beta1.ConfigResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut minimum_gas_price__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MinimumGasPrice => { + if minimum_gas_price__.is_some() { + return Err(serde::de::Error::duplicate_field("minimumGasPrice")); + } + minimum_gas_price__ = Some(map_.next_value()?); + } + } + } + Ok(ConfigResponse { + minimum_gas_price: minimum_gas_price__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.node.v1beta1.ConfigResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.query.v1beta1.rs b/src/prost/cosmos.base.query.v1beta1.rs new file mode 100644 index 00000000..2a5124cf --- /dev/null +++ b/src/prost/cosmos.base.query.v1beta1.rs @@ -0,0 +1,70 @@ +/// PageRequest is to be embedded in gRPC request messages for efficient +/// pagination. Ex: +/// +/// message SomeRequest { +/// Foo some_parameter = 1; +/// PageRequest pagination = 2; +/// } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PageRequest { + /// key is a value returned in PageResponse.next_key to begin + /// querying the next page most efficiently. Only one of offset or key + /// should be set. + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + /// offset is a numeric offset that can be used when key is unavailable. + /// It is less efficient than using key. Only one of offset or key should + /// be set. + #[prost(uint64, tag = "2")] + pub offset: u64, + /// limit is the total number of results to be returned in the result page. + /// If left empty it will default to a value to be set by each app. + #[prost(uint64, tag = "3")] + pub limit: u64, + /// count_total is set to true to indicate that the result set should include + /// a count of the total number of items available for pagination in UIs. + /// count_total is only respected when offset is used. It is ignored when key + /// is set. + #[prost(bool, tag = "4")] + pub count_total: bool, + /// reverse is set to true if results are to be returned in the descending order. + /// + /// Since: cosmos-sdk 0.43 + #[prost(bool, tag = "5")] + pub reverse: bool, +} +impl ::prost::Name for PageRequest { + const NAME: &'static str = "PageRequest"; + const PACKAGE: &'static str = "cosmos.base.query.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.query.v1beta1.{}", Self::NAME) + } +} +/// PageResponse is to be embedded in gRPC response messages where the +/// corresponding request message has used PageRequest. +/// +/// message SomeResponse { +/// repeated Bar results = 1; +/// PageResponse page = 2; +/// } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PageResponse { + /// next_key is the key to be passed to PageRequest.key to + /// query the next page most efficiently. It will be empty if + /// there are no more results. + #[prost(bytes = "vec", tag = "1")] + pub next_key: ::prost::alloc::vec::Vec, + /// total is total number of results available if PageRequest.count_total + /// was set, its value is undefined otherwise + #[prost(uint64, tag = "2")] + pub total: u64, +} +impl ::prost::Name for PageResponse { + const NAME: &'static str = "PageResponse"; + const PACKAGE: &'static str = "cosmos.base.query.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.query.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.base.query.v1beta1.serde.rs b/src/prost/cosmos.base.query.v1beta1.serde.rs new file mode 100644 index 00000000..c945f864 --- /dev/null +++ b/src/prost/cosmos.base.query.v1beta1.serde.rs @@ -0,0 +1,284 @@ +impl serde::Serialize for PageRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if self.offset != 0 { + len += 1; + } + if self.limit != 0 { + len += 1; + } + if self.count_total { + len += 1; + } + if self.reverse { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.query.v1beta1.PageRequest", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if self.offset != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("offset", ToString::to_string(&self.offset).as_str())?; + } + if self.limit != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("limit", ToString::to_string(&self.limit).as_str())?; + } + if self.count_total { + struct_ser.serialize_field("countTotal", &self.count_total)?; + } + if self.reverse { + struct_ser.serialize_field("reverse", &self.reverse)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PageRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "offset", + "limit", + "count_total", + "countTotal", + "reverse", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Offset, + Limit, + CountTotal, + Reverse, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "offset" => Ok(GeneratedField::Offset), + "limit" => Ok(GeneratedField::Limit), + "countTotal" | "count_total" => Ok(GeneratedField::CountTotal), + "reverse" => Ok(GeneratedField::Reverse), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PageRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.query.v1beta1.PageRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut offset__ = None; + let mut limit__ = None; + let mut count_total__ = None; + let mut reverse__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Offset => { + if offset__.is_some() { + return Err(serde::de::Error::duplicate_field("offset")); + } + offset__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Limit => { + if limit__.is_some() { + return Err(serde::de::Error::duplicate_field("limit")); + } + limit__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::CountTotal => { + if count_total__.is_some() { + return Err(serde::de::Error::duplicate_field("countTotal")); + } + count_total__ = Some(map_.next_value()?); + } + GeneratedField::Reverse => { + if reverse__.is_some() { + return Err(serde::de::Error::duplicate_field("reverse")); + } + reverse__ = Some(map_.next_value()?); + } + } + } + Ok(PageRequest { + key: key__.unwrap_or_default(), + offset: offset__.unwrap_or_default(), + limit: limit__.unwrap_or_default(), + count_total: count_total__.unwrap_or_default(), + reverse: reverse__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.query.v1beta1.PageRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PageResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.next_key.is_empty() { + len += 1; + } + if self.total != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.query.v1beta1.PageResponse", len)?; + if !self.next_key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextKey", pbjson::private::base64::encode(&self.next_key).as_str())?; + } + if self.total != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("total", ToString::to_string(&self.total).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PageResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "next_key", + "nextKey", + "total", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NextKey, + Total, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "nextKey" | "next_key" => Ok(GeneratedField::NextKey), + "total" => Ok(GeneratedField::Total), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PageResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.query.v1beta1.PageResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut next_key__ = None; + let mut total__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NextKey => { + if next_key__.is_some() { + return Err(serde::de::Error::duplicate_field("nextKey")); + } + next_key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Total => { + if total__.is_some() { + return Err(serde::de::Error::duplicate_field("total")); + } + total__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(PageResponse { + next_key: next_key__.unwrap_or_default(), + total: total__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.query.v1beta1.PageResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.reflection.v1beta1.rs b/src/prost/cosmos.base.reflection.v1beta1.rs new file mode 100644 index 00000000..09305595 --- /dev/null +++ b/src/prost/cosmos.base.reflection.v1beta1.rs @@ -0,0 +1,461 @@ +/// ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ListAllInterfacesRequest {} +impl ::prost::Name for ListAllInterfacesRequest { + const NAME: &'static str = "ListAllInterfacesRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) + } +} +/// ListAllInterfacesResponse is the response type of the ListAllInterfaces RPC. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ListAllInterfacesResponse { + /// interface_names is an array of all the registered interfaces. + #[prost(string, repeated, tag = "1")] + pub interface_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ListAllInterfacesResponse { + const NAME: &'static str = "ListAllInterfacesResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) + } +} +/// ListImplementationsRequest is the request type of the ListImplementations +/// RPC. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ListImplementationsRequest { + /// interface_name defines the interface to query the implementations for. + #[prost(string, tag = "1")] + pub interface_name: ::prost::alloc::string::String, +} +impl ::prost::Name for ListImplementationsRequest { + const NAME: &'static str = "ListImplementationsRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) + } +} +/// ListImplementationsResponse is the response type of the ListImplementations +/// RPC. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ListImplementationsResponse { + #[prost(string, repeated, tag = "1")] + pub implementation_message_names: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, +} +impl ::prost::Name for ListImplementationsResponse { + const NAME: &'static str = "ListImplementationsResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod reflection_service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// ReflectionService defines a service for interface reflection. + #[derive(Debug, Clone)] + pub struct ReflectionServiceClient { + inner: tonic::client::Grpc, + } + impl ReflectionServiceClient { + /// 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 ReflectionServiceClient + 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, + ) -> ReflectionServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + ReflectionServiceClient::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 + } + /// ListAllInterfaces lists all the interfaces registered in the interface + /// registry. + pub async fn list_all_interfaces( + &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.base.reflection.v1beta1.ReflectionService/ListAllInterfaces", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v1beta1.ReflectionService", + "ListAllInterfaces", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ListImplementations list all the concrete types that implement a given + /// interface. + pub async fn list_implementations( + &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.base.reflection.v1beta1.ReflectionService/ListImplementations", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v1beta1.ReflectionService", + "ListImplementations", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod reflection_service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with ReflectionServiceServer. + #[async_trait] + pub trait ReflectionService: Send + Sync + 'static { + /// ListAllInterfaces lists all the interfaces registered in the interface + /// registry. + async fn list_all_interfaces( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ListImplementations list all the concrete types that implement a given + /// interface. + async fn list_implementations( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// ReflectionService defines a service for interface reflection. + #[derive(Debug)] + pub struct ReflectionServiceServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl ReflectionServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for ReflectionServiceServer + where + T: ReflectionService, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.base.reflection.v1beta1.ReflectionService/ListAllInterfaces" => { + #[allow(non_camel_case_types)] + struct ListAllInterfacesSvc(pub Arc); + impl< + T: ReflectionService, + > tonic::server::UnaryService + for ListAllInterfacesSvc { + type Response = super::ListAllInterfacesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::list_all_interfaces( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ListAllInterfacesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.reflection.v1beta1.ReflectionService/ListImplementations" => { + #[allow(non_camel_case_types)] + struct ListImplementationsSvc(pub Arc); + impl< + T: ReflectionService, + > tonic::server::UnaryService + for ListImplementationsSvc { + type Response = super::ListImplementationsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::list_implementations( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ListImplementationsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for ReflectionServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService + for ReflectionServiceServer { + const NAME: &'static str = "cosmos.base.reflection.v1beta1.ReflectionService"; + } +} diff --git a/src/prost/cosmos.base.reflection.v1beta1.serde.rs b/src/prost/cosmos.base.reflection.v1beta1.serde.rs new file mode 100644 index 00000000..312c1ad1 --- /dev/null +++ b/src/prost/cosmos.base.reflection.v1beta1.serde.rs @@ -0,0 +1,347 @@ +impl serde::Serialize for ListAllInterfacesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListAllInterfacesRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ListAllInterfacesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ListAllInterfacesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v1beta1.ListAllInterfacesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(ListAllInterfacesRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v1beta1.ListAllInterfacesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ListAllInterfacesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.interface_names.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListAllInterfacesResponse", len)?; + if !self.interface_names.is_empty() { + struct_ser.serialize_field("interfaceNames", &self.interface_names)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ListAllInterfacesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "interface_names", + "interfaceNames", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + InterfaceNames, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "interfaceNames" | "interface_names" => Ok(GeneratedField::InterfaceNames), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ListAllInterfacesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v1beta1.ListAllInterfacesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut interface_names__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::InterfaceNames => { + if interface_names__.is_some() { + return Err(serde::de::Error::duplicate_field("interfaceNames")); + } + interface_names__ = Some(map_.next_value()?); + } + } + } + Ok(ListAllInterfacesResponse { + interface_names: interface_names__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v1beta1.ListAllInterfacesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ListImplementationsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.interface_name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListImplementationsRequest", len)?; + if !self.interface_name.is_empty() { + struct_ser.serialize_field("interfaceName", &self.interface_name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ListImplementationsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "interface_name", + "interfaceName", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + InterfaceName, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "interfaceName" | "interface_name" => Ok(GeneratedField::InterfaceName), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ListImplementationsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v1beta1.ListImplementationsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut interface_name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::InterfaceName => { + if interface_name__.is_some() { + return Err(serde::de::Error::duplicate_field("interfaceName")); + } + interface_name__ = Some(map_.next_value()?); + } + } + } + Ok(ListImplementationsRequest { + interface_name: interface_name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v1beta1.ListImplementationsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ListImplementationsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.implementation_message_names.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListImplementationsResponse", len)?; + if !self.implementation_message_names.is_empty() { + struct_ser.serialize_field("implementationMessageNames", &self.implementation_message_names)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ListImplementationsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "implementation_message_names", + "implementationMessageNames", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ImplementationMessageNames, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "implementationMessageNames" | "implementation_message_names" => Ok(GeneratedField::ImplementationMessageNames), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ListImplementationsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v1beta1.ListImplementationsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut implementation_message_names__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ImplementationMessageNames => { + if implementation_message_names__.is_some() { + return Err(serde::de::Error::duplicate_field("implementationMessageNames")); + } + implementation_message_names__ = Some(map_.next_value()?); + } + } + } + Ok(ListImplementationsResponse { + implementation_message_names: implementation_message_names__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v1beta1.ListImplementationsResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.reflection.v2alpha1.rs b/src/prost/cosmos.base.reflection.v2alpha1.rs new file mode 100644 index 00000000..ec09ac3a --- /dev/null +++ b/src/prost/cosmos.base.reflection.v2alpha1.rs @@ -0,0 +1,1197 @@ +/// AppDescriptor describes a cosmos-sdk based application +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AppDescriptor { + /// AuthnDescriptor provides information on how to authenticate transactions on the application + /// NOTE: experimental and subject to change in future releases. + #[prost(message, optional, tag = "1")] + pub authn: ::core::option::Option, + /// chain provides the chain descriptor + #[prost(message, optional, tag = "2")] + pub chain: ::core::option::Option, + /// codec provides metadata information regarding codec related types + #[prost(message, optional, tag = "3")] + pub codec: ::core::option::Option, + /// configuration provides metadata information regarding the sdk.Config type + #[prost(message, optional, tag = "4")] + pub configuration: ::core::option::Option, + /// query_services provides metadata information regarding the available queriable endpoints + #[prost(message, optional, tag = "5")] + pub query_services: ::core::option::Option, + /// tx provides metadata information regarding how to send transactions to the given application + #[prost(message, optional, tag = "6")] + pub tx: ::core::option::Option, +} +impl ::prost::Name for AppDescriptor { + const NAME: &'static str = "AppDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// TxDescriptor describes the accepted transaction type +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxDescriptor { + /// fullname is the protobuf fullname of the raw transaction type (for instance the tx.Tx type) + /// it is not meant to support polymorphism of transaction types, it is supposed to be used by + /// reflection clients to understand if they can handle a specific transaction type in an application. + #[prost(string, tag = "1")] + pub fullname: ::prost::alloc::string::String, + /// msgs lists the accepted application messages (sdk.Msg) + #[prost(message, repeated, tag = "2")] + pub msgs: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TxDescriptor { + const NAME: &'static str = "TxDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// AuthnDescriptor provides information on how to sign transactions without relying +/// on the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AuthnDescriptor { + /// sign_modes defines the supported signature algorithm + #[prost(message, repeated, tag = "1")] + pub sign_modes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for AuthnDescriptor { + const NAME: &'static str = "AuthnDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// SigningModeDescriptor provides information on a signing flow of the application +/// NOTE(fdymylja): here we could go as far as providing an entire flow on how +/// to sign a message given a SigningModeDescriptor, but it's better to think about +/// this another time +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SigningModeDescriptor { + /// name defines the unique name of the signing mode + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// number is the unique int32 identifier for the sign_mode enum + #[prost(int32, tag = "2")] + pub number: i32, + /// authn_info_provider_method_fullname defines the fullname of the method to call to get + /// the metadata required to authenticate using the provided sign_modes + #[prost(string, tag = "3")] + pub authn_info_provider_method_fullname: ::prost::alloc::string::String, +} +impl ::prost::Name for SigningModeDescriptor { + const NAME: &'static str = "SigningModeDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// ChainDescriptor describes chain information of the application +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChainDescriptor { + /// id is the chain id + #[prost(string, tag = "1")] + pub id: ::prost::alloc::string::String, +} +impl ::prost::Name for ChainDescriptor { + const NAME: &'static str = "ChainDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// CodecDescriptor describes the registered interfaces and provides metadata information on the types +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CodecDescriptor { + /// interfaces is a list of the registerted interfaces descriptors + #[prost(message, repeated, tag = "1")] + pub interfaces: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for CodecDescriptor { + const NAME: &'static str = "CodecDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// InterfaceDescriptor describes the implementation of an interface +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterfaceDescriptor { + /// fullname is the name of the interface + #[prost(string, tag = "1")] + pub fullname: ::prost::alloc::string::String, + /// interface_accepting_messages contains information regarding the proto messages which contain the interface as + /// google.protobuf.Any field + #[prost(message, repeated, tag = "2")] + pub interface_accepting_messages: ::prost::alloc::vec::Vec< + InterfaceAcceptingMessageDescriptor, + >, + /// interface_implementers is a list of the descriptors of the interface implementers + #[prost(message, repeated, tag = "3")] + pub interface_implementers: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for InterfaceDescriptor { + const NAME: &'static str = "InterfaceDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// InterfaceImplementerDescriptor describes an interface implementer +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterfaceImplementerDescriptor { + /// fullname is the protobuf queryable name of the interface implementer + #[prost(string, tag = "1")] + pub fullname: ::prost::alloc::string::String, + /// type_url defines the type URL used when marshalling the type as any + /// this is required so we can provide type safe google.protobuf.Any marshalling and + /// unmarshalling, making sure that we don't accept just 'any' type + /// in our interface fields + #[prost(string, tag = "2")] + pub type_url: ::prost::alloc::string::String, +} +impl ::prost::Name for InterfaceImplementerDescriptor { + const NAME: &'static str = "InterfaceImplementerDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// InterfaceAcceptingMessageDescriptor describes a protobuf message which contains +/// an interface represented as a google.protobuf.Any +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterfaceAcceptingMessageDescriptor { + /// fullname is the protobuf fullname of the type containing the interface + #[prost(string, tag = "1")] + pub fullname: ::prost::alloc::string::String, + /// field_descriptor_names is a list of the protobuf name (not fullname) of the field + /// which contains the interface as google.protobuf.Any (the interface is the same, but + /// it can be in multiple fields of the same proto message) + #[prost(string, repeated, tag = "2")] + pub field_descriptor_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for InterfaceAcceptingMessageDescriptor { + const NAME: &'static str = "InterfaceAcceptingMessageDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// ConfigurationDescriptor contains metadata information on the sdk.Config +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConfigurationDescriptor { + /// bech32_account_address_prefix is the account address prefix + #[prost(string, tag = "1")] + pub bech32_account_address_prefix: ::prost::alloc::string::String, +} +impl ::prost::Name for ConfigurationDescriptor { + const NAME: &'static str = "ConfigurationDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// MsgDescriptor describes a cosmos-sdk message that can be delivered with a transaction +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgDescriptor { + /// msg_type_url contains the TypeURL of a sdk.Msg. + #[prost(string, tag = "1")] + pub msg_type_url: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgDescriptor { + const NAME: &'static str = "MsgDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetAuthnDescriptorRequest is the request used for the GetAuthnDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAuthnDescriptorRequest {} +impl ::prost::Name for GetAuthnDescriptorRequest { + const NAME: &'static str = "GetAuthnDescriptorRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetAuthnDescriptorResponse is the response returned by the GetAuthnDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetAuthnDescriptorResponse { + /// authn describes how to authenticate to the application when sending transactions + #[prost(message, optional, tag = "1")] + pub authn: ::core::option::Option, +} +impl ::prost::Name for GetAuthnDescriptorResponse { + const NAME: &'static str = "GetAuthnDescriptorResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetChainDescriptorRequest is the request used for the GetChainDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetChainDescriptorRequest {} +impl ::prost::Name for GetChainDescriptorRequest { + const NAME: &'static str = "GetChainDescriptorRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetChainDescriptorResponse is the response returned by the GetChainDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetChainDescriptorResponse { + /// chain describes application chain information + #[prost(message, optional, tag = "1")] + pub chain: ::core::option::Option, +} +impl ::prost::Name for GetChainDescriptorResponse { + const NAME: &'static str = "GetChainDescriptorResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetCodecDescriptorRequest is the request used for the GetCodecDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetCodecDescriptorRequest {} +impl ::prost::Name for GetCodecDescriptorRequest { + const NAME: &'static str = "GetCodecDescriptorRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetCodecDescriptorResponse is the response returned by the GetCodecDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetCodecDescriptorResponse { + /// codec describes the application codec such as registered interfaces and implementations + #[prost(message, optional, tag = "1")] + pub codec: ::core::option::Option, +} +impl ::prost::Name for GetCodecDescriptorResponse { + const NAME: &'static str = "GetCodecDescriptorResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetConfigurationDescriptorRequest is the request used for the GetConfigurationDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetConfigurationDescriptorRequest {} +impl ::prost::Name for GetConfigurationDescriptorRequest { + const NAME: &'static str = "GetConfigurationDescriptorRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetConfigurationDescriptorResponse is the response returned by the GetConfigurationDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetConfigurationDescriptorResponse { + /// config describes the application's sdk.Config + #[prost(message, optional, tag = "1")] + pub config: ::core::option::Option, +} +impl ::prost::Name for GetConfigurationDescriptorResponse { + const NAME: &'static str = "GetConfigurationDescriptorResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetQueryServicesDescriptorRequest is the request used for the GetQueryServicesDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetQueryServicesDescriptorRequest {} +impl ::prost::Name for GetQueryServicesDescriptorRequest { + const NAME: &'static str = "GetQueryServicesDescriptorRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetQueryServicesDescriptorResponse is the response returned by the GetQueryServicesDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetQueryServicesDescriptorResponse { + /// queries provides information on the available queryable services + #[prost(message, optional, tag = "1")] + pub queries: ::core::option::Option, +} +impl ::prost::Name for GetQueryServicesDescriptorResponse { + const NAME: &'static str = "GetQueryServicesDescriptorResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetTxDescriptorRequest is the request used for the GetTxDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTxDescriptorRequest {} +impl ::prost::Name for GetTxDescriptorRequest { + const NAME: &'static str = "GetTxDescriptorRequest"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTxDescriptorResponse { + /// tx provides information on msgs that can be forwarded to the application + /// alongside the accepted transaction protobuf type + #[prost(message, optional, tag = "1")] + pub tx: ::core::option::Option, +} +impl ::prost::Name for GetTxDescriptorResponse { + const NAME: &'static str = "GetTxDescriptorResponse"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// QueryServicesDescriptor contains the list of cosmos-sdk queriable services +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryServicesDescriptor { + /// query_services is a list of cosmos-sdk QueryServiceDescriptor + #[prost(message, repeated, tag = "1")] + pub query_services: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryServicesDescriptor { + const NAME: &'static str = "QueryServicesDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// QueryServiceDescriptor describes a cosmos-sdk queryable service +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryServiceDescriptor { + /// fullname is the protobuf fullname of the service descriptor + #[prost(string, tag = "1")] + pub fullname: ::prost::alloc::string::String, + /// is_module describes if this service is actually exposed by an application's module + #[prost(bool, tag = "2")] + pub is_module: bool, + /// methods provides a list of query service methods + #[prost(message, repeated, tag = "3")] + pub methods: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryServiceDescriptor { + const NAME: &'static str = "QueryServiceDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// QueryMethodDescriptor describes a queryable method of a query service +/// no other info is provided beside method name and tendermint queryable path +/// because it would be redundant with the grpc reflection service +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryMethodDescriptor { + /// name is the protobuf name (not fullname) of the method + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// full_query_path is the path that can be used to query + /// this method via tendermint abci.Query + #[prost(string, tag = "2")] + pub full_query_path: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryMethodDescriptor { + const NAME: &'static str = "QueryMethodDescriptor"; + const PACKAGE: &'static str = "cosmos.base.reflection.v2alpha1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.reflection.v2alpha1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod reflection_service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// ReflectionService defines a service for application reflection. + #[derive(Debug, Clone)] + pub struct ReflectionServiceClient { + inner: tonic::client::Grpc, + } + impl ReflectionServiceClient { + /// 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 ReflectionServiceClient + 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, + ) -> ReflectionServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + ReflectionServiceClient::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 + } + /// GetAuthnDescriptor returns information on how to authenticate transactions in the application + /// NOTE: this RPC is still experimental and might be subject to breaking changes or removal in + /// future releases of the cosmos-sdk. + pub async fn get_authn_descriptor( + &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.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v2alpha1.ReflectionService", + "GetAuthnDescriptor", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetChainDescriptor returns the description of the chain + pub async fn get_chain_descriptor( + &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.base.reflection.v2alpha1.ReflectionService/GetChainDescriptor", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v2alpha1.ReflectionService", + "GetChainDescriptor", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetCodecDescriptor returns the descriptor of the codec of the application + pub async fn get_codec_descriptor( + &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.base.reflection.v2alpha1.ReflectionService/GetCodecDescriptor", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v2alpha1.ReflectionService", + "GetCodecDescriptor", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application + pub async fn get_configuration_descriptor( + &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.base.reflection.v2alpha1.ReflectionService/GetConfigurationDescriptor", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v2alpha1.ReflectionService", + "GetConfigurationDescriptor", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetQueryServicesDescriptor returns the available gRPC queryable services of the application + pub async fn get_query_services_descriptor( + &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.base.reflection.v2alpha1.ReflectionService/GetQueryServicesDescriptor", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v2alpha1.ReflectionService", + "GetQueryServicesDescriptor", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetTxDescriptor returns information on the used transaction object and available msgs that can be used + pub async fn get_tx_descriptor( + &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.base.reflection.v2alpha1.ReflectionService/GetTxDescriptor", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.reflection.v2alpha1.ReflectionService", + "GetTxDescriptor", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod reflection_service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with ReflectionServiceServer. + #[async_trait] + pub trait ReflectionService: Send + Sync + 'static { + /// GetAuthnDescriptor returns information on how to authenticate transactions in the application + /// NOTE: this RPC is still experimental and might be subject to breaking changes or removal in + /// future releases of the cosmos-sdk. + async fn get_authn_descriptor( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetChainDescriptor returns the description of the chain + async fn get_chain_descriptor( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetCodecDescriptor returns the descriptor of the codec of the application + async fn get_codec_descriptor( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetConfigurationDescriptor returns the descriptor for the sdk.Config of the application + async fn get_configuration_descriptor( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetQueryServicesDescriptor returns the available gRPC queryable services of the application + async fn get_query_services_descriptor( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetTxDescriptor returns information on the used transaction object and available msgs that can be used + async fn get_tx_descriptor( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// ReflectionService defines a service for application reflection. + #[derive(Debug)] + pub struct ReflectionServiceServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl ReflectionServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for ReflectionServiceServer + where + T: ReflectionService, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor" => { + #[allow(non_camel_case_types)] + struct GetAuthnDescriptorSvc(pub Arc); + impl< + T: ReflectionService, + > tonic::server::UnaryService + for GetAuthnDescriptorSvc { + type Response = super::GetAuthnDescriptorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_authn_descriptor( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetAuthnDescriptorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetChainDescriptor" => { + #[allow(non_camel_case_types)] + struct GetChainDescriptorSvc(pub Arc); + impl< + T: ReflectionService, + > tonic::server::UnaryService + for GetChainDescriptorSvc { + type Response = super::GetChainDescriptorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_chain_descriptor( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetChainDescriptorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetCodecDescriptor" => { + #[allow(non_camel_case_types)] + struct GetCodecDescriptorSvc(pub Arc); + impl< + T: ReflectionService, + > tonic::server::UnaryService + for GetCodecDescriptorSvc { + type Response = super::GetCodecDescriptorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_codec_descriptor( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetCodecDescriptorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetConfigurationDescriptor" => { + #[allow(non_camel_case_types)] + struct GetConfigurationDescriptorSvc( + pub Arc, + ); + impl< + T: ReflectionService, + > tonic::server::UnaryService< + super::GetConfigurationDescriptorRequest, + > for GetConfigurationDescriptorSvc { + type Response = super::GetConfigurationDescriptorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::GetConfigurationDescriptorRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_configuration_descriptor( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetConfigurationDescriptorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetQueryServicesDescriptor" => { + #[allow(non_camel_case_types)] + struct GetQueryServicesDescriptorSvc( + pub Arc, + ); + impl< + T: ReflectionService, + > tonic::server::UnaryService< + super::GetQueryServicesDescriptorRequest, + > for GetQueryServicesDescriptorSvc { + type Response = super::GetQueryServicesDescriptorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::GetQueryServicesDescriptorRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_query_services_descriptor( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetQueryServicesDescriptorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetTxDescriptor" => { + #[allow(non_camel_case_types)] + struct GetTxDescriptorSvc(pub Arc); + impl< + T: ReflectionService, + > tonic::server::UnaryService + for GetTxDescriptorSvc { + type Response = super::GetTxDescriptorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_tx_descriptor(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetTxDescriptorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for ReflectionServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService + for ReflectionServiceServer { + const NAME: &'static str = "cosmos.base.reflection.v2alpha1.ReflectionService"; + } +} diff --git a/src/prost/cosmos.base.reflection.v2alpha1.serde.rs b/src/prost/cosmos.base.reflection.v2alpha1.serde.rs new file mode 100644 index 00000000..f53d75e8 --- /dev/null +++ b/src/prost/cosmos.base.reflection.v2alpha1.serde.rs @@ -0,0 +1,2515 @@ +impl serde::Serialize for AppDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.authn.is_some() { + len += 1; + } + if self.chain.is_some() { + len += 1; + } + if self.codec.is_some() { + len += 1; + } + if self.configuration.is_some() { + len += 1; + } + if self.query_services.is_some() { + len += 1; + } + if self.tx.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.AppDescriptor", len)?; + if let Some(v) = self.authn.as_ref() { + struct_ser.serialize_field("authn", v)?; + } + if let Some(v) = self.chain.as_ref() { + struct_ser.serialize_field("chain", v)?; + } + if let Some(v) = self.codec.as_ref() { + struct_ser.serialize_field("codec", v)?; + } + if let Some(v) = self.configuration.as_ref() { + struct_ser.serialize_field("configuration", v)?; + } + if let Some(v) = self.query_services.as_ref() { + struct_ser.serialize_field("queryServices", v)?; + } + if let Some(v) = self.tx.as_ref() { + struct_ser.serialize_field("tx", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AppDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authn", + "chain", + "codec", + "configuration", + "query_services", + "queryServices", + "tx", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authn, + Chain, + Codec, + Configuration, + QueryServices, + Tx, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authn" => Ok(GeneratedField::Authn), + "chain" => Ok(GeneratedField::Chain), + "codec" => Ok(GeneratedField::Codec), + "configuration" => Ok(GeneratedField::Configuration), + "queryServices" | "query_services" => Ok(GeneratedField::QueryServices), + "tx" => Ok(GeneratedField::Tx), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AppDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.AppDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authn__ = None; + let mut chain__ = None; + let mut codec__ = None; + let mut configuration__ = None; + let mut query_services__ = None; + let mut tx__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authn => { + if authn__.is_some() { + return Err(serde::de::Error::duplicate_field("authn")); + } + authn__ = map_.next_value()?; + } + GeneratedField::Chain => { + if chain__.is_some() { + return Err(serde::de::Error::duplicate_field("chain")); + } + chain__ = map_.next_value()?; + } + GeneratedField::Codec => { + if codec__.is_some() { + return Err(serde::de::Error::duplicate_field("codec")); + } + codec__ = map_.next_value()?; + } + GeneratedField::Configuration => { + if configuration__.is_some() { + return Err(serde::de::Error::duplicate_field("configuration")); + } + configuration__ = map_.next_value()?; + } + GeneratedField::QueryServices => { + if query_services__.is_some() { + return Err(serde::de::Error::duplicate_field("queryServices")); + } + query_services__ = map_.next_value()?; + } + GeneratedField::Tx => { + if tx__.is_some() { + return Err(serde::de::Error::duplicate_field("tx")); + } + tx__ = map_.next_value()?; + } + } + } + Ok(AppDescriptor { + authn: authn__, + chain: chain__, + codec: codec__, + configuration: configuration__, + query_services: query_services__, + tx: tx__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.AppDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for AuthnDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.sign_modes.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.AuthnDescriptor", len)?; + if !self.sign_modes.is_empty() { + struct_ser.serialize_field("signModes", &self.sign_modes)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AuthnDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sign_modes", + "signModes", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SignModes, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signModes" | "sign_modes" => Ok(GeneratedField::SignModes), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AuthnDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.AuthnDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sign_modes__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SignModes => { + if sign_modes__.is_some() { + return Err(serde::de::Error::duplicate_field("signModes")); + } + sign_modes__ = Some(map_.next_value()?); + } + } + } + Ok(AuthnDescriptor { + sign_modes: sign_modes__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.AuthnDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ChainDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.ChainDescriptor", len)?; + if !self.id.is_empty() { + struct_ser.serialize_field("id", &self.id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ChainDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ChainDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.ChainDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = Some(map_.next_value()?); + } + } + } + Ok(ChainDescriptor { + id: id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.ChainDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CodecDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.interfaces.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.CodecDescriptor", len)?; + if !self.interfaces.is_empty() { + struct_ser.serialize_field("interfaces", &self.interfaces)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CodecDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "interfaces", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Interfaces, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "interfaces" => Ok(GeneratedField::Interfaces), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CodecDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.CodecDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut interfaces__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Interfaces => { + if interfaces__.is_some() { + return Err(serde::de::Error::duplicate_field("interfaces")); + } + interfaces__ = Some(map_.next_value()?); + } + } + } + Ok(CodecDescriptor { + interfaces: interfaces__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.CodecDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConfigurationDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.bech32_account_address_prefix.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.ConfigurationDescriptor", len)?; + if !self.bech32_account_address_prefix.is_empty() { + struct_ser.serialize_field("bech32AccountAddressPrefix", &self.bech32_account_address_prefix)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConfigurationDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "bech32_account_address_prefix", + "bech32AccountAddressPrefix", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Bech32AccountAddressPrefix, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "bech32AccountAddressPrefix" | "bech32_account_address_prefix" => Ok(GeneratedField::Bech32AccountAddressPrefix), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConfigurationDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.ConfigurationDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut bech32_account_address_prefix__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Bech32AccountAddressPrefix => { + if bech32_account_address_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("bech32AccountAddressPrefix")); + } + bech32_account_address_prefix__ = Some(map_.next_value()?); + } + } + } + Ok(ConfigurationDescriptor { + bech32_account_address_prefix: bech32_account_address_prefix__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.ConfigurationDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetAuthnDescriptorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetAuthnDescriptorRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetAuthnDescriptorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetAuthnDescriptorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(GetAuthnDescriptorRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetAuthnDescriptorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetAuthnDescriptorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.authn.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse", len)?; + if let Some(v) = self.authn.as_ref() { + struct_ser.serialize_field("authn", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authn", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authn, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authn" => Ok(GeneratedField::Authn), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetAuthnDescriptorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authn__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authn => { + if authn__.is_some() { + return Err(serde::de::Error::duplicate_field("authn")); + } + authn__ = map_.next_value()?; + } + } + } + Ok(GetAuthnDescriptorResponse { + authn: authn__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetChainDescriptorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetChainDescriptorRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetChainDescriptorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetChainDescriptorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetChainDescriptorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(GetChainDescriptorRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetChainDescriptorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetChainDescriptorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.chain.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse", len)?; + if let Some(v) = self.chain.as_ref() { + struct_ser.serialize_field("chain", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetChainDescriptorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "chain", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Chain, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "chain" => Ok(GeneratedField::Chain), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetChainDescriptorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut chain__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Chain => { + if chain__.is_some() { + return Err(serde::de::Error::duplicate_field("chain")); + } + chain__ = map_.next_value()?; + } + } + } + Ok(GetChainDescriptorResponse { + chain: chain__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetCodecDescriptorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetCodecDescriptorRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetCodecDescriptorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetCodecDescriptorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetCodecDescriptorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(GetCodecDescriptorRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetCodecDescriptorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetCodecDescriptorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.codec.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse", len)?; + if let Some(v) = self.codec.as_ref() { + struct_ser.serialize_field("codec", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetCodecDescriptorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "codec", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Codec, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "codec" => Ok(GeneratedField::Codec), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetCodecDescriptorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut codec__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Codec => { + if codec__.is_some() { + return Err(serde::de::Error::duplicate_field("codec")); + } + codec__ = map_.next_value()?; + } + } + } + Ok(GetCodecDescriptorResponse { + codec: codec__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetConfigurationDescriptorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetConfigurationDescriptorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(GetConfigurationDescriptorRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetConfigurationDescriptorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.config.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse", len)?; + if let Some(v) = self.config.as_ref() { + struct_ser.serialize_field("config", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "config", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Config, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "config" => Ok(GeneratedField::Config), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetConfigurationDescriptorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut config__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Config => { + if config__.is_some() { + return Err(serde::de::Error::duplicate_field("config")); + } + config__ = map_.next_value()?; + } + } + } + Ok(GetConfigurationDescriptorResponse { + config: config__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetQueryServicesDescriptorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetQueryServicesDescriptorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(GetQueryServicesDescriptorRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetQueryServicesDescriptorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.queries.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse", len)?; + if let Some(v) = self.queries.as_ref() { + struct_ser.serialize_field("queries", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "queries", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Queries, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "queries" => Ok(GeneratedField::Queries), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetQueryServicesDescriptorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut queries__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Queries => { + if queries__.is_some() { + return Err(serde::de::Error::duplicate_field("queries")); + } + queries__ = map_.next_value()?; + } + } + } + Ok(GetQueryServicesDescriptorResponse { + queries: queries__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetTxDescriptorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetTxDescriptorRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetTxDescriptorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetTxDescriptorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetTxDescriptorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(GetTxDescriptorRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetTxDescriptorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetTxDescriptorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.tx.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse", len)?; + if let Some(v) = self.tx.as_ref() { + struct_ser.serialize_field("tx", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetTxDescriptorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "tx", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Tx, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "tx" => Ok(GeneratedField::Tx), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetTxDescriptorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut tx__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Tx => { + if tx__.is_some() { + return Err(serde::de::Error::duplicate_field("tx")); + } + tx__ = map_.next_value()?; + } + } + } + Ok(GetTxDescriptorResponse { + tx: tx__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for InterfaceAcceptingMessageDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fullname.is_empty() { + len += 1; + } + if !self.field_descriptor_names.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor", len)?; + if !self.fullname.is_empty() { + struct_ser.serialize_field("fullname", &self.fullname)?; + } + if !self.field_descriptor_names.is_empty() { + struct_ser.serialize_field("fieldDescriptorNames", &self.field_descriptor_names)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InterfaceAcceptingMessageDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fullname", + "field_descriptor_names", + "fieldDescriptorNames", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fullname, + FieldDescriptorNames, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fullname" => Ok(GeneratedField::Fullname), + "fieldDescriptorNames" | "field_descriptor_names" => Ok(GeneratedField::FieldDescriptorNames), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InterfaceAcceptingMessageDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fullname__ = None; + let mut field_descriptor_names__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fullname => { + if fullname__.is_some() { + return Err(serde::de::Error::duplicate_field("fullname")); + } + fullname__ = Some(map_.next_value()?); + } + GeneratedField::FieldDescriptorNames => { + if field_descriptor_names__.is_some() { + return Err(serde::de::Error::duplicate_field("fieldDescriptorNames")); + } + field_descriptor_names__ = Some(map_.next_value()?); + } + } + } + Ok(InterfaceAcceptingMessageDescriptor { + fullname: fullname__.unwrap_or_default(), + field_descriptor_names: field_descriptor_names__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for InterfaceDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fullname.is_empty() { + len += 1; + } + if !self.interface_accepting_messages.is_empty() { + len += 1; + } + if !self.interface_implementers.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.InterfaceDescriptor", len)?; + if !self.fullname.is_empty() { + struct_ser.serialize_field("fullname", &self.fullname)?; + } + if !self.interface_accepting_messages.is_empty() { + struct_ser.serialize_field("interfaceAcceptingMessages", &self.interface_accepting_messages)?; + } + if !self.interface_implementers.is_empty() { + struct_ser.serialize_field("interfaceImplementers", &self.interface_implementers)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InterfaceDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fullname", + "interface_accepting_messages", + "interfaceAcceptingMessages", + "interface_implementers", + "interfaceImplementers", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fullname, + InterfaceAcceptingMessages, + InterfaceImplementers, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fullname" => Ok(GeneratedField::Fullname), + "interfaceAcceptingMessages" | "interface_accepting_messages" => Ok(GeneratedField::InterfaceAcceptingMessages), + "interfaceImplementers" | "interface_implementers" => Ok(GeneratedField::InterfaceImplementers), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InterfaceDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.InterfaceDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fullname__ = None; + let mut interface_accepting_messages__ = None; + let mut interface_implementers__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fullname => { + if fullname__.is_some() { + return Err(serde::de::Error::duplicate_field("fullname")); + } + fullname__ = Some(map_.next_value()?); + } + GeneratedField::InterfaceAcceptingMessages => { + if interface_accepting_messages__.is_some() { + return Err(serde::de::Error::duplicate_field("interfaceAcceptingMessages")); + } + interface_accepting_messages__ = Some(map_.next_value()?); + } + GeneratedField::InterfaceImplementers => { + if interface_implementers__.is_some() { + return Err(serde::de::Error::duplicate_field("interfaceImplementers")); + } + interface_implementers__ = Some(map_.next_value()?); + } + } + } + Ok(InterfaceDescriptor { + fullname: fullname__.unwrap_or_default(), + interface_accepting_messages: interface_accepting_messages__.unwrap_or_default(), + interface_implementers: interface_implementers__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.InterfaceDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for InterfaceImplementerDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fullname.is_empty() { + len += 1; + } + if !self.type_url.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor", len)?; + if !self.fullname.is_empty() { + struct_ser.serialize_field("fullname", &self.fullname)?; + } + if !self.type_url.is_empty() { + struct_ser.serialize_field("typeUrl", &self.type_url)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InterfaceImplementerDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fullname", + "type_url", + "typeUrl", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fullname, + TypeUrl, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fullname" => Ok(GeneratedField::Fullname), + "typeUrl" | "type_url" => Ok(GeneratedField::TypeUrl), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InterfaceImplementerDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fullname__ = None; + let mut type_url__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fullname => { + if fullname__.is_some() { + return Err(serde::de::Error::duplicate_field("fullname")); + } + fullname__ = Some(map_.next_value()?); + } + GeneratedField::TypeUrl => { + if type_url__.is_some() { + return Err(serde::de::Error::duplicate_field("typeUrl")); + } + type_url__ = Some(map_.next_value()?); + } + } + } + Ok(InterfaceImplementerDescriptor { + fullname: fullname__.unwrap_or_default(), + type_url: type_url__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.msg_type_url.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.MsgDescriptor", len)?; + if !self.msg_type_url.is_empty() { + struct_ser.serialize_field("msgTypeUrl", &self.msg_type_url)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "msg_type_url", + "msgTypeUrl", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MsgTypeUrl, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "msgTypeUrl" | "msg_type_url" => Ok(GeneratedField::MsgTypeUrl), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.MsgDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut msg_type_url__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MsgTypeUrl => { + if msg_type_url__.is_some() { + return Err(serde::de::Error::duplicate_field("msgTypeUrl")); + } + msg_type_url__ = Some(map_.next_value()?); + } + } + } + Ok(MsgDescriptor { + msg_type_url: msg_type_url__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.MsgDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryMethodDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if !self.full_query_path.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.QueryMethodDescriptor", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if !self.full_query_path.is_empty() { + struct_ser.serialize_field("fullQueryPath", &self.full_query_path)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryMethodDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "full_query_path", + "fullQueryPath", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + FullQueryPath, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "fullQueryPath" | "full_query_path" => Ok(GeneratedField::FullQueryPath), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryMethodDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.QueryMethodDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut full_query_path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::FullQueryPath => { + if full_query_path__.is_some() { + return Err(serde::de::Error::duplicate_field("fullQueryPath")); + } + full_query_path__ = Some(map_.next_value()?); + } + } + } + Ok(QueryMethodDescriptor { + name: name__.unwrap_or_default(), + full_query_path: full_query_path__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.QueryMethodDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryServiceDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fullname.is_empty() { + len += 1; + } + if self.is_module { + len += 1; + } + if !self.methods.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.QueryServiceDescriptor", len)?; + if !self.fullname.is_empty() { + struct_ser.serialize_field("fullname", &self.fullname)?; + } + if self.is_module { + struct_ser.serialize_field("isModule", &self.is_module)?; + } + if !self.methods.is_empty() { + struct_ser.serialize_field("methods", &self.methods)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryServiceDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fullname", + "is_module", + "isModule", + "methods", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fullname, + IsModule, + Methods, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fullname" => Ok(GeneratedField::Fullname), + "isModule" | "is_module" => Ok(GeneratedField::IsModule), + "methods" => Ok(GeneratedField::Methods), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryServiceDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.QueryServiceDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fullname__ = None; + let mut is_module__ = None; + let mut methods__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fullname => { + if fullname__.is_some() { + return Err(serde::de::Error::duplicate_field("fullname")); + } + fullname__ = Some(map_.next_value()?); + } + GeneratedField::IsModule => { + if is_module__.is_some() { + return Err(serde::de::Error::duplicate_field("isModule")); + } + is_module__ = Some(map_.next_value()?); + } + GeneratedField::Methods => { + if methods__.is_some() { + return Err(serde::de::Error::duplicate_field("methods")); + } + methods__ = Some(map_.next_value()?); + } + } + } + Ok(QueryServiceDescriptor { + fullname: fullname__.unwrap_or_default(), + is_module: is_module__.unwrap_or_default(), + methods: methods__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.QueryServiceDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryServicesDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.query_services.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.QueryServicesDescriptor", len)?; + if !self.query_services.is_empty() { + struct_ser.serialize_field("queryServices", &self.query_services)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryServicesDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "query_services", + "queryServices", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + QueryServices, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "queryServices" | "query_services" => Ok(GeneratedField::QueryServices), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryServicesDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.QueryServicesDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut query_services__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::QueryServices => { + if query_services__.is_some() { + return Err(serde::de::Error::duplicate_field("queryServices")); + } + query_services__ = Some(map_.next_value()?); + } + } + } + Ok(QueryServicesDescriptor { + query_services: query_services__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.QueryServicesDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SigningModeDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.number != 0 { + len += 1; + } + if !self.authn_info_provider_method_fullname.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.SigningModeDescriptor", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if self.number != 0 { + struct_ser.serialize_field("number", &self.number)?; + } + if !self.authn_info_provider_method_fullname.is_empty() { + struct_ser.serialize_field("authnInfoProviderMethodFullname", &self.authn_info_provider_method_fullname)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SigningModeDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "number", + "authn_info_provider_method_fullname", + "authnInfoProviderMethodFullname", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Number, + AuthnInfoProviderMethodFullname, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "number" => Ok(GeneratedField::Number), + "authnInfoProviderMethodFullname" | "authn_info_provider_method_fullname" => Ok(GeneratedField::AuthnInfoProviderMethodFullname), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SigningModeDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.SigningModeDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut number__ = None; + let mut authn_info_provider_method_fullname__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Number => { + if number__.is_some() { + return Err(serde::de::Error::duplicate_field("number")); + } + number__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::AuthnInfoProviderMethodFullname => { + if authn_info_provider_method_fullname__.is_some() { + return Err(serde::de::Error::duplicate_field("authnInfoProviderMethodFullname")); + } + authn_info_provider_method_fullname__ = Some(map_.next_value()?); + } + } + } + Ok(SigningModeDescriptor { + name: name__.unwrap_or_default(), + number: number__.unwrap_or_default(), + authn_info_provider_method_fullname: authn_info_provider_method_fullname__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.SigningModeDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TxDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fullname.is_empty() { + len += 1; + } + if !self.msgs.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.TxDescriptor", len)?; + if !self.fullname.is_empty() { + struct_ser.serialize_field("fullname", &self.fullname)?; + } + if !self.msgs.is_empty() { + struct_ser.serialize_field("msgs", &self.msgs)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TxDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fullname", + "msgs", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fullname, + Msgs, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fullname" => Ok(GeneratedField::Fullname), + "msgs" => Ok(GeneratedField::Msgs), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TxDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.reflection.v2alpha1.TxDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fullname__ = None; + let mut msgs__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fullname => { + if fullname__.is_some() { + return Err(serde::de::Error::duplicate_field("fullname")); + } + fullname__ = Some(map_.next_value()?); + } + GeneratedField::Msgs => { + if msgs__.is_some() { + return Err(serde::de::Error::duplicate_field("msgs")); + } + msgs__ = Some(map_.next_value()?); + } + } + } + Ok(TxDescriptor { + fullname: fullname__.unwrap_or_default(), + msgs: msgs__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.reflection.v2alpha1.TxDescriptor", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.snapshots.v1beta1.rs b/src/prost/cosmos.base.snapshots.v1beta1.rs new file mode 100644 index 00000000..614c936c --- /dev/null +++ b/src/prost/cosmos.base.snapshots.v1beta1.rs @@ -0,0 +1,184 @@ +/// Snapshot contains Tendermint state sync snapshot info. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Snapshot { + #[prost(uint64, tag = "1")] + pub height: u64, + #[prost(uint32, tag = "2")] + pub format: u32, + #[prost(uint32, tag = "3")] + pub chunks: u32, + #[prost(bytes = "vec", tag = "4")] + pub hash: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub metadata: ::core::option::Option, +} +impl ::prost::Name for Snapshot { + const NAME: &'static str = "Snapshot"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// Metadata contains SDK-specific snapshot metadata. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Metadata { + /// SHA-256 chunk hashes + #[prost(bytes = "vec", repeated, tag = "1")] + pub chunk_hashes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for Metadata { + const NAME: &'static str = "Metadata"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotItem is an item contained in a rootmulti.Store snapshot. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotItem { + /// item is the specific type of snapshot item. + #[prost(oneof = "snapshot_item::Item", tags = "1, 2, 3, 4, 5, 6")] + pub item: ::core::option::Option, +} +/// Nested message and enum types in `SnapshotItem`. +pub mod snapshot_item { + /// item is the specific type of snapshot item. + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Item { + #[prost(message, tag = "1")] + Store(super::SnapshotStoreItem), + #[prost(message, tag = "2")] + Iavl(super::SnapshotIavlItem), + #[prost(message, tag = "3")] + Extension(super::SnapshotExtensionMeta), + #[prost(message, tag = "4")] + ExtensionPayload(super::SnapshotExtensionPayload), + #[prost(message, tag = "5")] + Kv(super::SnapshotKvItem), + #[prost(message, tag = "6")] + Schema(super::SnapshotSchema), + } +} +impl ::prost::Name for SnapshotItem { + const NAME: &'static str = "SnapshotItem"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotStoreItem contains metadata about a snapshotted store. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotStoreItem { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, +} +impl ::prost::Name for SnapshotStoreItem { + const NAME: &'static str = "SnapshotStoreItem"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotIAVLItem is an exported IAVL node. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotIavlItem { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, + /// version is block height + #[prost(int64, tag = "3")] + pub version: i64, + /// height is depth of the tree. + #[prost(int32, tag = "4")] + pub height: i32, +} +impl ::prost::Name for SnapshotIavlItem { + const NAME: &'static str = "SnapshotIAVLItem"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotExtensionMeta contains metadata about an external snapshotter. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotExtensionMeta { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub format: u32, +} +impl ::prost::Name for SnapshotExtensionMeta { + const NAME: &'static str = "SnapshotExtensionMeta"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotExtensionPayload contains payloads of an external snapshotter. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotExtensionPayload { + #[prost(bytes = "vec", tag = "1")] + pub payload: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SnapshotExtensionPayload { + const NAME: &'static str = "SnapshotExtensionPayload"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotKVItem is an exported Key/Value Pair +/// +/// Since: cosmos-sdk 0.46 +/// Deprecated: This message was part of store/v2alpha1 which has been deleted from v0.47. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotKvItem { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SnapshotKvItem { + const NAME: &'static str = "SnapshotKVItem"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} +/// SnapshotSchema is an exported schema of smt store +/// +/// Since: cosmos-sdk 0.46 +/// Deprecated: This message was part of store/v2alpha1 which has been deleted from v0.47. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SnapshotSchema { + #[prost(bytes = "vec", repeated, tag = "1")] + pub keys: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for SnapshotSchema { + const NAME: &'static str = "SnapshotSchema"; + const PACKAGE: &'static str = "cosmos.base.snapshots.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.snapshots.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.base.snapshots.v1beta1.serde.rs b/src/prost/cosmos.base.snapshots.v1beta1.serde.rs new file mode 100644 index 00000000..581c9a49 --- /dev/null +++ b/src/prost/cosmos.base.snapshots.v1beta1.serde.rs @@ -0,0 +1,1082 @@ +impl serde::Serialize for Metadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.chunk_hashes.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.Metadata", len)?; + if !self.chunk_hashes.is_empty() { + struct_ser.serialize_field("chunkHashes", &self.chunk_hashes.iter().map(pbjson::private::base64::encode).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Metadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "chunk_hashes", + "chunkHashes", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChunkHashes, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "chunkHashes" | "chunk_hashes" => Ok(GeneratedField::ChunkHashes), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Metadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.Metadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut chunk_hashes__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChunkHashes => { + if chunk_hashes__.is_some() { + return Err(serde::de::Error::duplicate_field("chunkHashes")); + } + chunk_hashes__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(Metadata { + chunk_hashes: chunk_hashes__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.Metadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Snapshot { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.height != 0 { + len += 1; + } + if self.format != 0 { + len += 1; + } + if self.chunks != 0 { + len += 1; + } + if !self.hash.is_empty() { + len += 1; + } + if self.metadata.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.Snapshot", len)?; + if self.height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + } + if self.format != 0 { + struct_ser.serialize_field("format", &self.format)?; + } + if self.chunks != 0 { + struct_ser.serialize_field("chunks", &self.chunks)?; + } + if !self.hash.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; + } + if let Some(v) = self.metadata.as_ref() { + struct_ser.serialize_field("metadata", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Snapshot { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "height", + "format", + "chunks", + "hash", + "metadata", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Height, + Format, + Chunks, + Hash, + Metadata, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "height" => Ok(GeneratedField::Height), + "format" => Ok(GeneratedField::Format), + "chunks" => Ok(GeneratedField::Chunks), + "hash" => Ok(GeneratedField::Hash), + "metadata" => Ok(GeneratedField::Metadata), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Snapshot; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.Snapshot") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut height__ = None; + let mut format__ = None; + let mut chunks__ = None; + let mut hash__ = None; + let mut metadata__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Format => { + if format__.is_some() { + return Err(serde::de::Error::duplicate_field("format")); + } + format__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Chunks => { + if chunks__.is_some() { + return Err(serde::de::Error::duplicate_field("chunks")); + } + chunks__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = map_.next_value()?; + } + } + } + Ok(Snapshot { + height: height__.unwrap_or_default(), + format: format__.unwrap_or_default(), + chunks: chunks__.unwrap_or_default(), + hash: hash__.unwrap_or_default(), + metadata: metadata__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.Snapshot", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotExtensionMeta { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.format != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if self.format != 0 { + struct_ser.serialize_field("format", &self.format)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotExtensionMeta { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "format", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Format, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "format" => Ok(GeneratedField::Format), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotExtensionMeta; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut format__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Format => { + if format__.is_some() { + return Err(serde::de::Error::duplicate_field("format")); + } + format__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(SnapshotExtensionMeta { + name: name__.unwrap_or_default(), + format: format__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotExtensionPayload { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.payload.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload", len)?; + if !self.payload.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("payload", pbjson::private::base64::encode(&self.payload).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotExtensionPayload { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "payload", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Payload, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "payload" => Ok(GeneratedField::Payload), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotExtensionPayload; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut payload__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Payload => { + if payload__.is_some() { + return Err(serde::de::Error::duplicate_field("payload")); + } + payload__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(SnapshotExtensionPayload { + payload: payload__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotIavlItem { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + if self.version != 0 { + len += 1; + } + if self.height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotIAVLItem", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + if self.version != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + } + if self.height != 0 { + struct_ser.serialize_field("height", &self.height)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "value", + "version", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Value, + Version, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + "version" => Ok(GeneratedField::Version), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotIavlItem; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotIAVLItem") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut value__ = None; + let mut version__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(SnapshotIavlItem { + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + version: version__.unwrap_or_default(), + height: height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotIAVLItem", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotItem { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.item.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotItem", len)?; + if let Some(v) = self.item.as_ref() { + match v { + snapshot_item::Item::Store(v) => { + struct_ser.serialize_field("store", v)?; + } + snapshot_item::Item::Iavl(v) => { + struct_ser.serialize_field("iavl", v)?; + } + snapshot_item::Item::Extension(v) => { + struct_ser.serialize_field("extension", v)?; + } + snapshot_item::Item::ExtensionPayload(v) => { + struct_ser.serialize_field("extensionPayload", v)?; + } + snapshot_item::Item::Kv(v) => { + struct_ser.serialize_field("kv", v)?; + } + snapshot_item::Item::Schema(v) => { + struct_ser.serialize_field("schema", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotItem { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "store", + "iavl", + "extension", + "extension_payload", + "extensionPayload", + "kv", + "schema", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Store, + Iavl, + Extension, + ExtensionPayload, + Kv, + Schema, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "store" => Ok(GeneratedField::Store), + "iavl" => Ok(GeneratedField::Iavl), + "extension" => Ok(GeneratedField::Extension), + "extensionPayload" | "extension_payload" => Ok(GeneratedField::ExtensionPayload), + "kv" => Ok(GeneratedField::Kv), + "schema" => Ok(GeneratedField::Schema), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotItem; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotItem") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut item__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Store => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("store")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Store) +; + } + GeneratedField::Iavl => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("iavl")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Iavl) +; + } + GeneratedField::Extension => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("extension")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Extension) +; + } + GeneratedField::ExtensionPayload => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("extensionPayload")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::ExtensionPayload) +; + } + GeneratedField::Kv => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("kv")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Kv) +; + } + GeneratedField::Schema => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("schema")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Schema) +; + } + } + } + Ok(SnapshotItem { + item: item__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotItem", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotKvItem { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotKVItem", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotKvItem { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "value", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Value, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotKvItem; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotKVItem") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(SnapshotKvItem { + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotKVItem", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotSchema { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.keys.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotSchema", len)?; + if !self.keys.is_empty() { + struct_ser.serialize_field("keys", &self.keys.iter().map(pbjson::private::base64::encode).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotSchema { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "keys", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Keys, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "keys" => Ok(GeneratedField::Keys), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotSchema; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotSchema") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut keys__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Keys => { + if keys__.is_some() { + return Err(serde::de::Error::duplicate_field("keys")); + } + keys__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(SnapshotSchema { + keys: keys__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotSchema", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SnapshotStoreItem { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotStoreItem", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SnapshotStoreItem { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SnapshotStoreItem; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotStoreItem") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + } + } + Ok(SnapshotStoreItem { + name: name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.snapshots.v1beta1.SnapshotStoreItem", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.store.v1beta1.serde.rs b/src/prost/cosmos.base.store.v1beta1.serde.rs new file mode 100644 index 00000000..444318e9 --- /dev/null +++ b/src/prost/cosmos.base.store.v1beta1.serde.rs @@ -0,0 +1,791 @@ +impl serde::Serialize for BlockMetadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.request_begin_block.is_some() { + len += 1; + } + if self.response_begin_block.is_some() { + len += 1; + } + if !self.deliver_txs.is_empty() { + len += 1; + } + if self.request_end_block.is_some() { + len += 1; + } + if self.response_end_block.is_some() { + len += 1; + } + if self.response_commit.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.BlockMetadata", len)?; + if let Some(v) = self.request_begin_block.as_ref() { + struct_ser.serialize_field("requestBeginBlock", v)?; + } + if let Some(v) = self.response_begin_block.as_ref() { + struct_ser.serialize_field("responseBeginBlock", v)?; + } + if !self.deliver_txs.is_empty() { + struct_ser.serialize_field("deliverTxs", &self.deliver_txs)?; + } + if let Some(v) = self.request_end_block.as_ref() { + struct_ser.serialize_field("requestEndBlock", v)?; + } + if let Some(v) = self.response_end_block.as_ref() { + struct_ser.serialize_field("responseEndBlock", v)?; + } + if let Some(v) = self.response_commit.as_ref() { + struct_ser.serialize_field("responseCommit", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for BlockMetadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "request_begin_block", + "requestBeginBlock", + "response_begin_block", + "responseBeginBlock", + "deliver_txs", + "deliverTxs", + "request_end_block", + "requestEndBlock", + "response_end_block", + "responseEndBlock", + "response_commit", + "responseCommit", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + RequestBeginBlock, + ResponseBeginBlock, + DeliverTxs, + RequestEndBlock, + ResponseEndBlock, + ResponseCommit, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "requestBeginBlock" | "request_begin_block" => Ok(GeneratedField::RequestBeginBlock), + "responseBeginBlock" | "response_begin_block" => Ok(GeneratedField::ResponseBeginBlock), + "deliverTxs" | "deliver_txs" => Ok(GeneratedField::DeliverTxs), + "requestEndBlock" | "request_end_block" => Ok(GeneratedField::RequestEndBlock), + "responseEndBlock" | "response_end_block" => Ok(GeneratedField::ResponseEndBlock), + "responseCommit" | "response_commit" => Ok(GeneratedField::ResponseCommit), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = BlockMetadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.store.v1beta1.BlockMetadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut request_begin_block__ = None; + let mut response_begin_block__ = None; + let mut deliver_txs__ = None; + let mut request_end_block__ = None; + let mut response_end_block__ = None; + let mut response_commit__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::RequestBeginBlock => { + if request_begin_block__.is_some() { + return Err(serde::de::Error::duplicate_field("requestBeginBlock")); + } + request_begin_block__ = map_.next_value()?; + } + GeneratedField::ResponseBeginBlock => { + if response_begin_block__.is_some() { + return Err(serde::de::Error::duplicate_field("responseBeginBlock")); + } + response_begin_block__ = map_.next_value()?; + } + GeneratedField::DeliverTxs => { + if deliver_txs__.is_some() { + return Err(serde::de::Error::duplicate_field("deliverTxs")); + } + deliver_txs__ = Some(map_.next_value()?); + } + GeneratedField::RequestEndBlock => { + if request_end_block__.is_some() { + return Err(serde::de::Error::duplicate_field("requestEndBlock")); + } + request_end_block__ = map_.next_value()?; + } + GeneratedField::ResponseEndBlock => { + if response_end_block__.is_some() { + return Err(serde::de::Error::duplicate_field("responseEndBlock")); + } + response_end_block__ = map_.next_value()?; + } + GeneratedField::ResponseCommit => { + if response_commit__.is_some() { + return Err(serde::de::Error::duplicate_field("responseCommit")); + } + response_commit__ = map_.next_value()?; + } + } + } + Ok(BlockMetadata { + request_begin_block: request_begin_block__, + response_begin_block: response_begin_block__, + deliver_txs: deliver_txs__.unwrap_or_default(), + request_end_block: request_end_block__, + response_end_block: response_end_block__, + response_commit: response_commit__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.store.v1beta1.BlockMetadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for block_metadata::DeliverTx { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.request.is_some() { + len += 1; + } + if self.response.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.BlockMetadata.DeliverTx", len)?; + if let Some(v) = self.request.as_ref() { + struct_ser.serialize_field("request", v)?; + } + if let Some(v) = self.response.as_ref() { + struct_ser.serialize_field("response", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for block_metadata::DeliverTx { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "request", + "response", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Request, + Response, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "request" => Ok(GeneratedField::Request), + "response" => Ok(GeneratedField::Response), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = block_metadata::DeliverTx; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.store.v1beta1.BlockMetadata.DeliverTx") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut request__ = None; + let mut response__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Request => { + if request__.is_some() { + return Err(serde::de::Error::duplicate_field("request")); + } + request__ = map_.next_value()?; + } + GeneratedField::Response => { + if response__.is_some() { + return Err(serde::de::Error::duplicate_field("response")); + } + response__ = map_.next_value()?; + } + } + } + Ok(block_metadata::DeliverTx { + request: request__, + response: response__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.store.v1beta1.BlockMetadata.DeliverTx", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CommitId { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.version != 0 { + len += 1; + } + if !self.hash.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.CommitID", len)?; + if self.version != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + } + if !self.hash.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CommitId { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "version", + "hash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Version, + Hash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "version" => Ok(GeneratedField::Version), + "hash" => Ok(GeneratedField::Hash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CommitId; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.store.v1beta1.CommitID") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut version__ = None; + let mut hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(CommitId { + version: version__.unwrap_or_default(), + hash: hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.store.v1beta1.CommitID", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CommitInfo { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.version != 0 { + len += 1; + } + if !self.store_infos.is_empty() { + len += 1; + } + if self.timestamp.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.CommitInfo", len)?; + if self.version != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + } + if !self.store_infos.is_empty() { + struct_ser.serialize_field("storeInfos", &self.store_infos)?; + } + if let Some(v) = self.timestamp.as_ref() { + struct_ser.serialize_field("timestamp", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CommitInfo { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "version", + "store_infos", + "storeInfos", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Version, + StoreInfos, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "version" => Ok(GeneratedField::Version), + "storeInfos" | "store_infos" => Ok(GeneratedField::StoreInfos), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CommitInfo; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.store.v1beta1.CommitInfo") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut version__ = None; + let mut store_infos__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::StoreInfos => { + if store_infos__.is_some() { + return Err(serde::de::Error::duplicate_field("storeInfos")); + } + store_infos__ = Some(map_.next_value()?); + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = map_.next_value()?; + } + } + } + Ok(CommitInfo { + version: version__.unwrap_or_default(), + store_infos: store_infos__.unwrap_or_default(), + timestamp: timestamp__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.store.v1beta1.CommitInfo", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for StoreInfo { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.commit_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.StoreInfo", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if let Some(v) = self.commit_id.as_ref() { + struct_ser.serialize_field("commitId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for StoreInfo { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "commit_id", + "commitId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + CommitId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "commitId" | "commit_id" => Ok(GeneratedField::CommitId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = StoreInfo; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.store.v1beta1.StoreInfo") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut commit_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::CommitId => { + if commit_id__.is_some() { + return Err(serde::de::Error::duplicate_field("commitId")); + } + commit_id__ = map_.next_value()?; + } + } + } + Ok(StoreInfo { + name: name__.unwrap_or_default(), + commit_id: commit_id__, + }) + } + } + deserializer.deserialize_struct("cosmos.base.store.v1beta1.StoreInfo", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for StoreKvPair { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.store_key.is_empty() { + len += 1; + } + if self.delete { + len += 1; + } + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.StoreKVPair", len)?; + if !self.store_key.is_empty() { + struct_ser.serialize_field("storeKey", &self.store_key)?; + } + if self.delete { + struct_ser.serialize_field("delete", &self.delete)?; + } + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for StoreKvPair { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "store_key", + "storeKey", + "delete", + "key", + "value", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + StoreKey, + Delete, + Key, + Value, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "storeKey" | "store_key" => Ok(GeneratedField::StoreKey), + "delete" => Ok(GeneratedField::Delete), + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = StoreKvPair; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.store.v1beta1.StoreKVPair") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut store_key__ = None; + let mut delete__ = None; + let mut key__ = None; + let mut value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::StoreKey => { + if store_key__.is_some() { + return Err(serde::de::Error::duplicate_field("storeKey")); + } + store_key__ = Some(map_.next_value()?); + } + GeneratedField::Delete => { + if delete__.is_some() { + return Err(serde::de::Error::duplicate_field("delete")); + } + delete__ = Some(map_.next_value()?); + } + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(StoreKvPair { + store_key: store_key__.unwrap_or_default(), + delete: delete__.unwrap_or_default(), + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.store.v1beta1.StoreKVPair", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.base.tendermint.v1beta1.rs b/src/prost/cosmos.base.tendermint.v1beta1.rs new file mode 100644 index 00000000..82dd22d6 --- /dev/null +++ b/src/prost/cosmos.base.tendermint.v1beta1.rs @@ -0,0 +1,1262 @@ +/// Block is tendermint type Block, with the Header proposer address +/// field converted to bech32 string. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Block { + #[prost(message, optional, tag = "1")] + pub header: ::core::option::Option

, + #[prost(message, optional, tag = "2")] + pub data: ::core::option::Option<::tendermint_proto::types::Data>, + #[prost(message, optional, tag = "3")] + pub evidence: ::core::option::Option<::tendermint_proto::types::EvidenceList>, + #[prost(message, optional, tag = "4")] + pub last_commit: ::core::option::Option<::tendermint_proto::types::Commit>, +} +impl ::prost::Name for Block { + const NAME: &'static str = "Block"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// Header defines the structure of a Tendermint block header. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Header { + /// basic block info + #[prost(message, optional, tag = "1")] + pub version: ::core::option::Option<::tendermint_proto::version::Consensus>, + #[prost(string, tag = "2")] + pub chain_id: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + pub height: i64, + #[prost(message, optional, tag = "4")] + pub time: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, + /// prev block info + #[prost(message, optional, tag = "5")] + pub last_block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, + /// hashes of block data + /// + /// commit from validators from the last block + #[prost(bytes = "vec", tag = "6")] + pub last_commit_hash: ::prost::alloc::vec::Vec, + /// transactions + #[prost(bytes = "vec", tag = "7")] + pub data_hash: ::prost::alloc::vec::Vec, + /// hashes from the app output from the prev block + /// + /// validators for the current block + #[prost(bytes = "vec", tag = "8")] + pub validators_hash: ::prost::alloc::vec::Vec, + /// validators for the next block + #[prost(bytes = "vec", tag = "9")] + pub next_validators_hash: ::prost::alloc::vec::Vec, + /// consensus params for current block + #[prost(bytes = "vec", tag = "10")] + pub consensus_hash: ::prost::alloc::vec::Vec, + /// state after txs from the previous block + #[prost(bytes = "vec", tag = "11")] + pub app_hash: ::prost::alloc::vec::Vec, + /// root hash of all results from the txs from the previous block + #[prost(bytes = "vec", tag = "12")] + pub last_results_hash: ::prost::alloc::vec::Vec, + /// consensus info + /// + /// evidence included in the block + #[prost(bytes = "vec", tag = "13")] + pub evidence_hash: ::prost::alloc::vec::Vec, + /// proposer_address is the original block proposer address, formatted as a Bech32 string. + /// In Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string + /// for better UX. + /// + /// original proposer of the block + #[prost(string, tag = "14")] + pub proposer_address: ::prost::alloc::string::String, +} +impl ::prost::Name for Header { + const NAME: &'static str = "Header"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetValidatorSetByHeightRequest is the request type for the Query/GetValidatorSetByHeight RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetValidatorSetByHeightRequest { + #[prost(int64, tag = "1")] + pub height: i64, + /// pagination defines an pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, +} +impl ::prost::Name for GetValidatorSetByHeightRequest { + const NAME: &'static str = "GetValidatorSetByHeightRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetValidatorSetByHeightResponse is the response type for the Query/GetValidatorSetByHeight RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetValidatorSetByHeightResponse { + #[prost(int64, tag = "1")] + pub block_height: i64, + #[prost(message, repeated, tag = "2")] + pub validators: ::prost::alloc::vec::Vec, + /// pagination defines an pagination for the response. + #[prost(message, optional, tag = "3")] + pub pagination: ::core::option::Option, +} +impl ::prost::Name for GetValidatorSetByHeightResponse { + const NAME: &'static str = "GetValidatorSetByHeightResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetLatestValidatorSetRequest is the request type for the Query/GetValidatorSetByHeight RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetLatestValidatorSetRequest { + /// pagination defines an pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option, +} +impl ::prost::Name for GetLatestValidatorSetRequest { + const NAME: &'static str = "GetLatestValidatorSetRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetLatestValidatorSetResponse is the response type for the Query/GetValidatorSetByHeight RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetLatestValidatorSetResponse { + #[prost(int64, tag = "1")] + pub block_height: i64, + #[prost(message, repeated, tag = "2")] + pub validators: ::prost::alloc::vec::Vec, + /// pagination defines an pagination for the response. + #[prost(message, optional, tag = "3")] + pub pagination: ::core::option::Option, +} +impl ::prost::Name for GetLatestValidatorSetResponse { + const NAME: &'static str = "GetLatestValidatorSetResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// Validator is the type for the validator-set. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Validator { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub pub_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + #[prost(int64, tag = "3")] + pub voting_power: i64, + #[prost(int64, tag = "4")] + pub proposer_priority: i64, +} +impl ::prost::Name for Validator { + const NAME: &'static str = "Validator"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBlockByHeightRequest { + #[prost(int64, tag = "1")] + pub height: i64, +} +impl ::prost::Name for GetBlockByHeightRequest { + const NAME: &'static str = "GetBlockByHeightRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetBlockByHeightResponse is the response type for the Query/GetBlockByHeight RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBlockByHeightResponse { + #[prost(message, optional, tag = "1")] + pub block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, + /// Deprecated: please use `sdk_block` instead + #[prost(message, optional, tag = "2")] + pub block: ::core::option::Option<::tendermint_proto::types::Block>, + /// Since: cosmos-sdk 0.47 + #[prost(message, optional, tag = "3")] + pub sdk_block: ::core::option::Option, +} +impl ::prost::Name for GetBlockByHeightResponse { + const NAME: &'static str = "GetBlockByHeightResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetLatestBlockRequest is the request type for the Query/GetLatestBlock RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetLatestBlockRequest {} +impl ::prost::Name for GetLatestBlockRequest { + const NAME: &'static str = "GetLatestBlockRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetLatestBlockResponse is the response type for the Query/GetLatestBlock RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetLatestBlockResponse { + #[prost(message, optional, tag = "1")] + pub block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, + /// Deprecated: please use `sdk_block` instead + #[prost(message, optional, tag = "2")] + pub block: ::core::option::Option<::tendermint_proto::types::Block>, + /// Since: cosmos-sdk 0.47 + #[prost(message, optional, tag = "3")] + pub sdk_block: ::core::option::Option, +} +impl ::prost::Name for GetLatestBlockResponse { + const NAME: &'static str = "GetLatestBlockResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetSyncingRequest is the request type for the Query/GetSyncing RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetSyncingRequest {} +impl ::prost::Name for GetSyncingRequest { + const NAME: &'static str = "GetSyncingRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetSyncingResponse is the response type for the Query/GetSyncing RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetSyncingResponse { + #[prost(bool, tag = "1")] + pub syncing: bool, +} +impl ::prost::Name for GetSyncingResponse { + const NAME: &'static str = "GetSyncingResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetNodeInfoRequest is the request type for the Query/GetNodeInfo RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetNodeInfoRequest {} +impl ::prost::Name for GetNodeInfoRequest { + const NAME: &'static str = "GetNodeInfoRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// GetNodeInfoResponse is the response type for the Query/GetNodeInfo RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetNodeInfoResponse { + #[prost(message, optional, tag = "1")] + pub default_node_info: ::core::option::Option< + ::tendermint_proto::p2p::DefaultNodeInfo, + >, + #[prost(message, optional, tag = "2")] + pub application_version: ::core::option::Option, +} +impl ::prost::Name for GetNodeInfoResponse { + const NAME: &'static str = "GetNodeInfoResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// VersionInfo is the type for the GetNodeInfoResponse message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VersionInfo { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub app_name: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub version: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub git_commit: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub build_tags: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub go_version: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "7")] + pub build_deps: ::prost::alloc::vec::Vec, + /// Since: cosmos-sdk 0.43 + #[prost(string, tag = "8")] + pub cosmos_sdk_version: ::prost::alloc::string::String, +} +impl ::prost::Name for VersionInfo { + const NAME: &'static str = "VersionInfo"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// Module is the type for VersionInfo +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Module { + /// module path + #[prost(string, tag = "1")] + pub path: ::prost::alloc::string::String, + /// module version + #[prost(string, tag = "2")] + pub version: ::prost::alloc::string::String, + /// checksum + #[prost(string, tag = "3")] + pub sum: ::prost::alloc::string::String, +} +impl ::prost::Name for Module { + const NAME: &'static str = "Module"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// ABCIQueryRequest defines the request structure for the ABCIQuery gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbciQueryRequest { + #[prost(bytes = "vec", tag = "1")] + pub data: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub path: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + pub height: i64, + #[prost(bool, tag = "4")] + pub prove: bool, +} +impl ::prost::Name for AbciQueryRequest { + const NAME: &'static str = "ABCIQueryRequest"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query. +/// +/// Note: This type is a duplicate of the ResponseQuery proto type defined in +/// Tendermint. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AbciQueryResponse { + #[prost(uint32, tag = "1")] + pub code: u32, + /// nondeterministic + #[prost(string, tag = "3")] + pub log: ::prost::alloc::string::String, + /// nondeterministic + #[prost(string, tag = "4")] + pub info: ::prost::alloc::string::String, + #[prost(int64, tag = "5")] + pub index: i64, + #[prost(bytes = "vec", tag = "6")] + pub key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "7")] + pub value: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub proof_ops: ::core::option::Option, + #[prost(int64, tag = "9")] + pub height: i64, + #[prost(string, tag = "10")] + pub codespace: ::prost::alloc::string::String, +} +impl ::prost::Name for AbciQueryResponse { + const NAME: &'static str = "ABCIQueryResponse"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// ProofOp defines an operation used for calculating Merkle root. The data could +/// be arbitrary format, providing necessary data for example neighbouring node +/// hash. +/// +/// Note: This type is a duplicate of the ProofOp proto type defined in Tendermint. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ProofOp { + #[prost(string, tag = "1")] + pub r#type: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "2")] + pub key: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub data: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ProofOp { + const NAME: &'static str = "ProofOp"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// ProofOps is Merkle proof defined by the list of ProofOps. +/// +/// Note: This type is a duplicate of the ProofOps proto type defined in Tendermint. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ProofOps { + #[prost(message, repeated, tag = "1")] + pub ops: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ProofOps { + const NAME: &'static str = "ProofOps"; + const PACKAGE: &'static str = "cosmos.base.tendermint.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.tendermint.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Service defines the gRPC querier service for tendermint queries. + #[derive(Debug, Clone)] + pub struct ServiceClient { + inner: tonic::client::Grpc, + } + impl ServiceClient { + /// 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 ServiceClient + 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, + ) -> ServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + ServiceClient::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 + } + /// GetNodeInfo queries the current node info. + pub async fn get_node_info( + &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.base.tendermint.v1beta1.Service/GetNodeInfo", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "GetNodeInfo", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetSyncing queries node syncing. + pub async fn get_syncing( + &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.base.tendermint.v1beta1.Service/GetSyncing", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "GetSyncing", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetLatestBlock returns the latest block. + pub async fn get_latest_block( + &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.base.tendermint.v1beta1.Service/GetLatestBlock", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "GetLatestBlock", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetBlockByHeight queries block for given height. + pub async fn get_block_by_height( + &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.base.tendermint.v1beta1.Service/GetBlockByHeight", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "GetBlockByHeight", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetLatestValidatorSet queries latest validator-set. + pub async fn get_latest_validator_set( + &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.base.tendermint.v1beta1.Service/GetLatestValidatorSet", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "GetLatestValidatorSet", + ), + ); + self.inner.unary(req, path, codec).await + } + /// GetValidatorSetByHeight queries validator-set at a given height. + pub async fn get_validator_set_by_height( + &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.base.tendermint.v1beta1.Service/GetValidatorSetByHeight", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "GetValidatorSetByHeight", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ABCIQuery defines a query handler that supports ABCI queries directly to the + /// application, bypassing Tendermint completely. The ABCI query must contain + /// a valid and supported path, including app, custom, p2p, and store. + /// + /// Since: cosmos-sdk 0.46 + pub async fn abci_query( + &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.base.tendermint.v1beta1.Service/ABCIQuery", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.base.tendermint.v1beta1.Service", + "ABCIQuery", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with ServiceServer. + #[async_trait] + pub trait Service: Send + Sync + 'static { + /// GetNodeInfo queries the current node info. + async fn get_node_info( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetSyncing queries node syncing. + async fn get_syncing( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetLatestBlock returns the latest block. + async fn get_latest_block( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetBlockByHeight queries block for given height. + async fn get_block_by_height( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetLatestValidatorSet queries latest validator-set. + async fn get_latest_validator_set( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetValidatorSetByHeight queries validator-set at a given height. + async fn get_validator_set_by_height( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ABCIQuery defines a query handler that supports ABCI queries directly to the + /// application, bypassing Tendermint completely. The ABCI query must contain + /// a valid and supported path, including app, custom, p2p, and store. + /// + /// Since: cosmos-sdk 0.46 + async fn abci_query( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Service defines the gRPC querier service for tendermint queries. + #[derive(Debug)] + pub struct ServiceServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl ServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for ServiceServer + where + T: Service, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.base.tendermint.v1beta1.Service/GetNodeInfo" => { + #[allow(non_camel_case_types)] + struct GetNodeInfoSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetNodeInfoSvc { + type Response = super::GetNodeInfoResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_node_info(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetNodeInfoSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.tendermint.v1beta1.Service/GetSyncing" => { + #[allow(non_camel_case_types)] + struct GetSyncingSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetSyncingSvc { + type Response = super::GetSyncingResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_syncing(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetSyncingSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.tendermint.v1beta1.Service/GetLatestBlock" => { + #[allow(non_camel_case_types)] + struct GetLatestBlockSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetLatestBlockSvc { + type Response = super::GetLatestBlockResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_latest_block(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetLatestBlockSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.tendermint.v1beta1.Service/GetBlockByHeight" => { + #[allow(non_camel_case_types)] + struct GetBlockByHeightSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetBlockByHeightSvc { + type Response = super::GetBlockByHeightResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_block_by_height(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetBlockByHeightSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.tendermint.v1beta1.Service/GetLatestValidatorSet" => { + #[allow(non_camel_case_types)] + struct GetLatestValidatorSetSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetLatestValidatorSetSvc { + type Response = super::GetLatestValidatorSetResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_latest_validator_set(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetLatestValidatorSetSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.tendermint.v1beta1.Service/GetValidatorSetByHeight" => { + #[allow(non_camel_case_types)] + struct GetValidatorSetByHeightSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetValidatorSetByHeightSvc { + type Response = super::GetValidatorSetByHeightResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::GetValidatorSetByHeightRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_validator_set_by_height(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetValidatorSetByHeightSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.base.tendermint.v1beta1.Service/ABCIQuery" => { + #[allow(non_camel_case_types)] + struct ABCIQuerySvc(pub Arc); + impl tonic::server::UnaryService + for ABCIQuerySvc { + type Response = super::AbciQueryResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::abci_query(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ABCIQuerySvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for ServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for ServiceServer { + const NAME: &'static str = "cosmos.base.tendermint.v1beta1.Service"; + } +} diff --git a/src/prost/cosmos.base.v1beta1.rs b/src/prost/cosmos.base.v1beta1.rs new file mode 100644 index 00000000..e3497310 --- /dev/null +++ b/src/prost/cosmos.base.v1beta1.rs @@ -0,0 +1,66 @@ +/// Coin defines a token with a denomination and an amount. +/// +/// NOTE: The amount field is an Int which implements the custom method +/// signatures required by gogoproto. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Coin { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount: ::prost::alloc::string::String, +} +impl ::prost::Name for Coin { + const NAME: &'static str = "Coin"; + const PACKAGE: &'static str = "cosmos.base.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) + } +} +/// DecCoin defines a token with a denomination and a decimal amount. +/// +/// NOTE: The amount field is an Dec which implements the custom method +/// signatures required by gogoproto. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DecCoin { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount: ::prost::alloc::string::String, +} +impl ::prost::Name for DecCoin { + const NAME: &'static str = "DecCoin"; + const PACKAGE: &'static str = "cosmos.base.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) + } +} +/// IntProto defines a Protobuf wrapper around an Int object. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IntProto { + #[prost(string, tag = "1")] + pub int: ::prost::alloc::string::String, +} +impl ::prost::Name for IntProto { + const NAME: &'static str = "IntProto"; + const PACKAGE: &'static str = "cosmos.base.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) + } +} +/// DecProto defines a Protobuf wrapper around a Dec object. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DecProto { + #[prost(string, tag = "1")] + pub dec: ::prost::alloc::string::String, +} +impl ::prost::Name for DecProto { + const NAME: &'static str = "DecProto"; + const PACKAGE: &'static str = "cosmos.base.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.base.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.base.v1beta1.serde.rs b/src/prost/cosmos.base.v1beta1.serde.rs new file mode 100644 index 00000000..ef0b2c67 --- /dev/null +++ b/src/prost/cosmos.base.v1beta1.serde.rs @@ -0,0 +1,398 @@ +impl serde::Serialize for Coin { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.Coin", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Coin { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Coin; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.v1beta1.Coin") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(Coin { + denom: denom__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.v1beta1.Coin", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DecCoin { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.DecCoin", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DecCoin { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DecCoin; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.v1beta1.DecCoin") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(DecCoin { + denom: denom__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.v1beta1.DecCoin", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DecProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.dec.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.DecProto", len)?; + if !self.dec.is_empty() { + struct_ser.serialize_field("dec", &self.dec)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DecProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "dec", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Dec, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "dec" => Ok(GeneratedField::Dec), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DecProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.v1beta1.DecProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut dec__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Dec => { + if dec__.is_some() { + return Err(serde::de::Error::duplicate_field("dec")); + } + dec__ = Some(map_.next_value()?); + } + } + } + Ok(DecProto { + dec: dec__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.v1beta1.DecProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IntProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.int.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.IntProto", len)?; + if !self.int.is_empty() { + struct_ser.serialize_field("int", &self.int)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IntProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "int", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Int, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "int" => Ok(GeneratedField::Int), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IntProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.base.v1beta1.IntProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut int__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Int => { + if int__.is_some() { + return Err(serde::de::Error::duplicate_field("int")); + } + int__ = Some(map_.next_value()?); + } + } + } + Ok(IntProto { + int: int__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.base.v1beta1.IntProto", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.ed25519.rs b/src/prost/cosmos.crypto.ed25519.rs new file mode 100644 index 00000000..4195c048 --- /dev/null +++ b/src/prost/cosmos.crypto.ed25519.rs @@ -0,0 +1,33 @@ +/// PubKey is an ed25519 public key for handling Tendermint keys in SDK. +/// It's needed for Any serialization and SDK compatibility. +/// It must not be used in a non Tendermint key context because it doesn't implement +/// ADR-28. Nevertheless, you will like to use ed25519 in app user level +/// then you must create a new proto message and follow ADR-28 for Address construction. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PubKey { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PubKey { + const NAME: &'static str = "PubKey"; + const PACKAGE: &'static str = "cosmos.crypto.ed25519"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.ed25519.{}", Self::NAME) + } +} +/// Deprecated: PrivKey defines a ed25519 private key. +/// NOTE: ed25519 keys must not be used in SDK apps except in a tendermint validator context. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PrivKey { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PrivKey { + const NAME: &'static str = "PrivKey"; + const PACKAGE: &'static str = "cosmos.crypto.ed25519"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.ed25519.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.ed25519.serde.rs b/src/prost/cosmos.crypto.ed25519.serde.rs new file mode 100644 index 00000000..342f3f6e --- /dev/null +++ b/src/prost/cosmos.crypto.ed25519.serde.rs @@ -0,0 +1,188 @@ +impl serde::Serialize for PrivKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.ed25519.PrivKey", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PrivKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PrivKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.ed25519.PrivKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PrivKey { + key: key__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.ed25519.PrivKey", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PubKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.ed25519.PubKey", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PubKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PubKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.ed25519.PubKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PubKey { + key: key__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.ed25519.PubKey", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.hd.v1.rs b/src/prost/cosmos.crypto.hd.v1.rs new file mode 100644 index 00000000..0561b040 --- /dev/null +++ b/src/prost/cosmos.crypto.hd.v1.rs @@ -0,0 +1,28 @@ +/// BIP44Params is used as path field in ledger item in Record. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Bip44Params { + /// purpose is a constant set to 44' (or 0x8000002C) following the BIP43 recommendation + #[prost(uint32, tag = "1")] + pub purpose: u32, + /// coin_type is a constant that improves privacy + #[prost(uint32, tag = "2")] + pub coin_type: u32, + /// account splits the key space into independent user identities + #[prost(uint32, tag = "3")] + pub account: u32, + /// change is a constant used for public derivation. Constant 0 is used for external chain and constant 1 for internal + /// chain. + #[prost(bool, tag = "4")] + pub change: bool, + /// address_index is used as child index in BIP32 derivation + #[prost(uint32, tag = "5")] + pub address_index: u32, +} +impl ::prost::Name for Bip44Params { + const NAME: &'static str = "BIP44Params"; + const PACKAGE: &'static str = "cosmos.crypto.hd.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.hd.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.hd.v1.serde.rs b/src/prost/cosmos.crypto.hd.v1.serde.rs new file mode 100644 index 00000000..686379c0 --- /dev/null +++ b/src/prost/cosmos.crypto.hd.v1.serde.rs @@ -0,0 +1,169 @@ +impl serde::Serialize for Bip44Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.purpose != 0 { + len += 1; + } + if self.coin_type != 0 { + len += 1; + } + if self.account != 0 { + len += 1; + } + if self.change { + len += 1; + } + if self.address_index != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.hd.v1.BIP44Params", len)?; + if self.purpose != 0 { + struct_ser.serialize_field("purpose", &self.purpose)?; + } + if self.coin_type != 0 { + struct_ser.serialize_field("coinType", &self.coin_type)?; + } + if self.account != 0 { + struct_ser.serialize_field("account", &self.account)?; + } + if self.change { + struct_ser.serialize_field("change", &self.change)?; + } + if self.address_index != 0 { + struct_ser.serialize_field("addressIndex", &self.address_index)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Bip44Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "purpose", + "coin_type", + "coinType", + "account", + "change", + "address_index", + "addressIndex", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Purpose, + CoinType, + Account, + Change, + AddressIndex, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "purpose" => Ok(GeneratedField::Purpose), + "coinType" | "coin_type" => Ok(GeneratedField::CoinType), + "account" => Ok(GeneratedField::Account), + "change" => Ok(GeneratedField::Change), + "addressIndex" | "address_index" => Ok(GeneratedField::AddressIndex), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Bip44Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.hd.v1.BIP44Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut purpose__ = None; + let mut coin_type__ = None; + let mut account__ = None; + let mut change__ = None; + let mut address_index__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Purpose => { + if purpose__.is_some() { + return Err(serde::de::Error::duplicate_field("purpose")); + } + purpose__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::CoinType => { + if coin_type__.is_some() { + return Err(serde::de::Error::duplicate_field("coinType")); + } + coin_type__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Account => { + if account__.is_some() { + return Err(serde::de::Error::duplicate_field("account")); + } + account__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Change => { + if change__.is_some() { + return Err(serde::de::Error::duplicate_field("change")); + } + change__ = Some(map_.next_value()?); + } + GeneratedField::AddressIndex => { + if address_index__.is_some() { + return Err(serde::de::Error::duplicate_field("addressIndex")); + } + address_index__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Bip44Params { + purpose: purpose__.unwrap_or_default(), + coin_type: coin_type__.unwrap_or_default(), + account: account__.unwrap_or_default(), + change: change__.unwrap_or_default(), + address_index: address_index__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.hd.v1.BIP44Params", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.keyring.v1.rs b/src/prost/cosmos.crypto.keyring.v1.rs new file mode 100644 index 00000000..1990225d --- /dev/null +++ b/src/prost/cosmos.crypto.keyring.v1.rs @@ -0,0 +1,96 @@ +/// Record is used for representing a key in the keyring. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Record { + /// name represents a name of Record + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// pub_key represents a public key in any format + #[prost(message, optional, tag = "2")] + pub pub_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + /// Record contains one of the following items + #[prost(oneof = "record::Item", tags = "3, 4, 5, 6")] + pub item: ::core::option::Option, +} +/// Nested message and enum types in `Record`. +pub mod record { + /// Item is a keyring item stored in a keyring backend. + /// Local item + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Local { + #[prost(message, optional, tag = "1")] + pub priv_key: ::core::option::Option< + super::super::super::super::super::google::protobuf::Any, + >, + } + impl ::prost::Name for Local { + const NAME: &'static str = "Local"; + const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) + } + } + /// Ledger item + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Ledger { + #[prost(message, optional, tag = "1")] + pub path: ::core::option::Option, + } + impl ::prost::Name for Ledger { + const NAME: &'static str = "Ledger"; + const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) + } + } + /// Multi item + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Multi {} + impl ::prost::Name for Multi { + const NAME: &'static str = "Multi"; + const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) + } + } + /// Offline item + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Offline {} + impl ::prost::Name for Offline { + const NAME: &'static str = "Offline"; + const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.keyring.v1.Record.{}", Self::NAME) + } + } + /// Record contains one of the following items + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Item { + /// local stores the private key locally. + #[prost(message, tag = "3")] + Local(Local), + /// ledger stores the information about a Ledger key. + #[prost(message, tag = "4")] + Ledger(Ledger), + /// Multi does not store any other information. + #[prost(message, tag = "5")] + Multi(Multi), + /// Offline does not store any other information. + #[prost(message, tag = "6")] + Offline(Offline), + } +} +impl ::prost::Name for Record { + const NAME: &'static str = "Record"; + const PACKAGE: &'static str = "cosmos.crypto.keyring.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.keyring.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.keyring.v1.serde.rs b/src/prost/cosmos.crypto.keyring.v1.serde.rs new file mode 100644 index 00000000..3ea6bbed --- /dev/null +++ b/src/prost/cosmos.crypto.keyring.v1.serde.rs @@ -0,0 +1,495 @@ +impl serde::Serialize for Record { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.pub_key.is_some() { + len += 1; + } + if self.item.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if let Some(v) = self.pub_key.as_ref() { + struct_ser.serialize_field("pubKey", v)?; + } + if let Some(v) = self.item.as_ref() { + match v { + record::Item::Local(v) => { + struct_ser.serialize_field("local", v)?; + } + record::Item::Ledger(v) => { + struct_ser.serialize_field("ledger", v)?; + } + record::Item::Multi(v) => { + struct_ser.serialize_field("multi", v)?; + } + record::Item::Offline(v) => { + struct_ser.serialize_field("offline", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Record { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "pub_key", + "pubKey", + "local", + "ledger", + "multi", + "offline", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + PubKey, + Local, + Ledger, + Multi, + Offline, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "pubKey" | "pub_key" => Ok(GeneratedField::PubKey), + "local" => Ok(GeneratedField::Local), + "ledger" => Ok(GeneratedField::Ledger), + "multi" => Ok(GeneratedField::Multi), + "offline" => Ok(GeneratedField::Offline), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Record; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.keyring.v1.Record") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut pub_key__ = None; + let mut item__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::PubKey => { + if pub_key__.is_some() { + return Err(serde::de::Error::duplicate_field("pubKey")); + } + pub_key__ = map_.next_value()?; + } + GeneratedField::Local => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("local")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Local) +; + } + GeneratedField::Ledger => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("ledger")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Ledger) +; + } + GeneratedField::Multi => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("multi")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Multi) +; + } + GeneratedField::Offline => { + if item__.is_some() { + return Err(serde::de::Error::duplicate_field("offline")); + } + item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Offline) +; + } + } + } + Ok(Record { + name: name__.unwrap_or_default(), + pub_key: pub_key__, + item: item__, + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.keyring.v1.Record", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for record::Ledger { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.path.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record.Ledger", len)?; + if let Some(v) = self.path.as_ref() { + struct_ser.serialize_field("path", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for record::Ledger { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = record::Ledger; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Ledger") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = map_.next_value()?; + } + } + } + Ok(record::Ledger { + path: path__, + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.keyring.v1.Record.Ledger", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for record::Local { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.priv_key.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record.Local", len)?; + if let Some(v) = self.priv_key.as_ref() { + struct_ser.serialize_field("privKey", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for record::Local { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "priv_key", + "privKey", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PrivKey, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "privKey" | "priv_key" => Ok(GeneratedField::PrivKey), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = record::Local; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Local") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut priv_key__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PrivKey => { + if priv_key__.is_some() { + return Err(serde::de::Error::duplicate_field("privKey")); + } + priv_key__ = map_.next_value()?; + } + } + } + Ok(record::Local { + priv_key: priv_key__, + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.keyring.v1.Record.Local", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for record::Multi { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record.Multi", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for record::Multi { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = record::Multi; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Multi") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(record::Multi { + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.keyring.v1.Record.Multi", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for record::Offline { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record.Offline", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for record::Offline { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = record::Offline; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Offline") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(record::Offline { + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.keyring.v1.Record.Offline", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.multisig.rs b/src/prost/cosmos.crypto.multisig.rs new file mode 100644 index 00000000..6455fb3d --- /dev/null +++ b/src/prost/cosmos.crypto.multisig.rs @@ -0,0 +1,20 @@ +/// LegacyAminoPubKey specifies a public key type +/// which nests multiple public keys and a threshold, +/// it uses legacy amino address rules. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LegacyAminoPubKey { + #[prost(uint32, tag = "1")] + pub threshold: u32, + #[prost(message, repeated, tag = "2")] + pub public_keys: ::prost::alloc::vec::Vec< + super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for LegacyAminoPubKey { + const NAME: &'static str = "LegacyAminoPubKey"; + const PACKAGE: &'static str = "cosmos.crypto.multisig"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.multisig.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.multisig.serde.rs b/src/prost/cosmos.crypto.multisig.serde.rs new file mode 100644 index 00000000..0f5613fc --- /dev/null +++ b/src/prost/cosmos.crypto.multisig.serde.rs @@ -0,0 +1,111 @@ +impl serde::Serialize for LegacyAminoPubKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.threshold != 0 { + len += 1; + } + if !self.public_keys.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.LegacyAminoPubKey", len)?; + if self.threshold != 0 { + struct_ser.serialize_field("threshold", &self.threshold)?; + } + if !self.public_keys.is_empty() { + struct_ser.serialize_field("publicKeys", &self.public_keys)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for LegacyAminoPubKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "threshold", + "public_keys", + "publicKeys", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Threshold, + PublicKeys, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "threshold" => Ok(GeneratedField::Threshold), + "publicKeys" | "public_keys" => Ok(GeneratedField::PublicKeys), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = LegacyAminoPubKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.multisig.LegacyAminoPubKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut threshold__ = None; + let mut public_keys__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Threshold => { + if threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("threshold")); + } + threshold__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::PublicKeys => { + if public_keys__.is_some() { + return Err(serde::de::Error::duplicate_field("publicKeys")); + } + public_keys__ = Some(map_.next_value()?); + } + } + } + Ok(LegacyAminoPubKey { + threshold: threshold__.unwrap_or_default(), + public_keys: public_keys__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.multisig.LegacyAminoPubKey", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.multisig.v1beta1.rs b/src/prost/cosmos.crypto.multisig.v1beta1.rs new file mode 100644 index 00000000..1d784f69 --- /dev/null +++ b/src/prost/cosmos.crypto.multisig.v1beta1.rs @@ -0,0 +1,35 @@ +/// MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. +/// See cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers +/// signed and with which modes. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MultiSignature { + #[prost(bytes = "vec", repeated, tag = "1")] + pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for MultiSignature { + const NAME: &'static str = "MultiSignature"; + const PACKAGE: &'static str = "cosmos.crypto.multisig.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.multisig.v1beta1.{}", Self::NAME) + } +} +/// CompactBitArray is an implementation of a space efficient bit array. +/// This is used to ensure that the encoded data takes up a minimal amount of +/// space after proto encoding. +/// This is not thread safe, and is not intended for concurrent usage. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CompactBitArray { + #[prost(uint32, tag = "1")] + pub extra_bits_stored: u32, + #[prost(bytes = "vec", tag = "2")] + pub elems: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for CompactBitArray { + const NAME: &'static str = "CompactBitArray"; + const PACKAGE: &'static str = "cosmos.crypto.multisig.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.multisig.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs b/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs new file mode 100644 index 00000000..5021a9d5 --- /dev/null +++ b/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs @@ -0,0 +1,208 @@ +impl serde::Serialize for CompactBitArray { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.extra_bits_stored != 0 { + len += 1; + } + if !self.elems.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.v1beta1.CompactBitArray", len)?; + if self.extra_bits_stored != 0 { + struct_ser.serialize_field("extraBitsStored", &self.extra_bits_stored)?; + } + if !self.elems.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("elems", pbjson::private::base64::encode(&self.elems).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CompactBitArray { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "extra_bits_stored", + "extraBitsStored", + "elems", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ExtraBitsStored, + Elems, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "extraBitsStored" | "extra_bits_stored" => Ok(GeneratedField::ExtraBitsStored), + "elems" => Ok(GeneratedField::Elems), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CompactBitArray; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.multisig.v1beta1.CompactBitArray") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut extra_bits_stored__ = None; + let mut elems__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ExtraBitsStored => { + if extra_bits_stored__.is_some() { + return Err(serde::de::Error::duplicate_field("extraBitsStored")); + } + extra_bits_stored__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Elems => { + if elems__.is_some() { + return Err(serde::de::Error::duplicate_field("elems")); + } + elems__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(CompactBitArray { + extra_bits_stored: extra_bits_stored__.unwrap_or_default(), + elems: elems__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.multisig.v1beta1.CompactBitArray", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MultiSignature { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signatures.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.v1beta1.MultiSignature", len)?; + if !self.signatures.is_empty() { + struct_ser.serialize_field("signatures", &self.signatures.iter().map(pbjson::private::base64::encode).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MultiSignature { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signatures", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signatures, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signatures" => Ok(GeneratedField::Signatures), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MultiSignature; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.multisig.v1beta1.MultiSignature") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signatures__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signatures => { + if signatures__.is_some() { + return Err(serde::de::Error::duplicate_field("signatures")); + } + signatures__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(MultiSignature { + signatures: signatures__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.multisig.v1beta1.MultiSignature", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.secp256k1.rs b/src/prost/cosmos.crypto.secp256k1.rs new file mode 100644 index 00000000..cafdb65e --- /dev/null +++ b/src/prost/cosmos.crypto.secp256k1.rs @@ -0,0 +1,32 @@ +/// PubKey defines a secp256k1 public key +/// Key is the compressed form of the pubkey. The first byte depends is a 0x02 byte +/// if the y-coordinate is the lexicographically largest of the two associated with +/// the x-coordinate. Otherwise the first byte is a 0x03. +/// This prefix is followed with the x-coordinate. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PubKey { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PubKey { + const NAME: &'static str = "PubKey"; + const PACKAGE: &'static str = "cosmos.crypto.secp256k1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.secp256k1.{}", Self::NAME) + } +} +/// PrivKey defines a secp256k1 private key. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PrivKey { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PrivKey { + const NAME: &'static str = "PrivKey"; + const PACKAGE: &'static str = "cosmos.crypto.secp256k1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.secp256k1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.secp256k1.serde.rs b/src/prost/cosmos.crypto.secp256k1.serde.rs new file mode 100644 index 00000000..d7cd2ac1 --- /dev/null +++ b/src/prost/cosmos.crypto.secp256k1.serde.rs @@ -0,0 +1,188 @@ +impl serde::Serialize for PrivKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256k1.PrivKey", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PrivKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PrivKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.secp256k1.PrivKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PrivKey { + key: key__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.secp256k1.PrivKey", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PubKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256k1.PubKey", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PubKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PubKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.secp256k1.PubKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PubKey { + key: key__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.secp256k1.PubKey", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.crypto.secp256r1.rs b/src/prost/cosmos.crypto.secp256r1.rs new file mode 100644 index 00000000..067eef4b --- /dev/null +++ b/src/prost/cosmos.crypto.secp256r1.rs @@ -0,0 +1,31 @@ +/// PubKey defines a secp256r1 ECDSA public key. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PubKey { + /// Point on secp256r1 curve in a compressed representation as specified in section + /// 4.3.6 of ANSI X9.62: + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PubKey { + const NAME: &'static str = "PubKey"; + const PACKAGE: &'static str = "cosmos.crypto.secp256r1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.secp256r1.{}", Self::NAME) + } +} +/// PrivKey defines a secp256r1 ECDSA private key. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PrivKey { + /// secret number serialized using big-endian encoding + #[prost(bytes = "vec", tag = "1")] + pub secret: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PrivKey { + const NAME: &'static str = "PrivKey"; + const PACKAGE: &'static str = "cosmos.crypto.secp256r1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.crypto.secp256r1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.crypto.secp256r1.serde.rs b/src/prost/cosmos.crypto.secp256r1.serde.rs new file mode 100644 index 00000000..6695d9af --- /dev/null +++ b/src/prost/cosmos.crypto.secp256r1.serde.rs @@ -0,0 +1,188 @@ +impl serde::Serialize for PrivKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.secret.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256r1.PrivKey", len)?; + if !self.secret.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("secret", pbjson::private::base64::encode(&self.secret).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PrivKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "secret", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Secret, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "secret" => Ok(GeneratedField::Secret), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PrivKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.secp256r1.PrivKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut secret__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Secret => { + if secret__.is_some() { + return Err(serde::de::Error::duplicate_field("secret")); + } + secret__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PrivKey { + secret: secret__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.secp256r1.PrivKey", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PubKey { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256r1.PubKey", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PubKey { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PubKey; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.crypto.secp256r1.PubKey") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PubKey { + key: key__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.crypto.secp256r1.PubKey", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.gov.module.v1.rs b/src/prost/cosmos.gov.module.v1.rs new file mode 100644 index 00000000..9a066d49 --- /dev/null +++ b/src/prost/cosmos.gov.module.v1.rs @@ -0,0 +1,19 @@ +/// Module is the config object of the gov module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Module { + /// max_metadata_len defines the maximum proposal metadata length. + /// Defaults to 255 if not explicitly set. + #[prost(uint64, tag = "1")] + pub max_metadata_len: u64, + /// authority defines the custom module authority. If not set, defaults to the governance module. + #[prost(string, tag = "2")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for Module { + const NAME: &'static str = "Module"; + const PACKAGE: &'static str = "cosmos.gov.module.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.module.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.gov.module.v1.serde.rs b/src/prost/cosmos.gov.module.v1.serde.rs new file mode 100644 index 00000000..553ad411 --- /dev/null +++ b/src/prost/cosmos.gov.module.v1.serde.rs @@ -0,0 +1,112 @@ +impl serde::Serialize for Module { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.max_metadata_len != 0 { + len += 1; + } + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.module.v1.Module", len)?; + if self.max_metadata_len != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("maxMetadataLen", ToString::to_string(&self.max_metadata_len).as_str())?; + } + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Module { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "max_metadata_len", + "maxMetadataLen", + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MaxMetadataLen, + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "maxMetadataLen" | "max_metadata_len" => Ok(GeneratedField::MaxMetadataLen), + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Module; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.module.v1.Module") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut max_metadata_len__ = None; + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MaxMetadataLen => { + if max_metadata_len__.is_some() { + return Err(serde::de::Error::duplicate_field("maxMetadataLen")); + } + max_metadata_len__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(Module { + max_metadata_len: max_metadata_len__.unwrap_or_default(), + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.module.v1.Module", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.gov.v1.rs b/src/prost/cosmos.gov.v1.rs new file mode 100644 index 00000000..feb0a17d --- /dev/null +++ b/src/prost/cosmos.gov.v1.rs @@ -0,0 +1,2459 @@ +/// WeightedVoteOption defines a unit of vote for vote split. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WeightedVoteOption { + /// option defines the valid vote options, it must not contain duplicate vote options. + #[prost(enumeration = "VoteOption", tag = "1")] + pub option: i32, + /// weight is the vote weight associated with the vote option. + #[prost(string, tag = "2")] + pub weight: ::prost::alloc::string::String, +} +impl ::prost::Name for WeightedVoteOption { + const NAME: &'static str = "WeightedVoteOption"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// Deposit defines an amount deposited by an account address to an active +/// proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deposit { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "2")] + pub depositor: ::prost::alloc::string::String, + /// amount to be deposited by depositor. + #[prost(message, repeated, tag = "3")] + pub amount: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Deposit { + const NAME: &'static str = "Deposit"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// Proposal defines the core field members of a governance proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Proposal { + /// id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub id: u64, + /// messages are the arbitrary messages to be executed if the proposal passes. + #[prost(message, repeated, tag = "2")] + pub messages: ::prost::alloc::vec::Vec, + /// status defines the proposal status. + #[prost(enumeration = "ProposalStatus", tag = "3")] + pub status: i32, + /// final_tally_result is the final tally result of the proposal. When + /// querying a proposal via gRPC, this field is not populated until the + /// proposal's voting period has ended. + #[prost(message, optional, tag = "4")] + pub final_tally_result: ::core::option::Option, + /// submit_time is the time of proposal submission. + #[prost(message, optional, tag = "5")] + pub submit_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// deposit_end_time is the end time for deposition. + #[prost(message, optional, tag = "6")] + pub deposit_end_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// total_deposit is the total deposit on the proposal. + #[prost(message, repeated, tag = "7")] + pub total_deposit: ::prost::alloc::vec::Vec, + /// voting_start_time is the starting time to vote on a proposal. + #[prost(message, optional, tag = "8")] + pub voting_start_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// voting_end_time is the end time of voting on a proposal. + #[prost(message, optional, tag = "9")] + pub voting_end_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// metadata is any arbitrary metadata attached to the proposal. + #[prost(string, tag = "10")] + pub metadata: ::prost::alloc::string::String, + /// title is the title of the proposal + /// + /// Since: cosmos-sdk 0.47 + #[prost(string, tag = "11")] + pub title: ::prost::alloc::string::String, + /// summary is a short summary of the proposal + /// + /// Since: cosmos-sdk 0.47 + #[prost(string, tag = "12")] + pub summary: ::prost::alloc::string::String, + /// Proposer is the address of the proposal sumbitter + /// + /// Since: cosmos-sdk 0.47 + #[prost(string, tag = "13")] + pub proposer: ::prost::alloc::string::String, +} +impl ::prost::Name for Proposal { + const NAME: &'static str = "Proposal"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// TallyResult defines a standard tally for a governance proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TallyResult { + /// yes_count is the number of yes votes on a proposal. + #[prost(string, tag = "1")] + pub yes_count: ::prost::alloc::string::String, + /// abstain_count is the number of abstain votes on a proposal. + #[prost(string, tag = "2")] + pub abstain_count: ::prost::alloc::string::String, + /// no_count is the number of no votes on a proposal. + #[prost(string, tag = "3")] + pub no_count: ::prost::alloc::string::String, + /// no_with_veto_count is the number of no with veto votes on a proposal. + #[prost(string, tag = "4")] + pub no_with_veto_count: ::prost::alloc::string::String, +} +impl ::prost::Name for TallyResult { + const NAME: &'static str = "TallyResult"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// Vote defines a vote on a governance proposal. +/// A Vote consists of a proposal ID, the voter, and the vote option. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Vote { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter is the voter address of the proposal. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// options is the weighted vote options. + #[prost(message, repeated, tag = "4")] + pub options: ::prost::alloc::vec::Vec, + /// metadata is any arbitrary metadata to attached to the vote. + #[prost(string, tag = "5")] + pub metadata: ::prost::alloc::string::String, +} +impl ::prost::Name for Vote { + const NAME: &'static str = "Vote"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// DepositParams defines the params for deposits on governance proposals. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DepositParams { + /// Minimum deposit for a proposal to enter voting period. + #[prost(message, repeated, tag = "1")] + pub min_deposit: ::prost::alloc::vec::Vec, + /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + /// months. + #[prost(message, optional, tag = "2")] + pub max_deposit_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, +} +impl ::prost::Name for DepositParams { + const NAME: &'static str = "DepositParams"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// VotingParams defines the params for voting on governance proposals. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VotingParams { + /// Duration of the voting period. + #[prost(message, optional, tag = "1")] + pub voting_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, +} +impl ::prost::Name for VotingParams { + const NAME: &'static str = "VotingParams"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// TallyParams defines the params for tallying votes on governance proposals. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TallyParams { + /// Minimum percentage of total stake needed to vote for a result to be + /// considered valid. + #[prost(string, tag = "1")] + pub quorum: ::prost::alloc::string::String, + /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. + #[prost(string, tag = "2")] + pub threshold: ::prost::alloc::string::String, + /// Minimum value of Veto votes to Total votes ratio for proposal to be + /// vetoed. Default value: 1/3. + #[prost(string, tag = "3")] + pub veto_threshold: ::prost::alloc::string::String, +} +impl ::prost::Name for TallyParams { + const NAME: &'static str = "TallyParams"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// Params defines the parameters for the x/gov module. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// Minimum deposit for a proposal to enter voting period. + #[prost(message, repeated, tag = "1")] + pub min_deposit: ::prost::alloc::vec::Vec, + /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + /// months. + #[prost(message, optional, tag = "2")] + pub max_deposit_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, + /// Duration of the voting period. + #[prost(message, optional, tag = "3")] + pub voting_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, + /// Minimum percentage of total stake needed to vote for a result to be + /// considered valid. + #[prost(string, tag = "4")] + pub quorum: ::prost::alloc::string::String, + /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. + #[prost(string, tag = "5")] + pub threshold: ::prost::alloc::string::String, + /// Minimum value of Veto votes to Total votes ratio for proposal to be + /// vetoed. Default value: 1/3. + #[prost(string, tag = "6")] + pub veto_threshold: ::prost::alloc::string::String, + /// The ratio representing the proportion of the deposit value that must be paid at proposal submission. + #[prost(string, tag = "7")] + pub min_initial_deposit_ratio: ::prost::alloc::string::String, + /// burn deposits if a proposal does not meet quorum + #[prost(bool, tag = "13")] + pub burn_vote_quorum: bool, + /// burn deposits if the proposal does not enter voting period + #[prost(bool, tag = "14")] + pub burn_proposal_deposit_prevote: bool, + /// burn deposits if quorum with vote type no_veto is met + #[prost(bool, tag = "15")] + pub burn_vote_veto: bool, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// VoteOption enumerates the valid vote options for a given governance proposal. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum VoteOption { + /// VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + Unspecified = 0, + /// VOTE_OPTION_YES defines a yes vote option. + Yes = 1, + /// VOTE_OPTION_ABSTAIN defines an abstain vote option. + Abstain = 2, + /// VOTE_OPTION_NO defines a no vote option. + No = 3, + /// VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + NoWithVeto = 4, +} +impl VoteOption { + /// 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 { + VoteOption::Unspecified => "VOTE_OPTION_UNSPECIFIED", + VoteOption::Yes => "VOTE_OPTION_YES", + VoteOption::Abstain => "VOTE_OPTION_ABSTAIN", + VoteOption::No => "VOTE_OPTION_NO", + VoteOption::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "VOTE_OPTION_UNSPECIFIED" => Some(Self::Unspecified), + "VOTE_OPTION_YES" => Some(Self::Yes), + "VOTE_OPTION_ABSTAIN" => Some(Self::Abstain), + "VOTE_OPTION_NO" => Some(Self::No), + "VOTE_OPTION_NO_WITH_VETO" => Some(Self::NoWithVeto), + _ => None, + } + } +} +/// ProposalStatus enumerates the valid statuses of a proposal. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ProposalStatus { + /// PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + Unspecified = 0, + /// PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + /// period. + DepositPeriod = 1, + /// PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + /// period. + VotingPeriod = 2, + /// PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + /// passed. + Passed = 3, + /// PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + /// been rejected. + Rejected = 4, + /// PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + /// failed. + Failed = 5, +} +impl ProposalStatus { + /// 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 { + ProposalStatus::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED", + ProposalStatus::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD", + ProposalStatus::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD", + ProposalStatus::Passed => "PROPOSAL_STATUS_PASSED", + ProposalStatus::Rejected => "PROPOSAL_STATUS_REJECTED", + ProposalStatus::Failed => "PROPOSAL_STATUS_FAILED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PROPOSAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified), + "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Some(Self::DepositPeriod), + "PROPOSAL_STATUS_VOTING_PERIOD" => Some(Self::VotingPeriod), + "PROPOSAL_STATUS_PASSED" => Some(Self::Passed), + "PROPOSAL_STATUS_REJECTED" => Some(Self::Rejected), + "PROPOSAL_STATUS_FAILED" => Some(Self::Failed), + _ => None, + } + } +} +/// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary +/// proposal Content. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitProposal { + /// messages are the arbitrary messages to be executed if proposal passes. + #[prost(message, repeated, tag = "1")] + pub messages: ::prost::alloc::vec::Vec, + /// initial_deposit is the deposit value that must be paid at proposal submission. + #[prost(message, repeated, tag = "2")] + pub initial_deposit: ::prost::alloc::vec::Vec, + /// proposer is the account address of the proposer. + #[prost(string, tag = "3")] + pub proposer: ::prost::alloc::string::String, + /// metadata is any arbitrary metadata attached to the proposal. + #[prost(string, tag = "4")] + pub metadata: ::prost::alloc::string::String, + /// title is the title of the proposal. + /// + /// Since: cosmos-sdk 0.47 + #[prost(string, tag = "5")] + pub title: ::prost::alloc::string::String, + /// summary is the summary of the proposal + /// + /// Since: cosmos-sdk 0.47 + #[prost(string, tag = "6")] + pub summary: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgSubmitProposal { + const NAME: &'static str = "MsgSubmitProposal"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitProposalResponse { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, +} +impl ::prost::Name for MsgSubmitProposalResponse { + const NAME: &'static str = "MsgSubmitProposalResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgExecLegacyContent is used to wrap the legacy content field into a message. +/// This ensures backwards compatibility with v1beta1.MsgSubmitProposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgExecLegacyContent { + /// content is the proposal's content. + #[prost(message, optional, tag = "1")] + pub content: ::core::option::Option, + /// authority must be the gov module address. + #[prost(string, tag = "2")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgExecLegacyContent { + const NAME: &'static str = "MsgExecLegacyContent"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgExecLegacyContentResponse defines the Msg/ExecLegacyContent response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgExecLegacyContentResponse {} +impl ::prost::Name for MsgExecLegacyContentResponse { + const NAME: &'static str = "MsgExecLegacyContentResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgVote defines a message to cast a vote. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVote { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter is the voter address for the proposal. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// option defines the vote option. + #[prost(enumeration = "VoteOption", tag = "3")] + pub option: i32, + /// metadata is any arbitrary metadata attached to the Vote. + #[prost(string, tag = "4")] + pub metadata: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgVote { + const NAME: &'static str = "MsgVote"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgVoteResponse defines the Msg/Vote response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVoteResponse {} +impl ::prost::Name for MsgVoteResponse { + const NAME: &'static str = "MsgVoteResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgVoteWeighted defines a message to cast a vote. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVoteWeighted { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter is the voter address for the proposal. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// options defines the weighted vote options. + #[prost(message, repeated, tag = "3")] + pub options: ::prost::alloc::vec::Vec, + /// metadata is any arbitrary metadata attached to the VoteWeighted. + #[prost(string, tag = "4")] + pub metadata: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgVoteWeighted { + const NAME: &'static str = "MsgVoteWeighted"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVoteWeightedResponse {} +impl ::prost::Name for MsgVoteWeightedResponse { + const NAME: &'static str = "MsgVoteWeightedResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgDeposit defines a message to submit a deposit to an existing proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgDeposit { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "2")] + pub depositor: ::prost::alloc::string::String, + /// amount to be deposited by depositor. + #[prost(message, repeated, tag = "3")] + pub amount: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgDeposit { + const NAME: &'static str = "MsgDeposit"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgDepositResponse defines the Msg/Deposit response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgDepositResponse {} +impl ::prost::Name for MsgDepositResponse { + const NAME: &'static str = "MsgDepositResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgUpdateParams is the Msg/UpdateParams request type. +/// +/// Since: cosmos-sdk 0.47 +#[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/gov 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.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// MsgUpdateParamsResponse defines the response structure for executing a +/// MsgUpdateParams message. +/// +/// Since: cosmos-sdk 0.47 +#[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.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the gov Msg service. + #[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 + } + /// SubmitProposal defines a method to create new proposal given the messages. + pub async fn submit_proposal( + &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.gov.v1.Msg/SubmitProposal", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "SubmitProposal")); + self.inner.unary(req, path, codec).await + } + /// ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal + /// to execute a legacy content-based proposal. + pub async fn exec_legacy_content( + &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.gov.v1.Msg/ExecLegacyContent", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "ExecLegacyContent")); + self.inner.unary(req, path, codec).await + } + /// Vote defines a method to add a vote on a specific proposal. + pub async fn vote( + &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.gov.v1.Msg/Vote"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Msg", "Vote")); + self.inner.unary(req, path, codec).await + } + /// VoteWeighted defines a method to add a weighted vote on a specific proposal. + pub async fn vote_weighted( + &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.gov.v1.Msg/VoteWeighted", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "VoteWeighted")); + self.inner.unary(req, path, codec).await + } + /// Deposit defines a method to add deposit on a specific proposal. + pub async fn deposit( + &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.gov.v1.Msg/Deposit", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Msg", "Deposit")); + self.inner.unary(req, path, codec).await + } + /// UpdateParams defines a governance operation for updating the x/gov module + /// parameters. The authority is defined in the keeper. + /// + /// Since: cosmos-sdk 0.47 + pub async fn update_params( + &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.gov.v1.Msg/UpdateParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Msg", "UpdateParams")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// SubmitProposal defines a method to create new proposal given the messages. + async fn submit_proposal( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ExecLegacyContent defines a Msg to be in included in a MsgSubmitProposal + /// to execute a legacy content-based proposal. + async fn exec_legacy_content( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Vote defines a method to add a vote on a specific proposal. + async fn vote( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// VoteWeighted defines a method to add a weighted vote on a specific proposal. + async fn vote_weighted( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Deposit defines a method to add deposit on a specific proposal. + async fn deposit( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateParams defines a governance operation for updating the x/gov module + /// parameters. The authority is defined in the keeper. + /// + /// Since: cosmos-sdk 0.47 + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the gov Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.gov.v1.Msg/SubmitProposal" => { + #[allow(non_camel_case_types)] + struct SubmitProposalSvc(pub Arc); + impl tonic::server::UnaryService + for SubmitProposalSvc { + type Response = super::MsgSubmitProposalResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::submit_proposal(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SubmitProposalSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Msg/ExecLegacyContent" => { + #[allow(non_camel_case_types)] + struct ExecLegacyContentSvc(pub Arc); + impl tonic::server::UnaryService + for ExecLegacyContentSvc { + type Response = super::MsgExecLegacyContentResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::exec_legacy_content(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ExecLegacyContentSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Msg/Vote" => { + #[allow(non_camel_case_types)] + struct VoteSvc(pub Arc); + impl tonic::server::UnaryService + for VoteSvc { + type Response = super::MsgVoteResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::vote(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VoteSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Msg/VoteWeighted" => { + #[allow(non_camel_case_types)] + struct VoteWeightedSvc(pub Arc); + impl tonic::server::UnaryService + for VoteWeightedSvc { + type Response = super::MsgVoteWeightedResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::vote_weighted(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VoteWeightedSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Msg/Deposit" => { + #[allow(non_camel_case_types)] + struct DepositSvc(pub Arc); + impl tonic::server::UnaryService + for DepositSvc { + type Response = super::MsgDepositResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::deposit(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DepositSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "cosmos.gov.v1.Msg"; + } +} +/// QueryProposalRequest is the request type for the Query/Proposal RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, +} +impl ::prost::Name for QueryProposalRequest { + const NAME: &'static str = "QueryProposalRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryProposalResponse is the response type for the Query/Proposal RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalResponse { + /// proposal is the requested governance proposal. + #[prost(message, optional, tag = "1")] + pub proposal: ::core::option::Option, +} +impl ::prost::Name for QueryProposalResponse { + const NAME: &'static str = "QueryProposalResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryProposalsRequest is the request type for the Query/Proposals RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalsRequest { + /// proposal_status defines the status of the proposals. + #[prost(enumeration = "ProposalStatus", tag = "1")] + pub proposal_status: i32, + /// voter defines the voter address for the proposals. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "3")] + pub depositor: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "4")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryProposalsRequest { + const NAME: &'static str = "QueryProposalsRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryProposalsResponse is the response type for the Query/Proposals RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalsResponse { + /// proposals defines all the requested governance proposals. + #[prost(message, repeated, tag = "1")] + pub proposals: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryProposalsResponse { + const NAME: &'static str = "QueryProposalsResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryVoteRequest is the request type for the Query/Vote RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVoteRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter defines the voter address for the proposals. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryVoteRequest { + const NAME: &'static str = "QueryVoteRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryVoteResponse is the response type for the Query/Vote RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVoteResponse { + /// vote defines the queried vote. + #[prost(message, optional, tag = "1")] + pub vote: ::core::option::Option, +} +impl ::prost::Name for QueryVoteResponse { + const NAME: &'static str = "QueryVoteResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryVotesRequest is the request type for the Query/Votes RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVotesRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryVotesRequest { + const NAME: &'static str = "QueryVotesRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryVotesResponse is the response type for the Query/Votes RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVotesResponse { + /// votes defines the queried votes. + #[prost(message, repeated, tag = "1")] + pub votes: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryVotesResponse { + const NAME: &'static str = "QueryVotesResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", 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 { + /// params_type defines which parameters to query for, can be one of "voting", + /// "tallying" or "deposit". + #[prost(string, tag = "1")] + pub params_type: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryParamsRequest { + const NAME: &'static str = "QueryParamsRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", 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 { + /// Deprecated: Prefer to use `params` instead. + /// voting_params defines the parameters related to voting. + #[deprecated] + #[prost(message, optional, tag = "1")] + pub voting_params: ::core::option::Option, + /// Deprecated: Prefer to use `params` instead. + /// deposit_params defines the parameters related to deposit. + #[deprecated] + #[prost(message, optional, tag = "2")] + pub deposit_params: ::core::option::Option, + /// Deprecated: Prefer to use `params` instead. + /// tally_params defines the parameters related to tally. + #[deprecated] + #[prost(message, optional, tag = "3")] + pub tally_params: ::core::option::Option, + /// params defines all the paramaters of x/gov module. + /// + /// Since: cosmos-sdk 0.47 + #[prost(message, optional, tag = "4")] + pub params: ::core::option::Option, +} +impl ::prost::Name for QueryParamsResponse { + const NAME: &'static str = "QueryParamsResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryDepositRequest is the request type for the Query/Deposit RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "2")] + pub depositor: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDepositRequest { + const NAME: &'static str = "QueryDepositRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryDepositResponse is the response type for the Query/Deposit RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositResponse { + /// deposit defines the requested deposit. + #[prost(message, optional, tag = "1")] + pub deposit: ::core::option::Option, +} +impl ::prost::Name for QueryDepositResponse { + const NAME: &'static str = "QueryDepositResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryDepositsRequest is the request type for the Query/Deposits RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositsRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryDepositsRequest { + const NAME: &'static str = "QueryDepositsRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryDepositsResponse is the response type for the Query/Deposits RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositsResponse { + /// deposits defines the requested deposits. + #[prost(message, repeated, tag = "1")] + pub deposits: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryDepositsResponse { + const NAME: &'static str = "QueryDepositsResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryTallyResultRequest is the request type for the Query/Tally RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTallyResultRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, +} +impl ::prost::Name for QueryTallyResultRequest { + const NAME: &'static str = "QueryTallyResultRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// QueryTallyResultResponse is the response type for the Query/Tally RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTallyResultResponse { + /// tally defines the requested tally. + #[prost(message, optional, tag = "1")] + pub tally: ::core::option::Option, +} +impl ::prost::Name for QueryTallyResultResponse { + const NAME: &'static str = "QueryTallyResultResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the gRPC querier service for gov module + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Proposal queries proposal details based on ProposalID. + pub async fn proposal( + &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.gov.v1.Query/Proposal", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Proposal")); + self.inner.unary(req, path, codec).await + } + /// Proposals queries all proposals based on given status. + pub async fn proposals( + &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.gov.v1.Query/Proposals", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Proposals")); + self.inner.unary(req, path, codec).await + } + /// Vote queries voted information based on proposalID, voterAddr. + pub async fn vote( + &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.gov.v1.Query/Vote"); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Query", "Vote")); + self.inner.unary(req, path, codec).await + } + /// Votes queries votes of a given proposal. + pub async fn votes( + &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.gov.v1.Query/Votes", + ); + let mut req = request.into_request(); + req.extensions_mut().insert(GrpcMethod::new("cosmos.gov.v1.Query", "Votes")); + self.inner.unary(req, path, codec).await + } + /// Params queries all parameters of the gov module. + pub async fn params( + &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.gov.v1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Params")); + self.inner.unary(req, path, codec).await + } + /// Deposit queries single deposit information based proposalID, depositAddr. + pub async fn deposit( + &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.gov.v1.Query/Deposit", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Deposit")); + self.inner.unary(req, path, codec).await + } + /// Deposits queries all deposits of a single proposal. + pub async fn deposits( + &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.gov.v1.Query/Deposits", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Query", "Deposits")); + self.inner.unary(req, path, codec).await + } + /// TallyResult queries the tally of a proposal vote. + pub async fn tally_result( + &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.gov.v1.Query/TallyResult", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1.Query", "TallyResult")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Proposal queries proposal details based on ProposalID. + async fn proposal( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Proposals queries all proposals based on given status. + async fn proposals( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Vote queries voted information based on proposalID, voterAddr. + async fn vote( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Votes queries votes of a given proposal. + async fn votes( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Params queries all parameters of the gov module. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Deposit queries single deposit information based proposalID, depositAddr. + async fn deposit( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Deposits queries all deposits of a single proposal. + async fn deposits( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TallyResult queries the tally of a proposal vote. + async fn tally_result( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the gRPC querier service for gov module + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.gov.v1.Query/Proposal" => { + #[allow(non_camel_case_types)] + struct ProposalSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ProposalSvc { + type Response = super::QueryProposalResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::proposal(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ProposalSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/Proposals" => { + #[allow(non_camel_case_types)] + struct ProposalsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ProposalsSvc { + type Response = super::QueryProposalsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::proposals(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ProposalsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/Vote" => { + #[allow(non_camel_case_types)] + struct VoteSvc(pub Arc); + impl tonic::server::UnaryService + for VoteSvc { + type Response = super::QueryVoteResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::vote(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VoteSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/Votes" => { + #[allow(non_camel_case_types)] + struct VotesSvc(pub Arc); + impl tonic::server::UnaryService + for VotesSvc { + type Response = super::QueryVotesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::votes(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VotesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/Deposit" => { + #[allow(non_camel_case_types)] + struct DepositSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DepositSvc { + type Response = super::QueryDepositResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::deposit(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DepositSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/Deposits" => { + #[allow(non_camel_case_types)] + struct DepositsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DepositsSvc { + type Response = super::QueryDepositsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::deposits(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DepositsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1.Query/TallyResult" => { + #[allow(non_camel_case_types)] + struct TallyResultSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TallyResultSvc { + type Response = super::QueryTallyResultResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::tally_result(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TallyResultSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "cosmos.gov.v1.Query"; + } +} +/// GenesisState defines the gov module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// starting_proposal_id is the ID of the starting proposal. + #[prost(uint64, tag = "1")] + pub starting_proposal_id: u64, + /// deposits defines all the deposits present at genesis. + #[prost(message, repeated, tag = "2")] + pub deposits: ::prost::alloc::vec::Vec, + /// votes defines all the votes present at genesis. + #[prost(message, repeated, tag = "3")] + pub votes: ::prost::alloc::vec::Vec, + /// proposals defines all the proposals present at genesis. + #[prost(message, repeated, tag = "4")] + pub proposals: ::prost::alloc::vec::Vec, + /// Deprecated: Prefer to use `params` instead. + /// deposit_params defines all the paramaters of related to deposit. + #[deprecated] + #[prost(message, optional, tag = "5")] + pub deposit_params: ::core::option::Option, + /// Deprecated: Prefer to use `params` instead. + /// voting_params defines all the paramaters of related to voting. + #[deprecated] + #[prost(message, optional, tag = "6")] + pub voting_params: ::core::option::Option, + /// Deprecated: Prefer to use `params` instead. + /// tally_params defines all the paramaters of related to tally. + #[deprecated] + #[prost(message, optional, tag = "7")] + pub tally_params: ::core::option::Option, + /// params defines all the paramaters of x/gov module. + /// + /// Since: cosmos-sdk 0.47 + #[prost(message, optional, tag = "8")] + pub params: ::core::option::Option, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "cosmos.gov.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.gov.v1.serde.rs b/src/prost/cosmos.gov.v1.serde.rs new file mode 100644 index 00000000..4f689c29 --- /dev/null +++ b/src/prost/cosmos.gov.v1.serde.rs @@ -0,0 +1,4771 @@ +impl serde::Serialize for Deposit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Deposit", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Deposit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "depositor", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Depositor, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "depositor" => Ok(GeneratedField::Depositor), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Deposit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.Deposit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut depositor__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(Deposit { + proposal_id: proposal_id__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.Deposit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DepositParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.min_deposit.is_empty() { + len += 1; + } + if self.max_deposit_period.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.DepositParams", len)?; + if !self.min_deposit.is_empty() { + struct_ser.serialize_field("minDeposit", &self.min_deposit)?; + } + if let Some(v) = self.max_deposit_period.as_ref() { + struct_ser.serialize_field("maxDepositPeriod", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DepositParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "min_deposit", + "minDeposit", + "max_deposit_period", + "maxDepositPeriod", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MinDeposit, + MaxDepositPeriod, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "minDeposit" | "min_deposit" => Ok(GeneratedField::MinDeposit), + "maxDepositPeriod" | "max_deposit_period" => Ok(GeneratedField::MaxDepositPeriod), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DepositParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.DepositParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut min_deposit__ = None; + let mut max_deposit_period__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MinDeposit => { + if min_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("minDeposit")); + } + min_deposit__ = Some(map_.next_value()?); + } + GeneratedField::MaxDepositPeriod => { + if max_deposit_period__.is_some() { + return Err(serde::de::Error::duplicate_field("maxDepositPeriod")); + } + max_deposit_period__ = map_.next_value()?; + } + } + } + Ok(DepositParams { + min_deposit: min_deposit__.unwrap_or_default(), + max_deposit_period: max_deposit_period__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.DepositParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.starting_proposal_id != 0 { + len += 1; + } + if !self.deposits.is_empty() { + len += 1; + } + if !self.votes.is_empty() { + len += 1; + } + if !self.proposals.is_empty() { + len += 1; + } + if self.deposit_params.is_some() { + len += 1; + } + if self.voting_params.is_some() { + len += 1; + } + if self.tally_params.is_some() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.GenesisState", len)?; + if self.starting_proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("startingProposalId", ToString::to_string(&self.starting_proposal_id).as_str())?; + } + if !self.deposits.is_empty() { + struct_ser.serialize_field("deposits", &self.deposits)?; + } + if !self.votes.is_empty() { + struct_ser.serialize_field("votes", &self.votes)?; + } + if !self.proposals.is_empty() { + struct_ser.serialize_field("proposals", &self.proposals)?; + } + if let Some(v) = self.deposit_params.as_ref() { + struct_ser.serialize_field("depositParams", v)?; + } + if let Some(v) = self.voting_params.as_ref() { + struct_ser.serialize_field("votingParams", v)?; + } + if let Some(v) = self.tally_params.as_ref() { + struct_ser.serialize_field("tallyParams", v)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "starting_proposal_id", + "startingProposalId", + "deposits", + "votes", + "proposals", + "deposit_params", + "depositParams", + "voting_params", + "votingParams", + "tally_params", + "tallyParams", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + StartingProposalId, + Deposits, + Votes, + Proposals, + DepositParams, + VotingParams, + TallyParams, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "startingProposalId" | "starting_proposal_id" => Ok(GeneratedField::StartingProposalId), + "deposits" => Ok(GeneratedField::Deposits), + "votes" => Ok(GeneratedField::Votes), + "proposals" => Ok(GeneratedField::Proposals), + "depositParams" | "deposit_params" => Ok(GeneratedField::DepositParams), + "votingParams" | "voting_params" => Ok(GeneratedField::VotingParams), + "tallyParams" | "tally_params" => Ok(GeneratedField::TallyParams), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut starting_proposal_id__ = None; + let mut deposits__ = None; + let mut votes__ = None; + let mut proposals__ = None; + let mut deposit_params__ = None; + let mut voting_params__ = None; + let mut tally_params__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::StartingProposalId => { + if starting_proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("startingProposalId")); + } + starting_proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Deposits => { + if deposits__.is_some() { + return Err(serde::de::Error::duplicate_field("deposits")); + } + deposits__ = Some(map_.next_value()?); + } + GeneratedField::Votes => { + if votes__.is_some() { + return Err(serde::de::Error::duplicate_field("votes")); + } + votes__ = Some(map_.next_value()?); + } + GeneratedField::Proposals => { + if proposals__.is_some() { + return Err(serde::de::Error::duplicate_field("proposals")); + } + proposals__ = Some(map_.next_value()?); + } + GeneratedField::DepositParams => { + if deposit_params__.is_some() { + return Err(serde::de::Error::duplicate_field("depositParams")); + } + deposit_params__ = map_.next_value()?; + } + GeneratedField::VotingParams => { + if voting_params__.is_some() { + return Err(serde::de::Error::duplicate_field("votingParams")); + } + voting_params__ = map_.next_value()?; + } + GeneratedField::TallyParams => { + if tally_params__.is_some() { + return Err(serde::de::Error::duplicate_field("tallyParams")); + } + tally_params__ = map_.next_value()?; + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(GenesisState { + starting_proposal_id: starting_proposal_id__.unwrap_or_default(), + deposits: deposits__.unwrap_or_default(), + votes: votes__.unwrap_or_default(), + proposals: proposals__.unwrap_or_default(), + deposit_params: deposit_params__, + voting_params: voting_params__, + tally_params: tally_params__, + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDeposit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgDeposit", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDeposit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "depositor", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Depositor, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "depositor" => Ok(GeneratedField::Depositor), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDeposit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgDeposit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut depositor__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(MsgDeposit { + proposal_id: proposal_id__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgDeposit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDepositResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgDepositResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDepositResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDepositResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgDepositResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgDepositResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgDepositResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgExecLegacyContent { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.content.is_some() { + len += 1; + } + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgExecLegacyContent", len)?; + if let Some(v) = self.content.as_ref() { + struct_ser.serialize_field("content", v)?; + } + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgExecLegacyContent { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "content", + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Content, + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "content" => Ok(GeneratedField::Content), + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgExecLegacyContent; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgExecLegacyContent") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut content__ = None; + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Content => { + if content__.is_some() { + return Err(serde::de::Error::duplicate_field("content")); + } + content__ = map_.next_value()?; + } + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(MsgExecLegacyContent { + content: content__, + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgExecLegacyContent", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgExecLegacyContentResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgExecLegacyContentResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgExecLegacyContentResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgExecLegacyContentResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgExecLegacyContentResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgExecLegacyContentResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgExecLegacyContentResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSubmitProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.messages.is_empty() { + len += 1; + } + if !self.initial_deposit.is_empty() { + len += 1; + } + if !self.proposer.is_empty() { + len += 1; + } + if !self.metadata.is_empty() { + len += 1; + } + if !self.title.is_empty() { + len += 1; + } + if !self.summary.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgSubmitProposal", len)?; + if !self.messages.is_empty() { + struct_ser.serialize_field("messages", &self.messages)?; + } + if !self.initial_deposit.is_empty() { + struct_ser.serialize_field("initialDeposit", &self.initial_deposit)?; + } + if !self.proposer.is_empty() { + struct_ser.serialize_field("proposer", &self.proposer)?; + } + if !self.metadata.is_empty() { + struct_ser.serialize_field("metadata", &self.metadata)?; + } + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.summary.is_empty() { + struct_ser.serialize_field("summary", &self.summary)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "messages", + "initial_deposit", + "initialDeposit", + "proposer", + "metadata", + "title", + "summary", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Messages, + InitialDeposit, + Proposer, + Metadata, + Title, + Summary, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "messages" => Ok(GeneratedField::Messages), + "initialDeposit" | "initial_deposit" => Ok(GeneratedField::InitialDeposit), + "proposer" => Ok(GeneratedField::Proposer), + "metadata" => Ok(GeneratedField::Metadata), + "title" => Ok(GeneratedField::Title), + "summary" => Ok(GeneratedField::Summary), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSubmitProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgSubmitProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut messages__ = None; + let mut initial_deposit__ = None; + let mut proposer__ = None; + let mut metadata__ = None; + let mut title__ = None; + let mut summary__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Messages => { + if messages__.is_some() { + return Err(serde::de::Error::duplicate_field("messages")); + } + messages__ = Some(map_.next_value()?); + } + GeneratedField::InitialDeposit => { + if initial_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("initialDeposit")); + } + initial_deposit__ = Some(map_.next_value()?); + } + GeneratedField::Proposer => { + if proposer__.is_some() { + return Err(serde::de::Error::duplicate_field("proposer")); + } + proposer__ = Some(map_.next_value()?); + } + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = Some(map_.next_value()?); + } + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Summary => { + if summary__.is_some() { + return Err(serde::de::Error::duplicate_field("summary")); + } + summary__ = Some(map_.next_value()?); + } + } + } + Ok(MsgSubmitProposal { + messages: messages__.unwrap_or_default(), + initial_deposit: initial_deposit__.unwrap_or_default(), + proposer: proposer__.unwrap_or_default(), + metadata: metadata__.unwrap_or_default(), + title: title__.unwrap_or_default(), + summary: summary__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgSubmitProposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSubmitProposalResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgSubmitProposalResponse", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSubmitProposalResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgSubmitProposalResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgSubmitProposalResponse { + proposal_id: proposal_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgSubmitProposalResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgUpdateParams", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + authority: authority__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVote { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if self.option != 0 { + len += 1; + } + if !self.metadata.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVote", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if self.option != 0 { + let v = VoteOption::try_from(self.option) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + struct_ser.serialize_field("option", &v)?; + } + if !self.metadata.is_empty() { + struct_ser.serialize_field("metadata", &self.metadata)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVote { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + "option", + "metadata", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + Option, + Metadata, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + "option" => Ok(GeneratedField::Option), + "metadata" => Ok(GeneratedField::Metadata), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVote; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgVote") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + let mut option__ = None; + let mut metadata__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Option => { + if option__.is_some() { + return Err(serde::de::Error::duplicate_field("option")); + } + option__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = Some(map_.next_value()?); + } + } + } + Ok(MsgVote { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + option: option__.unwrap_or_default(), + metadata: metadata__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgVote", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVoteResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVoteResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVoteResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVoteResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgVoteResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgVoteResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgVoteResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVoteWeighted { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if !self.options.is_empty() { + len += 1; + } + if !self.metadata.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVoteWeighted", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if !self.options.is_empty() { + struct_ser.serialize_field("options", &self.options)?; + } + if !self.metadata.is_empty() { + struct_ser.serialize_field("metadata", &self.metadata)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + "options", + "metadata", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + Options, + Metadata, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + "options" => Ok(GeneratedField::Options), + "metadata" => Ok(GeneratedField::Metadata), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVoteWeighted; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgVoteWeighted") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + let mut options__ = None; + let mut metadata__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = Some(map_.next_value()?); + } + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = Some(map_.next_value()?); + } + } + } + Ok(MsgVoteWeighted { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + options: options__.unwrap_or_default(), + metadata: metadata__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgVoteWeighted", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVoteWeightedResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVoteWeightedResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVoteWeightedResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.MsgVoteWeightedResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgVoteWeightedResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.MsgVoteWeightedResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.min_deposit.is_empty() { + len += 1; + } + if self.max_deposit_period.is_some() { + len += 1; + } + if self.voting_period.is_some() { + len += 1; + } + if !self.quorum.is_empty() { + len += 1; + } + if !self.threshold.is_empty() { + len += 1; + } + if !self.veto_threshold.is_empty() { + len += 1; + } + if !self.min_initial_deposit_ratio.is_empty() { + len += 1; + } + if self.burn_vote_quorum { + len += 1; + } + if self.burn_proposal_deposit_prevote { + len += 1; + } + if self.burn_vote_veto { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Params", len)?; + if !self.min_deposit.is_empty() { + struct_ser.serialize_field("minDeposit", &self.min_deposit)?; + } + if let Some(v) = self.max_deposit_period.as_ref() { + struct_ser.serialize_field("maxDepositPeriod", v)?; + } + if let Some(v) = self.voting_period.as_ref() { + struct_ser.serialize_field("votingPeriod", v)?; + } + if !self.quorum.is_empty() { + struct_ser.serialize_field("quorum", &self.quorum)?; + } + if !self.threshold.is_empty() { + struct_ser.serialize_field("threshold", &self.threshold)?; + } + if !self.veto_threshold.is_empty() { + struct_ser.serialize_field("vetoThreshold", &self.veto_threshold)?; + } + if !self.min_initial_deposit_ratio.is_empty() { + struct_ser.serialize_field("minInitialDepositRatio", &self.min_initial_deposit_ratio)?; + } + if self.burn_vote_quorum { + struct_ser.serialize_field("burnVoteQuorum", &self.burn_vote_quorum)?; + } + if self.burn_proposal_deposit_prevote { + struct_ser.serialize_field("burnProposalDepositPrevote", &self.burn_proposal_deposit_prevote)?; + } + if self.burn_vote_veto { + struct_ser.serialize_field("burnVoteVeto", &self.burn_vote_veto)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "min_deposit", + "minDeposit", + "max_deposit_period", + "maxDepositPeriod", + "voting_period", + "votingPeriod", + "quorum", + "threshold", + "veto_threshold", + "vetoThreshold", + "min_initial_deposit_ratio", + "minInitialDepositRatio", + "burn_vote_quorum", + "burnVoteQuorum", + "burn_proposal_deposit_prevote", + "burnProposalDepositPrevote", + "burn_vote_veto", + "burnVoteVeto", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MinDeposit, + MaxDepositPeriod, + VotingPeriod, + Quorum, + Threshold, + VetoThreshold, + MinInitialDepositRatio, + BurnVoteQuorum, + BurnProposalDepositPrevote, + BurnVoteVeto, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "minDeposit" | "min_deposit" => Ok(GeneratedField::MinDeposit), + "maxDepositPeriod" | "max_deposit_period" => Ok(GeneratedField::MaxDepositPeriod), + "votingPeriod" | "voting_period" => Ok(GeneratedField::VotingPeriod), + "quorum" => Ok(GeneratedField::Quorum), + "threshold" => Ok(GeneratedField::Threshold), + "vetoThreshold" | "veto_threshold" => Ok(GeneratedField::VetoThreshold), + "minInitialDepositRatio" | "min_initial_deposit_ratio" => Ok(GeneratedField::MinInitialDepositRatio), + "burnVoteQuorum" | "burn_vote_quorum" => Ok(GeneratedField::BurnVoteQuorum), + "burnProposalDepositPrevote" | "burn_proposal_deposit_prevote" => Ok(GeneratedField::BurnProposalDepositPrevote), + "burnVoteVeto" | "burn_vote_veto" => Ok(GeneratedField::BurnVoteVeto), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut min_deposit__ = None; + let mut max_deposit_period__ = None; + let mut voting_period__ = None; + let mut quorum__ = None; + let mut threshold__ = None; + let mut veto_threshold__ = None; + let mut min_initial_deposit_ratio__ = None; + let mut burn_vote_quorum__ = None; + let mut burn_proposal_deposit_prevote__ = None; + let mut burn_vote_veto__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MinDeposit => { + if min_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("minDeposit")); + } + min_deposit__ = Some(map_.next_value()?); + } + GeneratedField::MaxDepositPeriod => { + if max_deposit_period__.is_some() { + return Err(serde::de::Error::duplicate_field("maxDepositPeriod")); + } + max_deposit_period__ = map_.next_value()?; + } + GeneratedField::VotingPeriod => { + if voting_period__.is_some() { + return Err(serde::de::Error::duplicate_field("votingPeriod")); + } + voting_period__ = map_.next_value()?; + } + GeneratedField::Quorum => { + if quorum__.is_some() { + return Err(serde::de::Error::duplicate_field("quorum")); + } + quorum__ = Some(map_.next_value()?); + } + GeneratedField::Threshold => { + if threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("threshold")); + } + threshold__ = Some(map_.next_value()?); + } + GeneratedField::VetoThreshold => { + if veto_threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("vetoThreshold")); + } + veto_threshold__ = Some(map_.next_value()?); + } + GeneratedField::MinInitialDepositRatio => { + if min_initial_deposit_ratio__.is_some() { + return Err(serde::de::Error::duplicate_field("minInitialDepositRatio")); + } + min_initial_deposit_ratio__ = Some(map_.next_value()?); + } + GeneratedField::BurnVoteQuorum => { + if burn_vote_quorum__.is_some() { + return Err(serde::de::Error::duplicate_field("burnVoteQuorum")); + } + burn_vote_quorum__ = Some(map_.next_value()?); + } + GeneratedField::BurnProposalDepositPrevote => { + if burn_proposal_deposit_prevote__.is_some() { + return Err(serde::de::Error::duplicate_field("burnProposalDepositPrevote")); + } + burn_proposal_deposit_prevote__ = Some(map_.next_value()?); + } + GeneratedField::BurnVoteVeto => { + if burn_vote_veto__.is_some() { + return Err(serde::de::Error::duplicate_field("burnVoteVeto")); + } + burn_vote_veto__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + min_deposit: min_deposit__.unwrap_or_default(), + max_deposit_period: max_deposit_period__, + voting_period: voting_period__, + quorum: quorum__.unwrap_or_default(), + threshold: threshold__.unwrap_or_default(), + veto_threshold: veto_threshold__.unwrap_or_default(), + min_initial_deposit_ratio: min_initial_deposit_ratio__.unwrap_or_default(), + burn_vote_quorum: burn_vote_quorum__.unwrap_or_default(), + burn_proposal_deposit_prevote: burn_proposal_deposit_prevote__.unwrap_or_default(), + burn_vote_veto: burn_vote_veto__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Proposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.id != 0 { + len += 1; + } + if !self.messages.is_empty() { + len += 1; + } + if self.status != 0 { + len += 1; + } + if self.final_tally_result.is_some() { + len += 1; + } + if self.submit_time.is_some() { + len += 1; + } + if self.deposit_end_time.is_some() { + len += 1; + } + if !self.total_deposit.is_empty() { + len += 1; + } + if self.voting_start_time.is_some() { + len += 1; + } + if self.voting_end_time.is_some() { + len += 1; + } + if !self.metadata.is_empty() { + len += 1; + } + if !self.title.is_empty() { + len += 1; + } + if !self.summary.is_empty() { + len += 1; + } + if !self.proposer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Proposal", len)?; + if self.id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("id", ToString::to_string(&self.id).as_str())?; + } + if !self.messages.is_empty() { + struct_ser.serialize_field("messages", &self.messages)?; + } + if self.status != 0 { + let v = ProposalStatus::try_from(self.status) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.status)))?; + struct_ser.serialize_field("status", &v)?; + } + if let Some(v) = self.final_tally_result.as_ref() { + struct_ser.serialize_field("finalTallyResult", v)?; + } + if let Some(v) = self.submit_time.as_ref() { + struct_ser.serialize_field("submitTime", v)?; + } + if let Some(v) = self.deposit_end_time.as_ref() { + struct_ser.serialize_field("depositEndTime", v)?; + } + if !self.total_deposit.is_empty() { + struct_ser.serialize_field("totalDeposit", &self.total_deposit)?; + } + if let Some(v) = self.voting_start_time.as_ref() { + struct_ser.serialize_field("votingStartTime", v)?; + } + if let Some(v) = self.voting_end_time.as_ref() { + struct_ser.serialize_field("votingEndTime", v)?; + } + if !self.metadata.is_empty() { + struct_ser.serialize_field("metadata", &self.metadata)?; + } + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.summary.is_empty() { + struct_ser.serialize_field("summary", &self.summary)?; + } + if !self.proposer.is_empty() { + struct_ser.serialize_field("proposer", &self.proposer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Proposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + "messages", + "status", + "final_tally_result", + "finalTallyResult", + "submit_time", + "submitTime", + "deposit_end_time", + "depositEndTime", + "total_deposit", + "totalDeposit", + "voting_start_time", + "votingStartTime", + "voting_end_time", + "votingEndTime", + "metadata", + "title", + "summary", + "proposer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + Messages, + Status, + FinalTallyResult, + SubmitTime, + DepositEndTime, + TotalDeposit, + VotingStartTime, + VotingEndTime, + Metadata, + Title, + Summary, + Proposer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + "messages" => Ok(GeneratedField::Messages), + "status" => Ok(GeneratedField::Status), + "finalTallyResult" | "final_tally_result" => Ok(GeneratedField::FinalTallyResult), + "submitTime" | "submit_time" => Ok(GeneratedField::SubmitTime), + "depositEndTime" | "deposit_end_time" => Ok(GeneratedField::DepositEndTime), + "totalDeposit" | "total_deposit" => Ok(GeneratedField::TotalDeposit), + "votingStartTime" | "voting_start_time" => Ok(GeneratedField::VotingStartTime), + "votingEndTime" | "voting_end_time" => Ok(GeneratedField::VotingEndTime), + "metadata" => Ok(GeneratedField::Metadata), + "title" => Ok(GeneratedField::Title), + "summary" => Ok(GeneratedField::Summary), + "proposer" => Ok(GeneratedField::Proposer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Proposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.Proposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + let mut messages__ = None; + let mut status__ = None; + let mut final_tally_result__ = None; + let mut submit_time__ = None; + let mut deposit_end_time__ = None; + let mut total_deposit__ = None; + let mut voting_start_time__ = None; + let mut voting_end_time__ = None; + let mut metadata__ = None; + let mut title__ = None; + let mut summary__ = None; + let mut proposer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Messages => { + if messages__.is_some() { + return Err(serde::de::Error::duplicate_field("messages")); + } + messages__ = Some(map_.next_value()?); + } + GeneratedField::Status => { + if status__.is_some() { + return Err(serde::de::Error::duplicate_field("status")); + } + status__ = Some(map_.next_value::()? as i32); + } + GeneratedField::FinalTallyResult => { + if final_tally_result__.is_some() { + return Err(serde::de::Error::duplicate_field("finalTallyResult")); + } + final_tally_result__ = map_.next_value()?; + } + GeneratedField::SubmitTime => { + if submit_time__.is_some() { + return Err(serde::de::Error::duplicate_field("submitTime")); + } + submit_time__ = map_.next_value()?; + } + GeneratedField::DepositEndTime => { + if deposit_end_time__.is_some() { + return Err(serde::de::Error::duplicate_field("depositEndTime")); + } + deposit_end_time__ = map_.next_value()?; + } + GeneratedField::TotalDeposit => { + if total_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("totalDeposit")); + } + total_deposit__ = Some(map_.next_value()?); + } + GeneratedField::VotingStartTime => { + if voting_start_time__.is_some() { + return Err(serde::de::Error::duplicate_field("votingStartTime")); + } + voting_start_time__ = map_.next_value()?; + } + GeneratedField::VotingEndTime => { + if voting_end_time__.is_some() { + return Err(serde::de::Error::duplicate_field("votingEndTime")); + } + voting_end_time__ = map_.next_value()?; + } + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = Some(map_.next_value()?); + } + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Summary => { + if summary__.is_some() { + return Err(serde::de::Error::duplicate_field("summary")); + } + summary__ = Some(map_.next_value()?); + } + GeneratedField::Proposer => { + if proposer__.is_some() { + return Err(serde::de::Error::duplicate_field("proposer")); + } + proposer__ = Some(map_.next_value()?); + } + } + } + Ok(Proposal { + id: id__.unwrap_or_default(), + messages: messages__.unwrap_or_default(), + status: status__.unwrap_or_default(), + final_tally_result: final_tally_result__, + submit_time: submit_time__, + deposit_end_time: deposit_end_time__, + total_deposit: total_deposit__.unwrap_or_default(), + voting_start_time: voting_start_time__, + voting_end_time: voting_end_time__, + metadata: metadata__.unwrap_or_default(), + title: title__.unwrap_or_default(), + summary: summary__.unwrap_or_default(), + proposer: proposer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.Proposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ProposalStatus { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED", + Self::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD", + Self::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD", + Self::Passed => "PROPOSAL_STATUS_PASSED", + Self::Rejected => "PROPOSAL_STATUS_REJECTED", + Self::Failed => "PROPOSAL_STATUS_FAILED", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for ProposalStatus { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ProposalStatus; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "PROPOSAL_STATUS_UNSPECIFIED" => Ok(ProposalStatus::Unspecified), + "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Ok(ProposalStatus::DepositPeriod), + "PROPOSAL_STATUS_VOTING_PERIOD" => Ok(ProposalStatus::VotingPeriod), + "PROPOSAL_STATUS_PASSED" => Ok(ProposalStatus::Passed), + "PROPOSAL_STATUS_REJECTED" => Ok(ProposalStatus::Rejected), + "PROPOSAL_STATUS_FAILED" => Ok(ProposalStatus::Failed), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "depositor", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Depositor, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "depositor" => Ok(GeneratedField::Depositor), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryDepositRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut depositor__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDepositRequest { + proposal_id: proposal_id__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryDepositRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.deposit.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositResponse", len)?; + if let Some(v) = self.deposit.as_ref() { + struct_ser.serialize_field("deposit", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deposit", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deposit, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deposit" => Ok(GeneratedField::Deposit), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryDepositResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deposit__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deposit => { + if deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("deposit")); + } + deposit__ = map_.next_value()?; + } + } + } + Ok(QueryDepositResponse { + deposit: deposit__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryDepositResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositsRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryDepositsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDepositsRequest { + proposal_id: proposal_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryDepositsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.deposits.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositsResponse", len)?; + if !self.deposits.is_empty() { + struct_ser.serialize_field("deposits", &self.deposits)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deposits", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deposits, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deposits" => Ok(GeneratedField::Deposits), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryDepositsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deposits__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deposits => { + if deposits__.is_some() { + return Err(serde::de::Error::duplicate_field("deposits")); + } + deposits__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDepositsResponse { + deposits: deposits__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryDepositsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.params_type.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryParamsRequest", len)?; + if !self.params_type.is_empty() { + struct_ser.serialize_field("paramsType", &self.params_type)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params_type", + "paramsType", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ParamsType, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "paramsType" | "params_type" => Ok(GeneratedField::ParamsType), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params_type__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ParamsType => { + if params_type__.is_some() { + return Err(serde::de::Error::duplicate_field("paramsType")); + } + params_type__ = Some(map_.next_value()?); + } + } + } + Ok(QueryParamsRequest { + params_type: params_type__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.voting_params.is_some() { + len += 1; + } + if self.deposit_params.is_some() { + len += 1; + } + if self.tally_params.is_some() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryParamsResponse", len)?; + if let Some(v) = self.voting_params.as_ref() { + struct_ser.serialize_field("votingParams", v)?; + } + if let Some(v) = self.deposit_params.as_ref() { + struct_ser.serialize_field("depositParams", v)?; + } + if let Some(v) = self.tally_params.as_ref() { + struct_ser.serialize_field("tallyParams", v)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "voting_params", + "votingParams", + "deposit_params", + "depositParams", + "tally_params", + "tallyParams", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + VotingParams, + DepositParams, + TallyParams, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "votingParams" | "voting_params" => Ok(GeneratedField::VotingParams), + "depositParams" | "deposit_params" => Ok(GeneratedField::DepositParams), + "tallyParams" | "tally_params" => Ok(GeneratedField::TallyParams), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut voting_params__ = None; + let mut deposit_params__ = None; + let mut tally_params__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::VotingParams => { + if voting_params__.is_some() { + return Err(serde::de::Error::duplicate_field("votingParams")); + } + voting_params__ = map_.next_value()?; + } + GeneratedField::DepositParams => { + if deposit_params__.is_some() { + return Err(serde::de::Error::duplicate_field("depositParams")); + } + deposit_params__ = map_.next_value()?; + } + GeneratedField::TallyParams => { + if tally_params__.is_some() { + return Err(serde::de::Error::duplicate_field("tallyParams")); + } + tally_params__ = map_.next_value()?; + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + voting_params: voting_params__, + deposit_params: deposit_params__, + tally_params: tally_params__, + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryProposalRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryProposalRequest { + proposal_id: proposal_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryProposalRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalResponse", len)?; + if let Some(v) = self.proposal.as_ref() { + struct_ser.serialize_field("proposal", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Proposal, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposal" => Ok(GeneratedField::Proposal), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryProposalResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Proposal => { + if proposal__.is_some() { + return Err(serde::de::Error::duplicate_field("proposal")); + } + proposal__ = map_.next_value()?; + } + } + } + Ok(QueryProposalResponse { + proposal: proposal__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryProposalResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_status != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalsRequest", len)?; + if self.proposal_status != 0 { + let v = ProposalStatus::try_from(self.proposal_status) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.proposal_status)))?; + struct_ser.serialize_field("proposalStatus", &v)?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_status", + "proposalStatus", + "voter", + "depositor", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalStatus, + Voter, + Depositor, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalStatus" | "proposal_status" => Ok(GeneratedField::ProposalStatus), + "voter" => Ok(GeneratedField::Voter), + "depositor" => Ok(GeneratedField::Depositor), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryProposalsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_status__ = None; + let mut voter__ = None; + let mut depositor__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalStatus => { + if proposal_status__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalStatus")); + } + proposal_status__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryProposalsRequest { + proposal_status: proposal_status__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryProposalsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.proposals.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalsResponse", len)?; + if !self.proposals.is_empty() { + struct_ser.serialize_field("proposals", &self.proposals)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposals", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Proposals, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposals" => Ok(GeneratedField::Proposals), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryProposalsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposals__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Proposals => { + if proposals__.is_some() { + return Err(serde::de::Error::duplicate_field("proposals")); + } + proposals__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryProposalsResponse { + proposals: proposals__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryProposalsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTallyResultRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryTallyResultRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTallyResultRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryTallyResultRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryTallyResultRequest { + proposal_id: proposal_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryTallyResultRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTallyResultResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.tally.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryTallyResultResponse", len)?; + if let Some(v) = self.tally.as_ref() { + struct_ser.serialize_field("tally", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "tally", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Tally, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "tally" => Ok(GeneratedField::Tally), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTallyResultResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryTallyResultResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut tally__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Tally => { + if tally__.is_some() { + return Err(serde::de::Error::duplicate_field("tally")); + } + tally__ = map_.next_value()?; + } + } + } + Ok(QueryTallyResultResponse { + tally: tally__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryTallyResultResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVoteRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVoteRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVoteRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVoteRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryVoteRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + } + } + Ok(QueryVoteRequest { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryVoteRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVoteResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.vote.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVoteResponse", len)?; + if let Some(v) = self.vote.as_ref() { + struct_ser.serialize_field("vote", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVoteResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "vote", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Vote, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "vote" => Ok(GeneratedField::Vote), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVoteResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryVoteResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut vote__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Vote => { + if vote__.is_some() { + return Err(serde::de::Error::duplicate_field("vote")); + } + vote__ = map_.next_value()?; + } + } + } + Ok(QueryVoteResponse { + vote: vote__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryVoteResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVotesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVotesRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVotesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVotesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryVotesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryVotesRequest { + proposal_id: proposal_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryVotesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVotesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.votes.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVotesResponse", len)?; + if !self.votes.is_empty() { + struct_ser.serialize_field("votes", &self.votes)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVotesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "votes", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Votes, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "votes" => Ok(GeneratedField::Votes), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVotesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.QueryVotesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut votes__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Votes => { + if votes__.is_some() { + return Err(serde::de::Error::duplicate_field("votes")); + } + votes__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryVotesResponse { + votes: votes__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.QueryVotesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TallyParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.quorum.is_empty() { + len += 1; + } + if !self.threshold.is_empty() { + len += 1; + } + if !self.veto_threshold.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.TallyParams", len)?; + if !self.quorum.is_empty() { + struct_ser.serialize_field("quorum", &self.quorum)?; + } + if !self.threshold.is_empty() { + struct_ser.serialize_field("threshold", &self.threshold)?; + } + if !self.veto_threshold.is_empty() { + struct_ser.serialize_field("vetoThreshold", &self.veto_threshold)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TallyParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "quorum", + "threshold", + "veto_threshold", + "vetoThreshold", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Quorum, + Threshold, + VetoThreshold, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "quorum" => Ok(GeneratedField::Quorum), + "threshold" => Ok(GeneratedField::Threshold), + "vetoThreshold" | "veto_threshold" => Ok(GeneratedField::VetoThreshold), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TallyParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.TallyParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut quorum__ = None; + let mut threshold__ = None; + let mut veto_threshold__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Quorum => { + if quorum__.is_some() { + return Err(serde::de::Error::duplicate_field("quorum")); + } + quorum__ = Some(map_.next_value()?); + } + GeneratedField::Threshold => { + if threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("threshold")); + } + threshold__ = Some(map_.next_value()?); + } + GeneratedField::VetoThreshold => { + if veto_threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("vetoThreshold")); + } + veto_threshold__ = Some(map_.next_value()?); + } + } + } + Ok(TallyParams { + quorum: quorum__.unwrap_or_default(), + threshold: threshold__.unwrap_or_default(), + veto_threshold: veto_threshold__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.TallyParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TallyResult { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.yes_count.is_empty() { + len += 1; + } + if !self.abstain_count.is_empty() { + len += 1; + } + if !self.no_count.is_empty() { + len += 1; + } + if !self.no_with_veto_count.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.TallyResult", len)?; + if !self.yes_count.is_empty() { + struct_ser.serialize_field("yesCount", &self.yes_count)?; + } + if !self.abstain_count.is_empty() { + struct_ser.serialize_field("abstainCount", &self.abstain_count)?; + } + if !self.no_count.is_empty() { + struct_ser.serialize_field("noCount", &self.no_count)?; + } + if !self.no_with_veto_count.is_empty() { + struct_ser.serialize_field("noWithVetoCount", &self.no_with_veto_count)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TallyResult { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "yes_count", + "yesCount", + "abstain_count", + "abstainCount", + "no_count", + "noCount", + "no_with_veto_count", + "noWithVetoCount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + YesCount, + AbstainCount, + NoCount, + NoWithVetoCount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "yesCount" | "yes_count" => Ok(GeneratedField::YesCount), + "abstainCount" | "abstain_count" => Ok(GeneratedField::AbstainCount), + "noCount" | "no_count" => Ok(GeneratedField::NoCount), + "noWithVetoCount" | "no_with_veto_count" => Ok(GeneratedField::NoWithVetoCount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TallyResult; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.TallyResult") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut yes_count__ = None; + let mut abstain_count__ = None; + let mut no_count__ = None; + let mut no_with_veto_count__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::YesCount => { + if yes_count__.is_some() { + return Err(serde::de::Error::duplicate_field("yesCount")); + } + yes_count__ = Some(map_.next_value()?); + } + GeneratedField::AbstainCount => { + if abstain_count__.is_some() { + return Err(serde::de::Error::duplicate_field("abstainCount")); + } + abstain_count__ = Some(map_.next_value()?); + } + GeneratedField::NoCount => { + if no_count__.is_some() { + return Err(serde::de::Error::duplicate_field("noCount")); + } + no_count__ = Some(map_.next_value()?); + } + GeneratedField::NoWithVetoCount => { + if no_with_veto_count__.is_some() { + return Err(serde::de::Error::duplicate_field("noWithVetoCount")); + } + no_with_veto_count__ = Some(map_.next_value()?); + } + } + } + Ok(TallyResult { + yes_count: yes_count__.unwrap_or_default(), + abstain_count: abstain_count__.unwrap_or_default(), + no_count: no_count__.unwrap_or_default(), + no_with_veto_count: no_with_veto_count__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.TallyResult", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Vote { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if !self.options.is_empty() { + len += 1; + } + if !self.metadata.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Vote", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if !self.options.is_empty() { + struct_ser.serialize_field("options", &self.options)?; + } + if !self.metadata.is_empty() { + struct_ser.serialize_field("metadata", &self.metadata)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Vote { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + "options", + "metadata", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + Options, + Metadata, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + "options" => Ok(GeneratedField::Options), + "metadata" => Ok(GeneratedField::Metadata), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Vote; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.Vote") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + let mut options__ = None; + let mut metadata__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = Some(map_.next_value()?); + } + GeneratedField::Metadata => { + if metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("metadata")); + } + metadata__ = Some(map_.next_value()?); + } + } + } + Ok(Vote { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + options: options__.unwrap_or_default(), + metadata: metadata__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.Vote", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for VoteOption { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "VOTE_OPTION_UNSPECIFIED", + Self::Yes => "VOTE_OPTION_YES", + Self::Abstain => "VOTE_OPTION_ABSTAIN", + Self::No => "VOTE_OPTION_NO", + Self::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for VoteOption { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = VoteOption; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "VOTE_OPTION_UNSPECIFIED" => Ok(VoteOption::Unspecified), + "VOTE_OPTION_YES" => Ok(VoteOption::Yes), + "VOTE_OPTION_ABSTAIN" => Ok(VoteOption::Abstain), + "VOTE_OPTION_NO" => Ok(VoteOption::No), + "VOTE_OPTION_NO_WITH_VETO" => Ok(VoteOption::NoWithVeto), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for VotingParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.voting_period.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.VotingParams", len)?; + if let Some(v) = self.voting_period.as_ref() { + struct_ser.serialize_field("votingPeriod", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for VotingParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "voting_period", + "votingPeriod", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + VotingPeriod, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "votingPeriod" | "voting_period" => Ok(GeneratedField::VotingPeriod), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = VotingParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.VotingParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut voting_period__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::VotingPeriod => { + if voting_period__.is_some() { + return Err(serde::de::Error::duplicate_field("votingPeriod")); + } + voting_period__ = map_.next_value()?; + } + } + } + Ok(VotingParams { + voting_period: voting_period__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.VotingParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for WeightedVoteOption { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.option != 0 { + len += 1; + } + if !self.weight.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.WeightedVoteOption", len)?; + if self.option != 0 { + let v = VoteOption::try_from(self.option) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + struct_ser.serialize_field("option", &v)?; + } + if !self.weight.is_empty() { + struct_ser.serialize_field("weight", &self.weight)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for WeightedVoteOption { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "option", + "weight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Option, + Weight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "option" => Ok(GeneratedField::Option), + "weight" => Ok(GeneratedField::Weight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = WeightedVoteOption; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1.WeightedVoteOption") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut option__ = None; + let mut weight__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Option => { + if option__.is_some() { + return Err(serde::de::Error::duplicate_field("option")); + } + option__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Weight => { + if weight__.is_some() { + return Err(serde::de::Error::duplicate_field("weight")); + } + weight__ = Some(map_.next_value()?); + } + } + } + Ok(WeightedVoteOption { + option: option__.unwrap_or_default(), + weight: weight__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1.WeightedVoteOption", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.gov.v1beta1.rs b/src/prost/cosmos.gov.v1beta1.rs new file mode 100644 index 00000000..d421555b --- /dev/null +++ b/src/prost/cosmos.gov.v1beta1.rs @@ -0,0 +1,2160 @@ +/// WeightedVoteOption defines a unit of vote for vote split. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WeightedVoteOption { + /// option defines the valid vote options, it must not contain duplicate vote options. + #[prost(enumeration = "VoteOption", tag = "1")] + pub option: i32, + /// weight is the vote weight associated with the vote option. + #[prost(string, tag = "2")] + pub weight: ::prost::alloc::string::String, +} +impl ::prost::Name for WeightedVoteOption { + const NAME: &'static str = "WeightedVoteOption"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// TextProposal defines a standard text proposal whose changes need to be +/// manually updated in case of approval. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TextProposal { + /// title of the proposal. + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// description associated with the proposal. + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, +} +impl ::prost::Name for TextProposal { + const NAME: &'static str = "TextProposal"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// Deposit defines an amount deposited by an account address to an active +/// proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Deposit { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "2")] + pub depositor: ::prost::alloc::string::String, + /// amount to be deposited by depositor. + #[prost(message, repeated, tag = "3")] + pub amount: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Deposit { + const NAME: &'static str = "Deposit"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// Proposal defines the core field members of a governance proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Proposal { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// content is the proposal's content. + #[prost(message, optional, tag = "2")] + pub content: ::core::option::Option, + /// status defines the proposal status. + #[prost(enumeration = "ProposalStatus", tag = "3")] + pub status: i32, + /// final_tally_result is the final tally result of the proposal. When + /// querying a proposal via gRPC, this field is not populated until the + /// proposal's voting period has ended. + #[prost(message, optional, tag = "4")] + pub final_tally_result: ::core::option::Option, + /// submit_time is the time of proposal submission. + #[prost(message, optional, tag = "5")] + pub submit_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// deposit_end_time is the end time for deposition. + #[prost(message, optional, tag = "6")] + pub deposit_end_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// total_deposit is the total deposit on the proposal. + #[prost(message, repeated, tag = "7")] + pub total_deposit: ::prost::alloc::vec::Vec, + /// voting_start_time is the starting time to vote on a proposal. + #[prost(message, optional, tag = "8")] + pub voting_start_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// voting_end_time is the end time of voting on a proposal. + #[prost(message, optional, tag = "9")] + pub voting_end_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, +} +impl ::prost::Name for Proposal { + const NAME: &'static str = "Proposal"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// TallyResult defines a standard tally for a governance proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TallyResult { + /// yes is the number of yes votes on a proposal. + #[prost(string, tag = "1")] + pub yes: ::prost::alloc::string::String, + /// abstain is the number of abstain votes on a proposal. + #[prost(string, tag = "2")] + pub abstain: ::prost::alloc::string::String, + /// no is the number of no votes on a proposal. + #[prost(string, tag = "3")] + pub no: ::prost::alloc::string::String, + /// no_with_veto is the number of no with veto votes on a proposal. + #[prost(string, tag = "4")] + pub no_with_veto: ::prost::alloc::string::String, +} +impl ::prost::Name for TallyResult { + const NAME: &'static str = "TallyResult"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// Vote defines a vote on a governance proposal. +/// A Vote consists of a proposal ID, the voter, and the vote option. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Vote { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter is the voter address of the proposal. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// Deprecated: Prefer to use `options` instead. This field is set in queries + /// if and only if `len(options) == 1` and that option has weight 1. In all + /// other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + #[deprecated] + #[prost(enumeration = "VoteOption", tag = "3")] + pub option: i32, + /// options is the weighted vote options. + /// + /// Since: cosmos-sdk 0.43 + #[prost(message, repeated, tag = "4")] + pub options: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Vote { + const NAME: &'static str = "Vote"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// DepositParams defines the params for deposits on governance proposals. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DepositParams { + /// Minimum deposit for a proposal to enter voting period. + #[prost(message, repeated, tag = "1")] + pub min_deposit: ::prost::alloc::vec::Vec, + /// Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + /// months. + #[prost(message, optional, tag = "2")] + pub max_deposit_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, +} +impl ::prost::Name for DepositParams { + const NAME: &'static str = "DepositParams"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// VotingParams defines the params for voting on governance proposals. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VotingParams { + /// Duration of the voting period. + #[prost(message, optional, tag = "1")] + pub voting_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, +} +impl ::prost::Name for VotingParams { + const NAME: &'static str = "VotingParams"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// TallyParams defines the params for tallying votes on governance proposals. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TallyParams { + /// Minimum percentage of total stake needed to vote for a result to be + /// considered valid. + #[prost(bytes = "vec", tag = "1")] + pub quorum: ::prost::alloc::vec::Vec, + /// Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. + #[prost(bytes = "vec", tag = "2")] + pub threshold: ::prost::alloc::vec::Vec, + /// Minimum value of Veto votes to Total votes ratio for proposal to be + /// vetoed. Default value: 1/3. + #[prost(bytes = "vec", tag = "3")] + pub veto_threshold: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TallyParams { + const NAME: &'static str = "TallyParams"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// VoteOption enumerates the valid vote options for a given governance proposal. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum VoteOption { + /// VOTE_OPTION_UNSPECIFIED defines a no-op vote option. + Unspecified = 0, + /// VOTE_OPTION_YES defines a yes vote option. + Yes = 1, + /// VOTE_OPTION_ABSTAIN defines an abstain vote option. + Abstain = 2, + /// VOTE_OPTION_NO defines a no vote option. + No = 3, + /// VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. + NoWithVeto = 4, +} +impl VoteOption { + /// 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 { + VoteOption::Unspecified => "VOTE_OPTION_UNSPECIFIED", + VoteOption::Yes => "VOTE_OPTION_YES", + VoteOption::Abstain => "VOTE_OPTION_ABSTAIN", + VoteOption::No => "VOTE_OPTION_NO", + VoteOption::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "VOTE_OPTION_UNSPECIFIED" => Some(Self::Unspecified), + "VOTE_OPTION_YES" => Some(Self::Yes), + "VOTE_OPTION_ABSTAIN" => Some(Self::Abstain), + "VOTE_OPTION_NO" => Some(Self::No), + "VOTE_OPTION_NO_WITH_VETO" => Some(Self::NoWithVeto), + _ => None, + } + } +} +/// ProposalStatus enumerates the valid statuses of a proposal. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ProposalStatus { + /// PROPOSAL_STATUS_UNSPECIFIED defines the default proposal status. + Unspecified = 0, + /// PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + /// period. + DepositPeriod = 1, + /// PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + /// period. + VotingPeriod = 2, + /// PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + /// passed. + Passed = 3, + /// PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + /// been rejected. + Rejected = 4, + /// PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + /// failed. + Failed = 5, +} +impl ProposalStatus { + /// 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 { + ProposalStatus::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED", + ProposalStatus::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD", + ProposalStatus::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD", + ProposalStatus::Passed => "PROPOSAL_STATUS_PASSED", + ProposalStatus::Rejected => "PROPOSAL_STATUS_REJECTED", + ProposalStatus::Failed => "PROPOSAL_STATUS_FAILED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "PROPOSAL_STATUS_UNSPECIFIED" => Some(Self::Unspecified), + "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Some(Self::DepositPeriod), + "PROPOSAL_STATUS_VOTING_PERIOD" => Some(Self::VotingPeriod), + "PROPOSAL_STATUS_PASSED" => Some(Self::Passed), + "PROPOSAL_STATUS_REJECTED" => Some(Self::Rejected), + "PROPOSAL_STATUS_FAILED" => Some(Self::Failed), + _ => None, + } + } +} +/// MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary +/// proposal Content. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitProposal { + /// content is the proposal's content. + #[prost(message, optional, tag = "1")] + pub content: ::core::option::Option, + /// initial_deposit is the deposit value that must be paid at proposal submission. + #[prost(message, repeated, tag = "2")] + pub initial_deposit: ::prost::alloc::vec::Vec, + /// proposer is the account address of the proposer. + #[prost(string, tag = "3")] + pub proposer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgSubmitProposal { + const NAME: &'static str = "MsgSubmitProposal"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitProposalResponse { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, +} +impl ::prost::Name for MsgSubmitProposalResponse { + const NAME: &'static str = "MsgSubmitProposalResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgVote defines a message to cast a vote. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVote { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter is the voter address for the proposal. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// option defines the vote option. + #[prost(enumeration = "VoteOption", tag = "3")] + pub option: i32, +} +impl ::prost::Name for MsgVote { + const NAME: &'static str = "MsgVote"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgVoteResponse defines the Msg/Vote response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVoteResponse {} +impl ::prost::Name for MsgVoteResponse { + const NAME: &'static str = "MsgVoteResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgVoteWeighted defines a message to cast a vote. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVoteWeighted { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter is the voter address for the proposal. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// options defines the weighted vote options. + #[prost(message, repeated, tag = "3")] + pub options: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgVoteWeighted { + const NAME: &'static str = "MsgVoteWeighted"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgVoteWeightedResponse {} +impl ::prost::Name for MsgVoteWeightedResponse { + const NAME: &'static str = "MsgVoteWeightedResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgDeposit defines a message to submit a deposit to an existing proposal. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgDeposit { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "2")] + pub depositor: ::prost::alloc::string::String, + /// amount to be deposited by depositor. + #[prost(message, repeated, tag = "3")] + pub amount: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgDeposit { + const NAME: &'static str = "MsgDeposit"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// MsgDepositResponse defines the Msg/Deposit response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgDepositResponse {} +impl ::prost::Name for MsgDepositResponse { + const NAME: &'static str = "MsgDepositResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the bank Msg service. + #[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 + } + /// SubmitProposal defines a method to create new proposal given a content. + pub async fn submit_proposal( + &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.gov.v1beta1.Msg/SubmitProposal", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "SubmitProposal")); + self.inner.unary(req, path, codec).await + } + /// Vote defines a method to add a vote on a specific proposal. + pub async fn vote( + &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.gov.v1beta1.Msg/Vote", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "Vote")); + self.inner.unary(req, path, codec).await + } + /// VoteWeighted defines a method to add a weighted vote on a specific proposal. + /// + /// Since: cosmos-sdk 0.43 + pub async fn vote_weighted( + &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.gov.v1beta1.Msg/VoteWeighted", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "VoteWeighted")); + self.inner.unary(req, path, codec).await + } + /// Deposit defines a method to add deposit on a specific proposal. + pub async fn deposit( + &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.gov.v1beta1.Msg/Deposit", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Msg", "Deposit")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// SubmitProposal defines a method to create new proposal given a content. + async fn submit_proposal( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Vote defines a method to add a vote on a specific proposal. + async fn vote( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// VoteWeighted defines a method to add a weighted vote on a specific proposal. + /// + /// Since: cosmos-sdk 0.43 + async fn vote_weighted( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Deposit defines a method to add deposit on a specific proposal. + async fn deposit( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the bank Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.gov.v1beta1.Msg/SubmitProposal" => { + #[allow(non_camel_case_types)] + struct SubmitProposalSvc(pub Arc); + impl tonic::server::UnaryService + for SubmitProposalSvc { + type Response = super::MsgSubmitProposalResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::submit_proposal(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SubmitProposalSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Msg/Vote" => { + #[allow(non_camel_case_types)] + struct VoteSvc(pub Arc); + impl tonic::server::UnaryService + for VoteSvc { + type Response = super::MsgVoteResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::vote(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VoteSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Msg/VoteWeighted" => { + #[allow(non_camel_case_types)] + struct VoteWeightedSvc(pub Arc); + impl tonic::server::UnaryService + for VoteWeightedSvc { + type Response = super::MsgVoteWeightedResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::vote_weighted(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VoteWeightedSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Msg/Deposit" => { + #[allow(non_camel_case_types)] + struct DepositSvc(pub Arc); + impl tonic::server::UnaryService + for DepositSvc { + type Response = super::MsgDepositResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::deposit(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DepositSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "cosmos.gov.v1beta1.Msg"; + } +} +/// QueryProposalRequest is the request type for the Query/Proposal RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, +} +impl ::prost::Name for QueryProposalRequest { + const NAME: &'static str = "QueryProposalRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryProposalResponse is the response type for the Query/Proposal RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalResponse { + #[prost(message, optional, tag = "1")] + pub proposal: ::core::option::Option, +} +impl ::prost::Name for QueryProposalResponse { + const NAME: &'static str = "QueryProposalResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryProposalsRequest is the request type for the Query/Proposals RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalsRequest { + /// proposal_status defines the status of the proposals. + #[prost(enumeration = "ProposalStatus", tag = "1")] + pub proposal_status: i32, + /// voter defines the voter address for the proposals. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "3")] + pub depositor: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "4")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryProposalsRequest { + const NAME: &'static str = "QueryProposalsRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryProposalsResponse is the response type for the Query/Proposals RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProposalsResponse { + /// proposals defines all the requested governance proposals. + #[prost(message, repeated, tag = "1")] + pub proposals: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryProposalsResponse { + const NAME: &'static str = "QueryProposalsResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryVoteRequest is the request type for the Query/Vote RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVoteRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// voter defines the voter address for the proposals. + #[prost(string, tag = "2")] + pub voter: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryVoteRequest { + const NAME: &'static str = "QueryVoteRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryVoteResponse is the response type for the Query/Vote RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVoteResponse { + /// vote defines the queried vote. + #[prost(message, optional, tag = "1")] + pub vote: ::core::option::Option, +} +impl ::prost::Name for QueryVoteResponse { + const NAME: &'static str = "QueryVoteResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryVotesRequest is the request type for the Query/Votes RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVotesRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryVotesRequest { + const NAME: &'static str = "QueryVotesRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryVotesResponse is the response type for the Query/Votes RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryVotesResponse { + /// votes defines the queried votes. + #[prost(message, repeated, tag = "1")] + pub votes: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryVotesResponse { + const NAME: &'static str = "QueryVotesResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.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 { + /// params_type defines which parameters to query for, can be one of "voting", + /// "tallying" or "deposit". + #[prost(string, tag = "1")] + pub params_type: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryParamsRequest { + const NAME: &'static str = "QueryParamsRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.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 { + /// voting_params defines the parameters related to voting. + #[prost(message, optional, tag = "1")] + pub voting_params: ::core::option::Option, + /// deposit_params defines the parameters related to deposit. + #[prost(message, optional, tag = "2")] + pub deposit_params: ::core::option::Option, + /// tally_params defines the parameters related to tally. + #[prost(message, optional, tag = "3")] + pub tally_params: ::core::option::Option, +} +impl ::prost::Name for QueryParamsResponse { + const NAME: &'static str = "QueryParamsResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryDepositRequest is the request type for the Query/Deposit RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// depositor defines the deposit addresses from the proposals. + #[prost(string, tag = "2")] + pub depositor: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDepositRequest { + const NAME: &'static str = "QueryDepositRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryDepositResponse is the response type for the Query/Deposit RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositResponse { + /// deposit defines the requested deposit. + #[prost(message, optional, tag = "1")] + pub deposit: ::core::option::Option, +} +impl ::prost::Name for QueryDepositResponse { + const NAME: &'static str = "QueryDepositResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryDepositsRequest is the request type for the Query/Deposits RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositsRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryDepositsRequest { + const NAME: &'static str = "QueryDepositsRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryDepositsResponse is the response type for the Query/Deposits RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDepositsResponse { + /// deposits defines the requested deposits. + #[prost(message, repeated, tag = "1")] + pub deposits: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryDepositsResponse { + const NAME: &'static str = "QueryDepositsResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryTallyResultRequest is the request type for the Query/Tally RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTallyResultRequest { + /// proposal_id defines the unique id of the proposal. + #[prost(uint64, tag = "1")] + pub proposal_id: u64, +} +impl ::prost::Name for QueryTallyResultRequest { + const NAME: &'static str = "QueryTallyResultRequest"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// QueryTallyResultResponse is the response type for the Query/Tally RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTallyResultResponse { + /// tally defines the requested tally. + #[prost(message, optional, tag = "1")] + pub tally: ::core::option::Option, +} +impl ::prost::Name for QueryTallyResultResponse { + const NAME: &'static str = "QueryTallyResultResponse"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the gRPC querier service for gov module + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Proposal queries proposal details based on ProposalID. + pub async fn proposal( + &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.gov.v1beta1.Query/Proposal", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Proposal")); + self.inner.unary(req, path, codec).await + } + /// Proposals queries all proposals based on given status. + pub async fn proposals( + &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.gov.v1beta1.Query/Proposals", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Proposals")); + self.inner.unary(req, path, codec).await + } + /// Vote queries voted information based on proposalID, voterAddr. + pub async fn vote( + &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.gov.v1beta1.Query/Vote", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Vote")); + self.inner.unary(req, path, codec).await + } + /// Votes queries votes of a given proposal. + pub async fn votes( + &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.gov.v1beta1.Query/Votes", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Votes")); + self.inner.unary(req, path, codec).await + } + /// Params queries all parameters of the gov module. + pub async fn params( + &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.gov.v1beta1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Params")); + self.inner.unary(req, path, codec).await + } + /// Deposit queries single deposit information based proposalID, depositAddr. + pub async fn deposit( + &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.gov.v1beta1.Query/Deposit", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Deposit")); + self.inner.unary(req, path, codec).await + } + /// Deposits queries all deposits of a single proposal. + pub async fn deposits( + &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.gov.v1beta1.Query/Deposits", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "Deposits")); + self.inner.unary(req, path, codec).await + } + /// TallyResult queries the tally of a proposal vote. + pub async fn tally_result( + &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.gov.v1beta1.Query/TallyResult", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.gov.v1beta1.Query", "TallyResult")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Proposal queries proposal details based on ProposalID. + async fn proposal( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Proposals queries all proposals based on given status. + async fn proposals( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Vote queries voted information based on proposalID, voterAddr. + async fn vote( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Votes queries votes of a given proposal. + async fn votes( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Params queries all parameters of the gov module. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Deposit queries single deposit information based proposalID, depositAddr. + async fn deposit( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Deposits queries all deposits of a single proposal. + async fn deposits( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TallyResult queries the tally of a proposal vote. + async fn tally_result( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the gRPC querier service for gov module + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.gov.v1beta1.Query/Proposal" => { + #[allow(non_camel_case_types)] + struct ProposalSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ProposalSvc { + type Response = super::QueryProposalResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::proposal(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ProposalSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/Proposals" => { + #[allow(non_camel_case_types)] + struct ProposalsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ProposalsSvc { + type Response = super::QueryProposalsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::proposals(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ProposalsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/Vote" => { + #[allow(non_camel_case_types)] + struct VoteSvc(pub Arc); + impl tonic::server::UnaryService + for VoteSvc { + type Response = super::QueryVoteResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::vote(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VoteSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/Votes" => { + #[allow(non_camel_case_types)] + struct VotesSvc(pub Arc); + impl tonic::server::UnaryService + for VotesSvc { + type Response = super::QueryVotesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::votes(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = VotesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/Deposit" => { + #[allow(non_camel_case_types)] + struct DepositSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DepositSvc { + type Response = super::QueryDepositResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::deposit(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DepositSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/Deposits" => { + #[allow(non_camel_case_types)] + struct DepositsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DepositsSvc { + type Response = super::QueryDepositsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::deposits(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DepositsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.gov.v1beta1.Query/TallyResult" => { + #[allow(non_camel_case_types)] + struct TallyResultSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TallyResultSvc { + type Response = super::QueryTallyResultResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::tally_result(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TallyResultSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "cosmos.gov.v1beta1.Query"; + } +} +/// GenesisState defines the gov module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// starting_proposal_id is the ID of the starting proposal. + #[prost(uint64, tag = "1")] + pub starting_proposal_id: u64, + /// deposits defines all the deposits present at genesis. + #[prost(message, repeated, tag = "2")] + pub deposits: ::prost::alloc::vec::Vec, + /// votes defines all the votes present at genesis. + #[prost(message, repeated, tag = "3")] + pub votes: ::prost::alloc::vec::Vec, + /// proposals defines all the proposals present at genesis. + #[prost(message, repeated, tag = "4")] + pub proposals: ::prost::alloc::vec::Vec, + /// params defines all the parameters of related to deposit. + #[prost(message, optional, tag = "5")] + pub deposit_params: ::core::option::Option, + /// params defines all the parameters of related to voting. + #[prost(message, optional, tag = "6")] + pub voting_params: ::core::option::Option, + /// params defines all the parameters of related to tally. + #[prost(message, optional, tag = "7")] + pub tally_params: ::core::option::Option, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "cosmos.gov.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.gov.v1beta1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.gov.v1beta1.serde.rs b/src/prost/cosmos.gov.v1beta1.serde.rs new file mode 100644 index 00000000..ab3272ea --- /dev/null +++ b/src/prost/cosmos.gov.v1beta1.serde.rs @@ -0,0 +1,4091 @@ +impl serde::Serialize for Deposit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Deposit", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Deposit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "depositor", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Depositor, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "depositor" => Ok(GeneratedField::Depositor), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Deposit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.Deposit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut depositor__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(Deposit { + proposal_id: proposal_id__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.Deposit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DepositParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.min_deposit.is_empty() { + len += 1; + } + if self.max_deposit_period.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.DepositParams", len)?; + if !self.min_deposit.is_empty() { + struct_ser.serialize_field("minDeposit", &self.min_deposit)?; + } + if let Some(v) = self.max_deposit_period.as_ref() { + struct_ser.serialize_field("maxDepositPeriod", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DepositParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "min_deposit", + "minDeposit", + "max_deposit_period", + "maxDepositPeriod", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MinDeposit, + MaxDepositPeriod, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "minDeposit" | "min_deposit" => Ok(GeneratedField::MinDeposit), + "maxDepositPeriod" | "max_deposit_period" => Ok(GeneratedField::MaxDepositPeriod), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DepositParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.DepositParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut min_deposit__ = None; + let mut max_deposit_period__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MinDeposit => { + if min_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("minDeposit")); + } + min_deposit__ = Some(map_.next_value()?); + } + GeneratedField::MaxDepositPeriod => { + if max_deposit_period__.is_some() { + return Err(serde::de::Error::duplicate_field("maxDepositPeriod")); + } + max_deposit_period__ = map_.next_value()?; + } + } + } + Ok(DepositParams { + min_deposit: min_deposit__.unwrap_or_default(), + max_deposit_period: max_deposit_period__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.DepositParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.starting_proposal_id != 0 { + len += 1; + } + if !self.deposits.is_empty() { + len += 1; + } + if !self.votes.is_empty() { + len += 1; + } + if !self.proposals.is_empty() { + len += 1; + } + if self.deposit_params.is_some() { + len += 1; + } + if self.voting_params.is_some() { + len += 1; + } + if self.tally_params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.GenesisState", len)?; + if self.starting_proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("startingProposalId", ToString::to_string(&self.starting_proposal_id).as_str())?; + } + if !self.deposits.is_empty() { + struct_ser.serialize_field("deposits", &self.deposits)?; + } + if !self.votes.is_empty() { + struct_ser.serialize_field("votes", &self.votes)?; + } + if !self.proposals.is_empty() { + struct_ser.serialize_field("proposals", &self.proposals)?; + } + if let Some(v) = self.deposit_params.as_ref() { + struct_ser.serialize_field("depositParams", v)?; + } + if let Some(v) = self.voting_params.as_ref() { + struct_ser.serialize_field("votingParams", v)?; + } + if let Some(v) = self.tally_params.as_ref() { + struct_ser.serialize_field("tallyParams", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "starting_proposal_id", + "startingProposalId", + "deposits", + "votes", + "proposals", + "deposit_params", + "depositParams", + "voting_params", + "votingParams", + "tally_params", + "tallyParams", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + StartingProposalId, + Deposits, + Votes, + Proposals, + DepositParams, + VotingParams, + TallyParams, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "startingProposalId" | "starting_proposal_id" => Ok(GeneratedField::StartingProposalId), + "deposits" => Ok(GeneratedField::Deposits), + "votes" => Ok(GeneratedField::Votes), + "proposals" => Ok(GeneratedField::Proposals), + "depositParams" | "deposit_params" => Ok(GeneratedField::DepositParams), + "votingParams" | "voting_params" => Ok(GeneratedField::VotingParams), + "tallyParams" | "tally_params" => Ok(GeneratedField::TallyParams), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut starting_proposal_id__ = None; + let mut deposits__ = None; + let mut votes__ = None; + let mut proposals__ = None; + let mut deposit_params__ = None; + let mut voting_params__ = None; + let mut tally_params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::StartingProposalId => { + if starting_proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("startingProposalId")); + } + starting_proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Deposits => { + if deposits__.is_some() { + return Err(serde::de::Error::duplicate_field("deposits")); + } + deposits__ = Some(map_.next_value()?); + } + GeneratedField::Votes => { + if votes__.is_some() { + return Err(serde::de::Error::duplicate_field("votes")); + } + votes__ = Some(map_.next_value()?); + } + GeneratedField::Proposals => { + if proposals__.is_some() { + return Err(serde::de::Error::duplicate_field("proposals")); + } + proposals__ = Some(map_.next_value()?); + } + GeneratedField::DepositParams => { + if deposit_params__.is_some() { + return Err(serde::de::Error::duplicate_field("depositParams")); + } + deposit_params__ = map_.next_value()?; + } + GeneratedField::VotingParams => { + if voting_params__.is_some() { + return Err(serde::de::Error::duplicate_field("votingParams")); + } + voting_params__ = map_.next_value()?; + } + GeneratedField::TallyParams => { + if tally_params__.is_some() { + return Err(serde::de::Error::duplicate_field("tallyParams")); + } + tally_params__ = map_.next_value()?; + } + } + } + Ok(GenesisState { + starting_proposal_id: starting_proposal_id__.unwrap_or_default(), + deposits: deposits__.unwrap_or_default(), + votes: votes__.unwrap_or_default(), + proposals: proposals__.unwrap_or_default(), + deposit_params: deposit_params__, + voting_params: voting_params__, + tally_params: tally_params__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDeposit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgDeposit", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDeposit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "depositor", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Depositor, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "depositor" => Ok(GeneratedField::Depositor), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDeposit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgDeposit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut depositor__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + } + } + Ok(MsgDeposit { + proposal_id: proposal_id__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgDeposit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDepositResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgDepositResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDepositResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDepositResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgDepositResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgDepositResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgDepositResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSubmitProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.content.is_some() { + len += 1; + } + if !self.initial_deposit.is_empty() { + len += 1; + } + if !self.proposer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgSubmitProposal", len)?; + if let Some(v) = self.content.as_ref() { + struct_ser.serialize_field("content", v)?; + } + if !self.initial_deposit.is_empty() { + struct_ser.serialize_field("initialDeposit", &self.initial_deposit)?; + } + if !self.proposer.is_empty() { + struct_ser.serialize_field("proposer", &self.proposer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "content", + "initial_deposit", + "initialDeposit", + "proposer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Content, + InitialDeposit, + Proposer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "content" => Ok(GeneratedField::Content), + "initialDeposit" | "initial_deposit" => Ok(GeneratedField::InitialDeposit), + "proposer" => Ok(GeneratedField::Proposer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSubmitProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgSubmitProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut content__ = None; + let mut initial_deposit__ = None; + let mut proposer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Content => { + if content__.is_some() { + return Err(serde::de::Error::duplicate_field("content")); + } + content__ = map_.next_value()?; + } + GeneratedField::InitialDeposit => { + if initial_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("initialDeposit")); + } + initial_deposit__ = Some(map_.next_value()?); + } + GeneratedField::Proposer => { + if proposer__.is_some() { + return Err(serde::de::Error::duplicate_field("proposer")); + } + proposer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgSubmitProposal { + content: content__, + initial_deposit: initial_deposit__.unwrap_or_default(), + proposer: proposer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgSubmitProposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSubmitProposalResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgSubmitProposalResponse", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSubmitProposalResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgSubmitProposalResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgSubmitProposalResponse { + proposal_id: proposal_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgSubmitProposalResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVote { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if self.option != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVote", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if self.option != 0 { + let v = VoteOption::try_from(self.option) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + struct_ser.serialize_field("option", &v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVote { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + "option", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + Option, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + "option" => Ok(GeneratedField::Option), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVote; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgVote") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + let mut option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Option => { + if option__.is_some() { + return Err(serde::de::Error::duplicate_field("option")); + } + option__ = Some(map_.next_value::()? as i32); + } + } + } + Ok(MsgVote { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + option: option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgVote", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVoteResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVoteResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVoteResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVoteResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgVoteResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgVoteResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgVoteResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVoteWeighted { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if !self.options.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVoteWeighted", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if !self.options.is_empty() { + struct_ser.serialize_field("options", &self.options)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + "options", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + Options, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + "options" => Ok(GeneratedField::Options), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVoteWeighted; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgVoteWeighted") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + let mut options__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = Some(map_.next_value()?); + } + } + } + Ok(MsgVoteWeighted { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + options: options__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgVoteWeighted", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgVoteWeightedResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVoteWeightedResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgVoteWeightedResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.MsgVoteWeightedResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgVoteWeightedResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.MsgVoteWeightedResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Proposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if self.content.is_some() { + len += 1; + } + if self.status != 0 { + len += 1; + } + if self.final_tally_result.is_some() { + len += 1; + } + if self.submit_time.is_some() { + len += 1; + } + if self.deposit_end_time.is_some() { + len += 1; + } + if !self.total_deposit.is_empty() { + len += 1; + } + if self.voting_start_time.is_some() { + len += 1; + } + if self.voting_end_time.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Proposal", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if let Some(v) = self.content.as_ref() { + struct_ser.serialize_field("content", v)?; + } + if self.status != 0 { + let v = ProposalStatus::try_from(self.status) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.status)))?; + struct_ser.serialize_field("status", &v)?; + } + if let Some(v) = self.final_tally_result.as_ref() { + struct_ser.serialize_field("finalTallyResult", v)?; + } + if let Some(v) = self.submit_time.as_ref() { + struct_ser.serialize_field("submitTime", v)?; + } + if let Some(v) = self.deposit_end_time.as_ref() { + struct_ser.serialize_field("depositEndTime", v)?; + } + if !self.total_deposit.is_empty() { + struct_ser.serialize_field("totalDeposit", &self.total_deposit)?; + } + if let Some(v) = self.voting_start_time.as_ref() { + struct_ser.serialize_field("votingStartTime", v)?; + } + if let Some(v) = self.voting_end_time.as_ref() { + struct_ser.serialize_field("votingEndTime", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Proposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "content", + "status", + "final_tally_result", + "finalTallyResult", + "submit_time", + "submitTime", + "deposit_end_time", + "depositEndTime", + "total_deposit", + "totalDeposit", + "voting_start_time", + "votingStartTime", + "voting_end_time", + "votingEndTime", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Content, + Status, + FinalTallyResult, + SubmitTime, + DepositEndTime, + TotalDeposit, + VotingStartTime, + VotingEndTime, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "content" => Ok(GeneratedField::Content), + "status" => Ok(GeneratedField::Status), + "finalTallyResult" | "final_tally_result" => Ok(GeneratedField::FinalTallyResult), + "submitTime" | "submit_time" => Ok(GeneratedField::SubmitTime), + "depositEndTime" | "deposit_end_time" => Ok(GeneratedField::DepositEndTime), + "totalDeposit" | "total_deposit" => Ok(GeneratedField::TotalDeposit), + "votingStartTime" | "voting_start_time" => Ok(GeneratedField::VotingStartTime), + "votingEndTime" | "voting_end_time" => Ok(GeneratedField::VotingEndTime), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Proposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.Proposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut content__ = None; + let mut status__ = None; + let mut final_tally_result__ = None; + let mut submit_time__ = None; + let mut deposit_end_time__ = None; + let mut total_deposit__ = None; + let mut voting_start_time__ = None; + let mut voting_end_time__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Content => { + if content__.is_some() { + return Err(serde::de::Error::duplicate_field("content")); + } + content__ = map_.next_value()?; + } + GeneratedField::Status => { + if status__.is_some() { + return Err(serde::de::Error::duplicate_field("status")); + } + status__ = Some(map_.next_value::()? as i32); + } + GeneratedField::FinalTallyResult => { + if final_tally_result__.is_some() { + return Err(serde::de::Error::duplicate_field("finalTallyResult")); + } + final_tally_result__ = map_.next_value()?; + } + GeneratedField::SubmitTime => { + if submit_time__.is_some() { + return Err(serde::de::Error::duplicate_field("submitTime")); + } + submit_time__ = map_.next_value()?; + } + GeneratedField::DepositEndTime => { + if deposit_end_time__.is_some() { + return Err(serde::de::Error::duplicate_field("depositEndTime")); + } + deposit_end_time__ = map_.next_value()?; + } + GeneratedField::TotalDeposit => { + if total_deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("totalDeposit")); + } + total_deposit__ = Some(map_.next_value()?); + } + GeneratedField::VotingStartTime => { + if voting_start_time__.is_some() { + return Err(serde::de::Error::duplicate_field("votingStartTime")); + } + voting_start_time__ = map_.next_value()?; + } + GeneratedField::VotingEndTime => { + if voting_end_time__.is_some() { + return Err(serde::de::Error::duplicate_field("votingEndTime")); + } + voting_end_time__ = map_.next_value()?; + } + } + } + Ok(Proposal { + proposal_id: proposal_id__.unwrap_or_default(), + content: content__, + status: status__.unwrap_or_default(), + final_tally_result: final_tally_result__, + submit_time: submit_time__, + deposit_end_time: deposit_end_time__, + total_deposit: total_deposit__.unwrap_or_default(), + voting_start_time: voting_start_time__, + voting_end_time: voting_end_time__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.Proposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ProposalStatus { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "PROPOSAL_STATUS_UNSPECIFIED", + Self::DepositPeriod => "PROPOSAL_STATUS_DEPOSIT_PERIOD", + Self::VotingPeriod => "PROPOSAL_STATUS_VOTING_PERIOD", + Self::Passed => "PROPOSAL_STATUS_PASSED", + Self::Rejected => "PROPOSAL_STATUS_REJECTED", + Self::Failed => "PROPOSAL_STATUS_FAILED", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for ProposalStatus { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "PROPOSAL_STATUS_UNSPECIFIED", + "PROPOSAL_STATUS_DEPOSIT_PERIOD", + "PROPOSAL_STATUS_VOTING_PERIOD", + "PROPOSAL_STATUS_PASSED", + "PROPOSAL_STATUS_REJECTED", + "PROPOSAL_STATUS_FAILED", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ProposalStatus; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "PROPOSAL_STATUS_UNSPECIFIED" => Ok(ProposalStatus::Unspecified), + "PROPOSAL_STATUS_DEPOSIT_PERIOD" => Ok(ProposalStatus::DepositPeriod), + "PROPOSAL_STATUS_VOTING_PERIOD" => Ok(ProposalStatus::VotingPeriod), + "PROPOSAL_STATUS_PASSED" => Ok(ProposalStatus::Passed), + "PROPOSAL_STATUS_REJECTED" => Ok(ProposalStatus::Rejected), + "PROPOSAL_STATUS_FAILED" => Ok(ProposalStatus::Failed), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "depositor", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Depositor, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "depositor" => Ok(GeneratedField::Depositor), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut depositor__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDepositRequest { + proposal_id: proposal_id__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryDepositRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.deposit.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositResponse", len)?; + if let Some(v) = self.deposit.as_ref() { + struct_ser.serialize_field("deposit", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deposit", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deposit, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deposit" => Ok(GeneratedField::Deposit), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deposit__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deposit => { + if deposit__.is_some() { + return Err(serde::de::Error::duplicate_field("deposit")); + } + deposit__ = map_.next_value()?; + } + } + } + Ok(QueryDepositResponse { + deposit: deposit__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryDepositResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositsRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDepositsRequest { + proposal_id: proposal_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryDepositsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDepositsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.deposits.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositsResponse", len)?; + if !self.deposits.is_empty() { + struct_ser.serialize_field("deposits", &self.deposits)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deposits", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deposits, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deposits" => Ok(GeneratedField::Deposits), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDepositsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deposits__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deposits => { + if deposits__.is_some() { + return Err(serde::de::Error::duplicate_field("deposits")); + } + deposits__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDepositsResponse { + deposits: deposits__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryDepositsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.params_type.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryParamsRequest", len)?; + if !self.params_type.is_empty() { + struct_ser.serialize_field("paramsType", &self.params_type)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params_type", + "paramsType", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ParamsType, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "paramsType" | "params_type" => Ok(GeneratedField::ParamsType), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params_type__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ParamsType => { + if params_type__.is_some() { + return Err(serde::de::Error::duplicate_field("paramsType")); + } + params_type__ = Some(map_.next_value()?); + } + } + } + Ok(QueryParamsRequest { + params_type: params_type__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.voting_params.is_some() { + len += 1; + } + if self.deposit_params.is_some() { + len += 1; + } + if self.tally_params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryParamsResponse", len)?; + if let Some(v) = self.voting_params.as_ref() { + struct_ser.serialize_field("votingParams", v)?; + } + if let Some(v) = self.deposit_params.as_ref() { + struct_ser.serialize_field("depositParams", v)?; + } + if let Some(v) = self.tally_params.as_ref() { + struct_ser.serialize_field("tallyParams", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "voting_params", + "votingParams", + "deposit_params", + "depositParams", + "tally_params", + "tallyParams", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + VotingParams, + DepositParams, + TallyParams, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "votingParams" | "voting_params" => Ok(GeneratedField::VotingParams), + "depositParams" | "deposit_params" => Ok(GeneratedField::DepositParams), + "tallyParams" | "tally_params" => Ok(GeneratedField::TallyParams), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut voting_params__ = None; + let mut deposit_params__ = None; + let mut tally_params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::VotingParams => { + if voting_params__.is_some() { + return Err(serde::de::Error::duplicate_field("votingParams")); + } + voting_params__ = map_.next_value()?; + } + GeneratedField::DepositParams => { + if deposit_params__.is_some() { + return Err(serde::de::Error::duplicate_field("depositParams")); + } + deposit_params__ = map_.next_value()?; + } + GeneratedField::TallyParams => { + if tally_params__.is_some() { + return Err(serde::de::Error::duplicate_field("tallyParams")); + } + tally_params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + voting_params: voting_params__, + deposit_params: deposit_params__, + tally_params: tally_params__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryProposalRequest { + proposal_id: proposal_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryProposalRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalResponse", len)?; + if let Some(v) = self.proposal.as_ref() { + struct_ser.serialize_field("proposal", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Proposal, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposal" => Ok(GeneratedField::Proposal), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Proposal => { + if proposal__.is_some() { + return Err(serde::de::Error::duplicate_field("proposal")); + } + proposal__ = map_.next_value()?; + } + } + } + Ok(QueryProposalResponse { + proposal: proposal__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryProposalResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_status != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if !self.depositor.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalsRequest", len)?; + if self.proposal_status != 0 { + let v = ProposalStatus::try_from(self.proposal_status) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.proposal_status)))?; + struct_ser.serialize_field("proposalStatus", &v)?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if !self.depositor.is_empty() { + struct_ser.serialize_field("depositor", &self.depositor)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_status", + "proposalStatus", + "voter", + "depositor", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalStatus, + Voter, + Depositor, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalStatus" | "proposal_status" => Ok(GeneratedField::ProposalStatus), + "voter" => Ok(GeneratedField::Voter), + "depositor" => Ok(GeneratedField::Depositor), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_status__ = None; + let mut voter__ = None; + let mut depositor__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalStatus => { + if proposal_status__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalStatus")); + } + proposal_status__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Depositor => { + if depositor__.is_some() { + return Err(serde::de::Error::duplicate_field("depositor")); + } + depositor__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryProposalsRequest { + proposal_status: proposal_status__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + depositor: depositor__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryProposalsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryProposalsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.proposals.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalsResponse", len)?; + if !self.proposals.is_empty() { + struct_ser.serialize_field("proposals", &self.proposals)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposals", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Proposals, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposals" => Ok(GeneratedField::Proposals), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryProposalsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposals__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Proposals => { + if proposals__.is_some() { + return Err(serde::de::Error::duplicate_field("proposals")); + } + proposals__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryProposalsResponse { + proposals: proposals__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryProposalsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTallyResultRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryTallyResultRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTallyResultRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryTallyResultRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryTallyResultRequest { + proposal_id: proposal_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryTallyResultRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTallyResultResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.tally.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryTallyResultResponse", len)?; + if let Some(v) = self.tally.as_ref() { + struct_ser.serialize_field("tally", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "tally", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Tally, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "tally" => Ok(GeneratedField::Tally), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTallyResultResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryTallyResultResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut tally__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Tally => { + if tally__.is_some() { + return Err(serde::de::Error::duplicate_field("tally")); + } + tally__ = map_.next_value()?; + } + } + } + Ok(QueryTallyResultResponse { + tally: tally__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryTallyResultResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVoteRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVoteRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVoteRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVoteRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryVoteRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + } + } + Ok(QueryVoteRequest { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryVoteRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVoteResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.vote.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVoteResponse", len)?; + if let Some(v) = self.vote.as_ref() { + struct_ser.serialize_field("vote", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVoteResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "vote", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Vote, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "vote" => Ok(GeneratedField::Vote), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVoteResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryVoteResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut vote__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Vote => { + if vote__.is_some() { + return Err(serde::de::Error::duplicate_field("vote")); + } + vote__ = map_.next_value()?; + } + } + } + Ok(QueryVoteResponse { + vote: vote__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryVoteResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVotesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVotesRequest", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVotesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVotesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryVotesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryVotesRequest { + proposal_id: proposal_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryVotesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryVotesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.votes.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVotesResponse", len)?; + if !self.votes.is_empty() { + struct_ser.serialize_field("votes", &self.votes)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryVotesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "votes", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Votes, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "votes" => Ok(GeneratedField::Votes), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryVotesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.QueryVotesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut votes__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Votes => { + if votes__.is_some() { + return Err(serde::de::Error::duplicate_field("votes")); + } + votes__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryVotesResponse { + votes: votes__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.QueryVotesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TallyParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.quorum.is_empty() { + len += 1; + } + if !self.threshold.is_empty() { + len += 1; + } + if !self.veto_threshold.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TallyParams", len)?; + if !self.quorum.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("quorum", pbjson::private::base64::encode(&self.quorum).as_str())?; + } + if !self.threshold.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("threshold", pbjson::private::base64::encode(&self.threshold).as_str())?; + } + if !self.veto_threshold.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("vetoThreshold", pbjson::private::base64::encode(&self.veto_threshold).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TallyParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "quorum", + "threshold", + "veto_threshold", + "vetoThreshold", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Quorum, + Threshold, + VetoThreshold, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "quorum" => Ok(GeneratedField::Quorum), + "threshold" => Ok(GeneratedField::Threshold), + "vetoThreshold" | "veto_threshold" => Ok(GeneratedField::VetoThreshold), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TallyParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.TallyParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut quorum__ = None; + let mut threshold__ = None; + let mut veto_threshold__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Quorum => { + if quorum__.is_some() { + return Err(serde::de::Error::duplicate_field("quorum")); + } + quorum__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Threshold => { + if threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("threshold")); + } + threshold__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::VetoThreshold => { + if veto_threshold__.is_some() { + return Err(serde::de::Error::duplicate_field("vetoThreshold")); + } + veto_threshold__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(TallyParams { + quorum: quorum__.unwrap_or_default(), + threshold: threshold__.unwrap_or_default(), + veto_threshold: veto_threshold__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.TallyParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TallyResult { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.yes.is_empty() { + len += 1; + } + if !self.abstain.is_empty() { + len += 1; + } + if !self.no.is_empty() { + len += 1; + } + if !self.no_with_veto.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TallyResult", len)?; + if !self.yes.is_empty() { + struct_ser.serialize_field("yes", &self.yes)?; + } + if !self.abstain.is_empty() { + struct_ser.serialize_field("abstain", &self.abstain)?; + } + if !self.no.is_empty() { + struct_ser.serialize_field("no", &self.no)?; + } + if !self.no_with_veto.is_empty() { + struct_ser.serialize_field("noWithVeto", &self.no_with_veto)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TallyResult { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "yes", + "abstain", + "no", + "no_with_veto", + "noWithVeto", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Yes, + Abstain, + No, + NoWithVeto, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "yes" => Ok(GeneratedField::Yes), + "abstain" => Ok(GeneratedField::Abstain), + "no" => Ok(GeneratedField::No), + "noWithVeto" | "no_with_veto" => Ok(GeneratedField::NoWithVeto), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TallyResult; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.TallyResult") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut yes__ = None; + let mut abstain__ = None; + let mut no__ = None; + let mut no_with_veto__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Yes => { + if yes__.is_some() { + return Err(serde::de::Error::duplicate_field("yes")); + } + yes__ = Some(map_.next_value()?); + } + GeneratedField::Abstain => { + if abstain__.is_some() { + return Err(serde::de::Error::duplicate_field("abstain")); + } + abstain__ = Some(map_.next_value()?); + } + GeneratedField::No => { + if no__.is_some() { + return Err(serde::de::Error::duplicate_field("no")); + } + no__ = Some(map_.next_value()?); + } + GeneratedField::NoWithVeto => { + if no_with_veto__.is_some() { + return Err(serde::de::Error::duplicate_field("noWithVeto")); + } + no_with_veto__ = Some(map_.next_value()?); + } + } + } + Ok(TallyResult { + yes: yes__.unwrap_or_default(), + abstain: abstain__.unwrap_or_default(), + no: no__.unwrap_or_default(), + no_with_veto: no_with_veto__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.TallyResult", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TextProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.title.is_empty() { + len += 1; + } + if !self.description.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TextProposal", len)?; + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.description.is_empty() { + struct_ser.serialize_field("description", &self.description)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TextProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "title", + "description", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Title, + Description, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "title" => Ok(GeneratedField::Title), + "description" => Ok(GeneratedField::Description), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TextProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.TextProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut title__ = None; + let mut description__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = Some(map_.next_value()?); + } + } + } + Ok(TextProposal { + title: title__.unwrap_or_default(), + description: description__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.TextProposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Vote { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proposal_id != 0 { + len += 1; + } + if !self.voter.is_empty() { + len += 1; + } + if self.option != 0 { + len += 1; + } + if !self.options.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Vote", len)?; + if self.proposal_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + } + if !self.voter.is_empty() { + struct_ser.serialize_field("voter", &self.voter)?; + } + if self.option != 0 { + let v = VoteOption::try_from(self.option) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + struct_ser.serialize_field("option", &v)?; + } + if !self.options.is_empty() { + struct_ser.serialize_field("options", &self.options)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Vote { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proposal_id", + "proposalId", + "voter", + "option", + "options", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ProposalId, + Voter, + Option, + Options, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proposalId" | "proposal_id" => Ok(GeneratedField::ProposalId), + "voter" => Ok(GeneratedField::Voter), + "option" => Ok(GeneratedField::Option), + "options" => Ok(GeneratedField::Options), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Vote; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.Vote") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proposal_id__ = None; + let mut voter__ = None; + let mut option__ = None; + let mut options__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ProposalId => { + if proposal_id__.is_some() { + return Err(serde::de::Error::duplicate_field("proposalId")); + } + proposal_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Voter => { + if voter__.is_some() { + return Err(serde::de::Error::duplicate_field("voter")); + } + voter__ = Some(map_.next_value()?); + } + GeneratedField::Option => { + if option__.is_some() { + return Err(serde::de::Error::duplicate_field("option")); + } + option__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = Some(map_.next_value()?); + } + } + } + Ok(Vote { + proposal_id: proposal_id__.unwrap_or_default(), + voter: voter__.unwrap_or_default(), + option: option__.unwrap_or_default(), + options: options__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.Vote", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for VoteOption { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "VOTE_OPTION_UNSPECIFIED", + Self::Yes => "VOTE_OPTION_YES", + Self::Abstain => "VOTE_OPTION_ABSTAIN", + Self::No => "VOTE_OPTION_NO", + Self::NoWithVeto => "VOTE_OPTION_NO_WITH_VETO", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for VoteOption { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "VOTE_OPTION_UNSPECIFIED", + "VOTE_OPTION_YES", + "VOTE_OPTION_ABSTAIN", + "VOTE_OPTION_NO", + "VOTE_OPTION_NO_WITH_VETO", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = VoteOption; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "VOTE_OPTION_UNSPECIFIED" => Ok(VoteOption::Unspecified), + "VOTE_OPTION_YES" => Ok(VoteOption::Yes), + "VOTE_OPTION_ABSTAIN" => Ok(VoteOption::Abstain), + "VOTE_OPTION_NO" => Ok(VoteOption::No), + "VOTE_OPTION_NO_WITH_VETO" => Ok(VoteOption::NoWithVeto), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for VotingParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.voting_period.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.VotingParams", len)?; + if let Some(v) = self.voting_period.as_ref() { + struct_ser.serialize_field("votingPeriod", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for VotingParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "voting_period", + "votingPeriod", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + VotingPeriod, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "votingPeriod" | "voting_period" => Ok(GeneratedField::VotingPeriod), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = VotingParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.VotingParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut voting_period__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::VotingPeriod => { + if voting_period__.is_some() { + return Err(serde::de::Error::duplicate_field("votingPeriod")); + } + voting_period__ = map_.next_value()?; + } + } + } + Ok(VotingParams { + voting_period: voting_period__, + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.VotingParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for WeightedVoteOption { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.option != 0 { + len += 1; + } + if !self.weight.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.WeightedVoteOption", len)?; + if self.option != 0 { + let v = VoteOption::try_from(self.option) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + struct_ser.serialize_field("option", &v)?; + } + if !self.weight.is_empty() { + struct_ser.serialize_field("weight", &self.weight)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for WeightedVoteOption { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "option", + "weight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Option, + Weight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "option" => Ok(GeneratedField::Option), + "weight" => Ok(GeneratedField::Weight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = WeightedVoteOption; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.gov.v1beta1.WeightedVoteOption") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut option__ = None; + let mut weight__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Option => { + if option__.is_some() { + return Err(serde::de::Error::duplicate_field("option")); + } + option__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Weight => { + if weight__.is_some() { + return Err(serde::de::Error::duplicate_field("weight")); + } + weight__ = Some(map_.next_value()?); + } + } + } + Ok(WeightedVoteOption { + option: option__.unwrap_or_default(), + weight: weight__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.gov.v1beta1.WeightedVoteOption", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.ics23.v1.serde.rs b/src/prost/cosmos.ics23.v1.serde.rs new file mode 100644 index 00000000..151c92f7 --- /dev/null +++ b/src/prost/cosmos.ics23.v1.serde.rs @@ -0,0 +1,1936 @@ +impl serde::Serialize for BatchEntry { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proof.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.BatchEntry", len)?; + if let Some(v) = self.proof.as_ref() { + match v { + batch_entry::Proof::Exist(v) => { + struct_ser.serialize_field("exist", v)?; + } + batch_entry::Proof::Nonexist(v) => { + struct_ser.serialize_field("nonexist", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for BatchEntry { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "exist", + "nonexist", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Exist, + Nonexist, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "exist" => Ok(GeneratedField::Exist), + "nonexist" => Ok(GeneratedField::Nonexist), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = BatchEntry; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.BatchEntry") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proof__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Exist => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("exist")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_entry::Proof::Exist) +; + } + GeneratedField::Nonexist => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("nonexist")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_entry::Proof::Nonexist) +; + } + } + } + Ok(BatchEntry { + proof: proof__, + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.BatchEntry", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for BatchProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.entries.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.BatchProof", len)?; + if !self.entries.is_empty() { + struct_ser.serialize_field("entries", &self.entries)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for BatchProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "entries", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Entries, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "entries" => Ok(GeneratedField::Entries), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = BatchProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.BatchProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut entries__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Entries => { + if entries__.is_some() { + return Err(serde::de::Error::duplicate_field("entries")); + } + entries__ = Some(map_.next_value()?); + } + } + } + Ok(BatchProof { + entries: entries__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.BatchProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CommitmentProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proof.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CommitmentProof", len)?; + if let Some(v) = self.proof.as_ref() { + match v { + commitment_proof::Proof::Exist(v) => { + struct_ser.serialize_field("exist", v)?; + } + commitment_proof::Proof::Nonexist(v) => { + struct_ser.serialize_field("nonexist", v)?; + } + commitment_proof::Proof::Batch(v) => { + struct_ser.serialize_field("batch", v)?; + } + commitment_proof::Proof::Compressed(v) => { + struct_ser.serialize_field("compressed", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CommitmentProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "exist", + "nonexist", + "batch", + "compressed", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Exist, + Nonexist, + Batch, + Compressed, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "exist" => Ok(GeneratedField::Exist), + "nonexist" => Ok(GeneratedField::Nonexist), + "batch" => Ok(GeneratedField::Batch), + "compressed" => Ok(GeneratedField::Compressed), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CommitmentProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.CommitmentProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proof__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Exist => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("exist")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Exist) +; + } + GeneratedField::Nonexist => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("nonexist")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Nonexist) +; + } + GeneratedField::Batch => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("batch")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Batch) +; + } + GeneratedField::Compressed => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("compressed")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Compressed) +; + } + } + } + Ok(CommitmentProof { + proof: proof__, + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.CommitmentProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CompressedBatchEntry { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.proof.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedBatchEntry", len)?; + if let Some(v) = self.proof.as_ref() { + match v { + compressed_batch_entry::Proof::Exist(v) => { + struct_ser.serialize_field("exist", v)?; + } + compressed_batch_entry::Proof::Nonexist(v) => { + struct_ser.serialize_field("nonexist", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CompressedBatchEntry { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "exist", + "nonexist", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Exist, + Nonexist, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "exist" => Ok(GeneratedField::Exist), + "nonexist" => Ok(GeneratedField::Nonexist), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CompressedBatchEntry; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.CompressedBatchEntry") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proof__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Exist => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("exist")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(compressed_batch_entry::Proof::Exist) +; + } + GeneratedField::Nonexist => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("nonexist")); + } + proof__ = map_.next_value::<::std::option::Option<_>>()?.map(compressed_batch_entry::Proof::Nonexist) +; + } + } + } + Ok(CompressedBatchEntry { + proof: proof__, + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.CompressedBatchEntry", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CompressedBatchProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.entries.is_empty() { + len += 1; + } + if !self.lookup_inners.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedBatchProof", len)?; + if !self.entries.is_empty() { + struct_ser.serialize_field("entries", &self.entries)?; + } + if !self.lookup_inners.is_empty() { + struct_ser.serialize_field("lookupInners", &self.lookup_inners)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CompressedBatchProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "entries", + "lookup_inners", + "lookupInners", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Entries, + LookupInners, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "entries" => Ok(GeneratedField::Entries), + "lookupInners" | "lookup_inners" => Ok(GeneratedField::LookupInners), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CompressedBatchProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.CompressedBatchProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut entries__ = None; + let mut lookup_inners__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Entries => { + if entries__.is_some() { + return Err(serde::de::Error::duplicate_field("entries")); + } + entries__ = Some(map_.next_value()?); + } + GeneratedField::LookupInners => { + if lookup_inners__.is_some() { + return Err(serde::de::Error::duplicate_field("lookupInners")); + } + lookup_inners__ = Some(map_.next_value()?); + } + } + } + Ok(CompressedBatchProof { + entries: entries__.unwrap_or_default(), + lookup_inners: lookup_inners__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.CompressedBatchProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CompressedExistenceProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + if self.leaf.is_some() { + len += 1; + } + if !self.path.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedExistenceProof", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + if let Some(v) = self.leaf.as_ref() { + struct_ser.serialize_field("leaf", v)?; + } + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "value", + "leaf", + "path", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Value, + Leaf, + Path, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + "leaf" => Ok(GeneratedField::Leaf), + "path" => Ok(GeneratedField::Path), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CompressedExistenceProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.CompressedExistenceProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut value__ = None; + let mut leaf__ = None; + let mut path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Leaf => { + if leaf__.is_some() { + return Err(serde::de::Error::duplicate_field("leaf")); + } + leaf__ = map_.next_value()?; + } + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(CompressedExistenceProof { + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + leaf: leaf__, + path: path__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.CompressedExistenceProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CompressedNonExistenceProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if self.left.is_some() { + len += 1; + } + if self.right.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedNonExistenceProof", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if let Some(v) = self.left.as_ref() { + struct_ser.serialize_field("left", v)?; + } + if let Some(v) = self.right.as_ref() { + struct_ser.serialize_field("right", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CompressedNonExistenceProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "left", + "right", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Left, + Right, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "left" => Ok(GeneratedField::Left), + "right" => Ok(GeneratedField::Right), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CompressedNonExistenceProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.CompressedNonExistenceProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut left__ = None; + let mut right__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Left => { + if left__.is_some() { + return Err(serde::de::Error::duplicate_field("left")); + } + left__ = map_.next_value()?; + } + GeneratedField::Right => { + if right__.is_some() { + return Err(serde::de::Error::duplicate_field("right")); + } + right__ = map_.next_value()?; + } + } + } + Ok(CompressedNonExistenceProof { + key: key__.unwrap_or_default(), + left: left__, + right: right__, + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.CompressedNonExistenceProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ExistenceProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + if self.leaf.is_some() { + len += 1; + } + if !self.path.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.ExistenceProof", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + if let Some(v) = self.leaf.as_ref() { + struct_ser.serialize_field("leaf", v)?; + } + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ExistenceProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "value", + "leaf", + "path", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Value, + Leaf, + Path, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + "leaf" => Ok(GeneratedField::Leaf), + "path" => Ok(GeneratedField::Path), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ExistenceProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.ExistenceProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut value__ = None; + let mut leaf__ = None; + let mut path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Leaf => { + if leaf__.is_some() { + return Err(serde::de::Error::duplicate_field("leaf")); + } + leaf__ = map_.next_value()?; + } + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = Some(map_.next_value()?); + } + } + } + Ok(ExistenceProof { + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + leaf: leaf__, + path: path__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.ExistenceProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for HashOp { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::NoHash => "NO_HASH", + Self::Sha256 => "SHA256", + Self::Sha512 => "SHA512", + Self::Keccak => "KECCAK", + Self::Ripemd160 => "RIPEMD160", + Self::Bitcoin => "BITCOIN", + Self::Sha512256 => "SHA512_256", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for HashOp { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "NO_HASH", + "SHA256", + "SHA512", + "KECCAK", + "RIPEMD160", + "BITCOIN", + "SHA512_256", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = HashOp; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "NO_HASH" => Ok(HashOp::NoHash), + "SHA256" => Ok(HashOp::Sha256), + "SHA512" => Ok(HashOp::Sha512), + "KECCAK" => Ok(HashOp::Keccak), + "RIPEMD160" => Ok(HashOp::Ripemd160), + "BITCOIN" => Ok(HashOp::Bitcoin), + "SHA512_256" => Ok(HashOp::Sha512256), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for InnerOp { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.hash != 0 { + len += 1; + } + if !self.prefix.is_empty() { + len += 1; + } + if !self.suffix.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.InnerOp", len)?; + if self.hash != 0 { + let v = HashOp::try_from(self.hash) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.hash)))?; + struct_ser.serialize_field("hash", &v)?; + } + if !self.prefix.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&self.prefix).as_str())?; + } + if !self.suffix.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("suffix", pbjson::private::base64::encode(&self.suffix).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InnerOp { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hash", + "prefix", + "suffix", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Hash, + Prefix, + Suffix, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hash" => Ok(GeneratedField::Hash), + "prefix" => Ok(GeneratedField::Prefix), + "suffix" => Ok(GeneratedField::Suffix), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InnerOp; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.InnerOp") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hash__ = None; + let mut prefix__ = None; + let mut suffix__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Prefix => { + if prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("prefix")); + } + prefix__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Suffix => { + if suffix__.is_some() { + return Err(serde::de::Error::duplicate_field("suffix")); + } + suffix__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(InnerOp { + hash: hash__.unwrap_or_default(), + prefix: prefix__.unwrap_or_default(), + suffix: suffix__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.InnerOp", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for InnerSpec { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.child_order.is_empty() { + len += 1; + } + if self.child_size != 0 { + len += 1; + } + if self.min_prefix_length != 0 { + len += 1; + } + if self.max_prefix_length != 0 { + len += 1; + } + if !self.empty_child.is_empty() { + len += 1; + } + if self.hash != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.InnerSpec", len)?; + if !self.child_order.is_empty() { + struct_ser.serialize_field("childOrder", &self.child_order)?; + } + if self.child_size != 0 { + struct_ser.serialize_field("childSize", &self.child_size)?; + } + if self.min_prefix_length != 0 { + struct_ser.serialize_field("minPrefixLength", &self.min_prefix_length)?; + } + if self.max_prefix_length != 0 { + struct_ser.serialize_field("maxPrefixLength", &self.max_prefix_length)?; + } + if !self.empty_child.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("emptyChild", pbjson::private::base64::encode(&self.empty_child).as_str())?; + } + if self.hash != 0 { + let v = HashOp::try_from(self.hash) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.hash)))?; + struct_ser.serialize_field("hash", &v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InnerSpec { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "child_order", + "childOrder", + "child_size", + "childSize", + "min_prefix_length", + "minPrefixLength", + "max_prefix_length", + "maxPrefixLength", + "empty_child", + "emptyChild", + "hash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChildOrder, + ChildSize, + MinPrefixLength, + MaxPrefixLength, + EmptyChild, + Hash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "childOrder" | "child_order" => Ok(GeneratedField::ChildOrder), + "childSize" | "child_size" => Ok(GeneratedField::ChildSize), + "minPrefixLength" | "min_prefix_length" => Ok(GeneratedField::MinPrefixLength), + "maxPrefixLength" | "max_prefix_length" => Ok(GeneratedField::MaxPrefixLength), + "emptyChild" | "empty_child" => Ok(GeneratedField::EmptyChild), + "hash" => Ok(GeneratedField::Hash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InnerSpec; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.InnerSpec") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut child_order__ = None; + let mut child_size__ = None; + let mut min_prefix_length__ = None; + let mut max_prefix_length__ = None; + let mut empty_child__ = None; + let mut hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChildOrder => { + if child_order__.is_some() { + return Err(serde::de::Error::duplicate_field("childOrder")); + } + child_order__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::ChildSize => { + if child_size__.is_some() { + return Err(serde::de::Error::duplicate_field("childSize")); + } + child_size__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::MinPrefixLength => { + if min_prefix_length__.is_some() { + return Err(serde::de::Error::duplicate_field("minPrefixLength")); + } + min_prefix_length__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::MaxPrefixLength => { + if max_prefix_length__.is_some() { + return Err(serde::de::Error::duplicate_field("maxPrefixLength")); + } + max_prefix_length__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::EmptyChild => { + if empty_child__.is_some() { + return Err(serde::de::Error::duplicate_field("emptyChild")); + } + empty_child__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = Some(map_.next_value::()? as i32); + } + } + } + Ok(InnerSpec { + child_order: child_order__.unwrap_or_default(), + child_size: child_size__.unwrap_or_default(), + min_prefix_length: min_prefix_length__.unwrap_or_default(), + max_prefix_length: max_prefix_length__.unwrap_or_default(), + empty_child: empty_child__.unwrap_or_default(), + hash: hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.InnerSpec", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for LeafOp { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.hash != 0 { + len += 1; + } + if self.prehash_key != 0 { + len += 1; + } + if self.prehash_value != 0 { + len += 1; + } + if self.length != 0 { + len += 1; + } + if !self.prefix.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.LeafOp", len)?; + if self.hash != 0 { + let v = HashOp::try_from(self.hash) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.hash)))?; + struct_ser.serialize_field("hash", &v)?; + } + if self.prehash_key != 0 { + let v = HashOp::try_from(self.prehash_key) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.prehash_key)))?; + struct_ser.serialize_field("prehashKey", &v)?; + } + if self.prehash_value != 0 { + let v = HashOp::try_from(self.prehash_value) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.prehash_value)))?; + struct_ser.serialize_field("prehashValue", &v)?; + } + if self.length != 0 { + let v = LengthOp::try_from(self.length) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.length)))?; + struct_ser.serialize_field("length", &v)?; + } + if !self.prefix.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&self.prefix).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for LeafOp { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hash", + "prehash_key", + "prehashKey", + "prehash_value", + "prehashValue", + "length", + "prefix", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Hash, + PrehashKey, + PrehashValue, + Length, + Prefix, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hash" => Ok(GeneratedField::Hash), + "prehashKey" | "prehash_key" => Ok(GeneratedField::PrehashKey), + "prehashValue" | "prehash_value" => Ok(GeneratedField::PrehashValue), + "length" => Ok(GeneratedField::Length), + "prefix" => Ok(GeneratedField::Prefix), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = LeafOp; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.LeafOp") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hash__ = None; + let mut prehash_key__ = None; + let mut prehash_value__ = None; + let mut length__ = None; + let mut prefix__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = Some(map_.next_value::()? as i32); + } + GeneratedField::PrehashKey => { + if prehash_key__.is_some() { + return Err(serde::de::Error::duplicate_field("prehashKey")); + } + prehash_key__ = Some(map_.next_value::()? as i32); + } + GeneratedField::PrehashValue => { + if prehash_value__.is_some() { + return Err(serde::de::Error::duplicate_field("prehashValue")); + } + prehash_value__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Length => { + if length__.is_some() { + return Err(serde::de::Error::duplicate_field("length")); + } + length__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Prefix => { + if prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("prefix")); + } + prefix__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(LeafOp { + hash: hash__.unwrap_or_default(), + prehash_key: prehash_key__.unwrap_or_default(), + prehash_value: prehash_value__.unwrap_or_default(), + length: length__.unwrap_or_default(), + prefix: prefix__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.LeafOp", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for LengthOp { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::NoPrefix => "NO_PREFIX", + Self::VarProto => "VAR_PROTO", + Self::VarRlp => "VAR_RLP", + Self::Fixed32Big => "FIXED32_BIG", + Self::Fixed32Little => "FIXED32_LITTLE", + Self::Fixed64Big => "FIXED64_BIG", + Self::Fixed64Little => "FIXED64_LITTLE", + Self::Require32Bytes => "REQUIRE_32_BYTES", + Self::Require64Bytes => "REQUIRE_64_BYTES", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for LengthOp { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "NO_PREFIX", + "VAR_PROTO", + "VAR_RLP", + "FIXED32_BIG", + "FIXED32_LITTLE", + "FIXED64_BIG", + "FIXED64_LITTLE", + "REQUIRE_32_BYTES", + "REQUIRE_64_BYTES", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = LengthOp; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "NO_PREFIX" => Ok(LengthOp::NoPrefix), + "VAR_PROTO" => Ok(LengthOp::VarProto), + "VAR_RLP" => Ok(LengthOp::VarRlp), + "FIXED32_BIG" => Ok(LengthOp::Fixed32Big), + "FIXED32_LITTLE" => Ok(LengthOp::Fixed32Little), + "FIXED64_BIG" => Ok(LengthOp::Fixed64Big), + "FIXED64_LITTLE" => Ok(LengthOp::Fixed64Little), + "REQUIRE_32_BYTES" => Ok(LengthOp::Require32Bytes), + "REQUIRE_64_BYTES" => Ok(LengthOp::Require64Bytes), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for NonExistenceProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if self.left.is_some() { + len += 1; + } + if self.right.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.NonExistenceProof", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if let Some(v) = self.left.as_ref() { + struct_ser.serialize_field("left", v)?; + } + if let Some(v) = self.right.as_ref() { + struct_ser.serialize_field("right", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for NonExistenceProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "left", + "right", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Left, + Right, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "left" => Ok(GeneratedField::Left), + "right" => Ok(GeneratedField::Right), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = NonExistenceProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.NonExistenceProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut left__ = None; + let mut right__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Left => { + if left__.is_some() { + return Err(serde::de::Error::duplicate_field("left")); + } + left__ = map_.next_value()?; + } + GeneratedField::Right => { + if right__.is_some() { + return Err(serde::de::Error::duplicate_field("right")); + } + right__ = map_.next_value()?; + } + } + } + Ok(NonExistenceProof { + key: key__.unwrap_or_default(), + left: left__, + right: right__, + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.NonExistenceProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ProofSpec { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.leaf_spec.is_some() { + len += 1; + } + if self.inner_spec.is_some() { + len += 1; + } + if self.max_depth != 0 { + len += 1; + } + if self.min_depth != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.ProofSpec", len)?; + if let Some(v) = self.leaf_spec.as_ref() { + struct_ser.serialize_field("leafSpec", v)?; + } + if let Some(v) = self.inner_spec.as_ref() { + struct_ser.serialize_field("innerSpec", v)?; + } + if self.max_depth != 0 { + struct_ser.serialize_field("maxDepth", &self.max_depth)?; + } + if self.min_depth != 0 { + struct_ser.serialize_field("minDepth", &self.min_depth)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ProofSpec { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "leaf_spec", + "leafSpec", + "inner_spec", + "innerSpec", + "max_depth", + "maxDepth", + "min_depth", + "minDepth", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + LeafSpec, + InnerSpec, + MaxDepth, + MinDepth, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "leafSpec" | "leaf_spec" => Ok(GeneratedField::LeafSpec), + "innerSpec" | "inner_spec" => Ok(GeneratedField::InnerSpec), + "maxDepth" | "max_depth" => Ok(GeneratedField::MaxDepth), + "minDepth" | "min_depth" => Ok(GeneratedField::MinDepth), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ProofSpec; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.ics23.v1.ProofSpec") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut leaf_spec__ = None; + let mut inner_spec__ = None; + let mut max_depth__ = None; + let mut min_depth__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::LeafSpec => { + if leaf_spec__.is_some() { + return Err(serde::de::Error::duplicate_field("leafSpec")); + } + leaf_spec__ = map_.next_value()?; + } + GeneratedField::InnerSpec => { + if inner_spec__.is_some() { + return Err(serde::de::Error::duplicate_field("innerSpec")); + } + inner_spec__ = map_.next_value()?; + } + GeneratedField::MaxDepth => { + if max_depth__.is_some() { + return Err(serde::de::Error::duplicate_field("maxDepth")); + } + max_depth__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::MinDepth => { + if min_depth__.is_some() { + return Err(serde::de::Error::duplicate_field("minDepth")); + } + min_depth__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(ProofSpec { + leaf_spec: leaf_spec__, + inner_spec: inner_spec__, + max_depth: max_depth__.unwrap_or_default(), + min_depth: min_depth__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.ics23.v1.ProofSpec", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.staking.module.v1.rs b/src/prost/cosmos.staking.module.v1.rs new file mode 100644 index 00000000..2a8d086b --- /dev/null +++ b/src/prost/cosmos.staking.module.v1.rs @@ -0,0 +1,20 @@ +/// Module is the config object of the staking module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Module { + /// hooks_order specifies the order of staking hooks and should be a list + /// of module names which provide a staking hooks instance. If no order is + /// provided, then hooks will be applied in alphabetical order of module names. + #[prost(string, repeated, tag = "1")] + pub hooks_order: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// authority defines the custom module authority. If not set, defaults to the governance module. + #[prost(string, tag = "2")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for Module { + const NAME: &'static str = "Module"; + const PACKAGE: &'static str = "cosmos.staking.module.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.module.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.staking.module.v1.serde.rs b/src/prost/cosmos.staking.module.v1.serde.rs new file mode 100644 index 00000000..337dabf9 --- /dev/null +++ b/src/prost/cosmos.staking.module.v1.serde.rs @@ -0,0 +1,109 @@ +impl serde::Serialize for Module { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.hooks_order.is_empty() { + len += 1; + } + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.module.v1.Module", len)?; + if !self.hooks_order.is_empty() { + struct_ser.serialize_field("hooksOrder", &self.hooks_order)?; + } + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Module { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hooks_order", + "hooksOrder", + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + HooksOrder, + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hooksOrder" | "hooks_order" => Ok(GeneratedField::HooksOrder), + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Module; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.module.v1.Module") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hooks_order__ = None; + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::HooksOrder => { + if hooks_order__.is_some() { + return Err(serde::de::Error::duplicate_field("hooksOrder")); + } + hooks_order__ = Some(map_.next_value()?); + } + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(Module { + hooks_order: hooks_order__.unwrap_or_default(), + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.module.v1.Module", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.staking.v1beta1.rs b/src/prost/cosmos.staking.v1beta1.rs new file mode 100644 index 00000000..2c2c1b8d --- /dev/null +++ b/src/prost/cosmos.staking.v1beta1.rs @@ -0,0 +1,3742 @@ +/// HistoricalInfo contains header and validator information for a given block. +/// It is stored as part of staking module's state, which persists the `n` most +/// recent HistoricalInfo +/// (`n` is set by the staking module's `historical_entries` parameter). +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HistoricalInfo { + #[prost(message, optional, tag = "1")] + pub header: ::core::option::Option<::tendermint_proto::types::Header>, + #[prost(message, repeated, tag = "2")] + pub valset: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for HistoricalInfo { + const NAME: &'static str = "HistoricalInfo"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// CommissionRates defines the initial commission rates to be used for creating +/// a validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CommissionRates { + /// rate is the commission rate charged to delegators, as a fraction. + #[prost(string, tag = "1")] + pub rate: ::prost::alloc::string::String, + /// max_rate defines the maximum commission rate which validator can ever charge, as a fraction. + #[prost(string, tag = "2")] + pub max_rate: ::prost::alloc::string::String, + /// max_change_rate defines the maximum daily increase of the validator commission, as a fraction. + #[prost(string, tag = "3")] + pub max_change_rate: ::prost::alloc::string::String, +} +impl ::prost::Name for CommissionRates { + const NAME: &'static str = "CommissionRates"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Commission defines commission parameters for a given validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Commission { + /// commission_rates defines the initial commission rates to be used for creating a validator. + #[prost(message, optional, tag = "1")] + pub commission_rates: ::core::option::Option, + /// update_time is the last time the commission rate was changed. + #[prost(message, optional, tag = "2")] + pub update_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, +} +impl ::prost::Name for Commission { + const NAME: &'static str = "Commission"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Description defines a validator description. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Description { + /// moniker defines a human-readable name for the validator. + #[prost(string, tag = "1")] + pub moniker: ::prost::alloc::string::String, + /// identity defines an optional identity signature (ex. UPort or Keybase). + #[prost(string, tag = "2")] + pub identity: ::prost::alloc::string::String, + /// website defines an optional website link. + #[prost(string, tag = "3")] + pub website: ::prost::alloc::string::String, + /// security_contact defines an optional email for security contact. + #[prost(string, tag = "4")] + pub security_contact: ::prost::alloc::string::String, + /// details define other optional details. + #[prost(string, tag = "5")] + pub details: ::prost::alloc::string::String, +} +impl ::prost::Name for Description { + const NAME: &'static str = "Description"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Validator defines a validator, together with the total amount of the +/// Validator's bond shares and their exchange rate to coins. Slashing results in +/// a decrease in the exchange rate, allowing correct calculation of future +/// undelegations without iterating over delegators. When coins are delegated to +/// this validator, the validator is credited with a delegation whose number of +/// bond shares is based on the amount of coins delegated divided by the current +/// exchange rate. Voting power can be calculated as total bonded shares +/// multiplied by exchange rate. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Validator { + /// operator_address defines the address of the validator's operator; bech encoded in JSON. + #[prost(string, tag = "1")] + pub operator_address: ::prost::alloc::string::String, + /// consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. + #[prost(message, optional, tag = "2")] + pub consensus_pubkey: ::core::option::Option< + super::super::super::google::protobuf::Any, + >, + /// jailed defined whether the validator has been jailed from bonded status or not. + #[prost(bool, tag = "3")] + pub jailed: bool, + /// status is the validator status (bonded/unbonding/unbonded). + #[prost(enumeration = "BondStatus", tag = "4")] + pub status: i32, + /// tokens define the delegated tokens (incl. self-delegation). + #[prost(string, tag = "5")] + pub tokens: ::prost::alloc::string::String, + /// delegator_shares defines total shares issued to a validator's delegators. + #[prost(string, tag = "6")] + pub delegator_shares: ::prost::alloc::string::String, + /// description defines the description terms for the validator. + #[prost(message, optional, tag = "7")] + pub description: ::core::option::Option, + /// unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. + #[prost(int64, tag = "8")] + pub unbonding_height: i64, + /// unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. + #[prost(message, optional, tag = "9")] + pub unbonding_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// commission defines the commission parameters. + #[prost(message, optional, tag = "10")] + pub commission: ::core::option::Option, + /// min_self_delegation is the validator's self declared minimum self delegation. + /// + /// Since: cosmos-sdk 0.46 + #[prost(string, tag = "11")] + pub min_self_delegation: ::prost::alloc::string::String, + /// strictly positive if this validator's unbonding has been stopped by external modules + #[prost(int64, tag = "12")] + pub unbonding_on_hold_ref_count: i64, + /// list of unbonding ids, each uniquely identifing an unbonding of this validator + #[prost(uint64, repeated, tag = "13")] + pub unbonding_ids: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Validator { + const NAME: &'static str = "Validator"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// ValAddresses defines a repeated set of validator addresses. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValAddresses { + #[prost(string, repeated, tag = "1")] + pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ValAddresses { + const NAME: &'static str = "ValAddresses"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// DVPair is struct that just has a delegator-validator pair with no other data. +/// It is intended to be used as a marshalable pointer. For example, a DVPair can +/// be used to construct the key to getting an UnbondingDelegation from state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DvPair { + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, +} +impl ::prost::Name for DvPair { + const NAME: &'static str = "DVPair"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// DVPairs defines an array of DVPair objects. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DvPairs { + #[prost(message, repeated, tag = "1")] + pub pairs: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for DvPairs { + const NAME: &'static str = "DVPairs"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// DVVTriplet is struct that just has a delegator-validator-validator triplet +/// with no other data. It is intended to be used as a marshalable pointer. For +/// example, a DVVTriplet can be used to construct the key to getting a +/// Redelegation from state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DvvTriplet { + #[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, +} +impl ::prost::Name for DvvTriplet { + const NAME: &'static str = "DVVTriplet"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// DVVTriplets defines an array of DVVTriplet objects. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DvvTriplets { + #[prost(message, repeated, tag = "1")] + pub triplets: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for DvvTriplets { + const NAME: &'static str = "DVVTriplets"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Delegation represents the bond with tokens held by an account. It is +/// owned by one delegator, and is associated with the voting power of one +/// validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Delegation { + /// delegator_address is the bech32-encoded address of the delegator. + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + /// validator_address is the bech32-encoded address of the validator. + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + /// shares define the delegation shares received. + #[prost(string, tag = "3")] + pub shares: ::prost::alloc::string::String, +} +impl ::prost::Name for Delegation { + const NAME: &'static str = "Delegation"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// UnbondingDelegation stores all of a single delegator's unbonding bonds +/// for a single validator in an time-ordered list. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnbondingDelegation { + /// delegator_address is the bech32-encoded address of the delegator. + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + /// validator_address is the bech32-encoded address of the validator. + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + /// entries are the unbonding delegation entries. + /// + /// unbonding delegation entries + #[prost(message, repeated, tag = "3")] + pub entries: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for UnbondingDelegation { + const NAME: &'static str = "UnbondingDelegation"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// UnbondingDelegationEntry defines an unbonding object with relevant metadata. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnbondingDelegationEntry { + /// creation_height is the height which the unbonding took place. + #[prost(int64, tag = "1")] + pub creation_height: i64, + /// completion_time is the unix time for unbonding completion. + #[prost(message, optional, tag = "2")] + pub completion_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// initial_balance defines the tokens initially scheduled to receive at completion. + #[prost(string, tag = "3")] + pub initial_balance: ::prost::alloc::string::String, + /// balance defines the tokens to receive at completion. + #[prost(string, tag = "4")] + pub balance: ::prost::alloc::string::String, + /// Incrementing id that uniquely identifies this entry + #[prost(uint64, tag = "5")] + pub unbonding_id: u64, + /// Strictly positive if this entry's unbonding has been stopped by external modules + #[prost(int64, tag = "6")] + pub unbonding_on_hold_ref_count: i64, +} +impl ::prost::Name for UnbondingDelegationEntry { + const NAME: &'static str = "UnbondingDelegationEntry"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// RedelegationEntry defines a redelegation object with relevant metadata. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedelegationEntry { + /// creation_height defines the height which the redelegation took place. + #[prost(int64, tag = "1")] + pub creation_height: i64, + /// completion_time defines the unix time for redelegation completion. + #[prost(message, optional, tag = "2")] + pub completion_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, + /// initial_balance defines the initial balance when redelegation started. + #[prost(string, tag = "3")] + pub initial_balance: ::prost::alloc::string::String, + /// shares_dst is the amount of destination-validator shares created by redelegation. + #[prost(string, tag = "4")] + pub shares_dst: ::prost::alloc::string::String, + /// Incrementing id that uniquely identifies this entry + #[prost(uint64, tag = "5")] + pub unbonding_id: u64, + /// Strictly positive if this entry's unbonding has been stopped by external modules + #[prost(int64, tag = "6")] + pub unbonding_on_hold_ref_count: i64, +} +impl ::prost::Name for RedelegationEntry { + const NAME: &'static str = "RedelegationEntry"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Redelegation contains the list of a particular delegator's redelegating bonds +/// from a particular source validator to a particular destination validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Redelegation { + /// delegator_address is the bech32-encoded address of the delegator. + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + /// validator_src_address is the validator redelegation source operator address. + #[prost(string, tag = "2")] + pub validator_src_address: ::prost::alloc::string::String, + /// validator_dst_address is the validator redelegation destination operator address. + #[prost(string, tag = "3")] + pub validator_dst_address: ::prost::alloc::string::String, + /// entries are the redelegation entries. + /// + /// redelegation entries + #[prost(message, repeated, tag = "4")] + pub entries: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Redelegation { + const NAME: &'static str = "Redelegation"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Params defines the parameters for the x/staking module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// unbonding_time is the time duration of unbonding. + #[prost(message, optional, tag = "1")] + pub unbonding_time: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, + /// max_validators is the maximum number of validators. + #[prost(uint32, tag = "2")] + pub max_validators: u32, + /// max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). + #[prost(uint32, tag = "3")] + pub max_entries: u32, + /// historical_entries is the number of historical entries to persist. + #[prost(uint32, tag = "4")] + pub historical_entries: u32, + /// bond_denom defines the bondable coin denomination. + #[prost(string, tag = "5")] + pub bond_denom: ::prost::alloc::string::String, + /// min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators + #[prost(string, tag = "6")] + pub min_commission_rate: ::prost::alloc::string::String, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// DelegationResponse is equivalent to Delegation except that it contains a +/// balance in addition to shares which is more suitable for client responses. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DelegationResponse { + #[prost(message, optional, tag = "1")] + pub delegation: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub balance: ::core::option::Option, +} +impl ::prost::Name for DelegationResponse { + const NAME: &'static str = "DelegationResponse"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// RedelegationEntryResponse is equivalent to a RedelegationEntry except that it +/// contains a balance in addition to shares which is more suitable for client +/// responses. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedelegationEntryResponse { + #[prost(message, optional, tag = "1")] + pub redelegation_entry: ::core::option::Option, + #[prost(string, tag = "4")] + pub balance: ::prost::alloc::string::String, +} +impl ::prost::Name for RedelegationEntryResponse { + const NAME: &'static str = "RedelegationEntryResponse"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// RedelegationResponse is equivalent to a Redelegation except that its entries +/// contain a balance in addition to shares which is more suitable for client +/// responses. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedelegationResponse { + #[prost(message, optional, tag = "1")] + pub redelegation: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub entries: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for RedelegationResponse { + const NAME: &'static str = "RedelegationResponse"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Pool is used for tracking bonded and not-bonded token supply of the bond +/// denomination. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Pool { + #[prost(string, tag = "1")] + pub not_bonded_tokens: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub bonded_tokens: ::prost::alloc::string::String, +} +impl ::prost::Name for Pool { + const NAME: &'static str = "Pool"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// ValidatorUpdates defines an array of abci.ValidatorUpdate objects. +/// TODO: explore moving this to proto/cosmos/base to separate modules from tendermint dependence +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValidatorUpdates { + #[prost(message, repeated, tag = "1")] + pub updates: ::prost::alloc::vec::Vec<::tendermint_proto::abci::ValidatorUpdate>, +} +impl ::prost::Name for ValidatorUpdates { + const NAME: &'static str = "ValidatorUpdates"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// BondStatus is the status of a validator. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum BondStatus { + /// UNSPECIFIED defines an invalid validator status. + Unspecified = 0, + /// UNBONDED defines a validator that is not bonded. + Unbonded = 1, + /// UNBONDING defines a validator that is unbonding. + Unbonding = 2, + /// BONDED defines a validator that is bonded. + Bonded = 3, +} +impl BondStatus { + /// 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 { + BondStatus::Unspecified => "BOND_STATUS_UNSPECIFIED", + BondStatus::Unbonded => "BOND_STATUS_UNBONDED", + BondStatus::Unbonding => "BOND_STATUS_UNBONDING", + BondStatus::Bonded => "BOND_STATUS_BONDED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BOND_STATUS_UNSPECIFIED" => Some(Self::Unspecified), + "BOND_STATUS_UNBONDED" => Some(Self::Unbonded), + "BOND_STATUS_UNBONDING" => Some(Self::Unbonding), + "BOND_STATUS_BONDED" => Some(Self::Bonded), + _ => None, + } + } +} +/// Infraction indicates the infraction a validator commited. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Infraction { + /// UNSPECIFIED defines an empty infraction. + Unspecified = 0, + /// DOUBLE_SIGN defines a validator that double-signs a block. + DoubleSign = 1, + /// DOWNTIME defines a validator that missed signing too many blocks. + Downtime = 2, +} +impl Infraction { + /// 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 { + Infraction::Unspecified => "INFRACTION_UNSPECIFIED", + Infraction::DoubleSign => "INFRACTION_DOUBLE_SIGN", + Infraction::Downtime => "INFRACTION_DOWNTIME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INFRACTION_UNSPECIFIED" => Some(Self::Unspecified), + "INFRACTION_DOUBLE_SIGN" => Some(Self::DoubleSign), + "INFRACTION_DOWNTIME" => Some(Self::Downtime), + _ => None, + } + } +} +/// InfractionType indicates the infraction type a validator commited. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum InfractionType { + /// UNSPECIFIED defines an empty infraction type. + Unspecified = 0, + /// DOUBLE_SIGN defines a validator that double-signs a block. + DoubleSign = 1, + /// DOWNTIME defines a validator that missed signing too many blocks. + Downtime = 2, +} +impl InfractionType { + /// 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 { + InfractionType::Unspecified => "INFRACTION_TYPE_UNSPECIFIED", + InfractionType::DoubleSign => "INFRACTION_TYPE_DOUBLE_SIGN", + InfractionType::Downtime => "INFRACTION_TYPE_DOWNTIME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INFRACTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "INFRACTION_TYPE_DOUBLE_SIGN" => Some(Self::DoubleSign), + "INFRACTION_TYPE_DOWNTIME" => Some(Self::Downtime), + _ => None, + } + } +} +/// MsgCreateValidator defines a SDK message for creating a new validator. +#[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, + #[prost(message, optional, tag = "2")] + pub commission: ::core::option::Option, + #[prost(string, tag = "3")] + pub min_self_delegation: ::prost::alloc::string::String, + #[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, + #[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) + } +} +/// 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"; + 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. +#[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, + #[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 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) + } +} +/// MsgEditValidatorResponse defines the Msg/EditValidator response type. +#[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"; + 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. +#[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, +} +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) + } +} +/// MsgDelegateResponse defines the Msg/Delegate response type. +#[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"; + 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. +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgBeginRedelegateResponse { + #[prost(message, optional, tag = "1")] + pub completion_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, +} +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) + } +} +/// 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 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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgUndelegateResponse { + #[prost(message, optional, tag = "1")] + pub completion_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, +} +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) + } +} +/// MsgCancelUnbondingDelegation defines the SDK message for performing a cancel unbonding delegation for delegator +/// +/// Since: cosmos-sdk 0.46 +#[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) + } +} +/// MsgCancelUnbondingDelegationResponse +/// +/// Since: cosmos-sdk 0.46 +#[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"; + 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. +/// +/// Since: cosmos-sdk 0.47 +#[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/staking 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.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. +/// +/// Since: cosmos-sdk 0.47 +#[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.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the staking Msg service. + #[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 + } + /// CreateValidator defines a method for creating a new validator. + pub async fn create_validator( + &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/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 + } + /// EditValidator defines a method for editing an existing validator. + pub async fn edit_validator( + &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/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 + } + /// Delegate defines a method for performing a delegation of coins + /// from a delegator to a validator. + pub async fn delegate( + &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/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 + } + /// BeginRedelegate defines a method for performing a redelegation + /// of coins from a delegator and source validator to a destination validator. + pub async fn begin_redelegate( + &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/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 + } + /// Undelegate defines a method for performing an undelegation from a + /// delegate and a validator. + pub async fn undelegate( + &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/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 + } + /// CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation + /// and delegate back to previous validator. + /// + /// Since: cosmos-sdk 0.46 + 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 + } + /// UpdateParams defines an operation for updating the x/staking module + /// parameters. + /// Since: cosmos-sdk 0.47 + pub async fn update_params( + &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/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 + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// CreateValidator defines a method for creating a new validator. + async fn create_validator( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// EditValidator defines a method for editing an existing validator. + async fn edit_validator( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Delegate defines a method for performing a delegation of coins + /// from a delegator to a validator. + async fn delegate( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// BeginRedelegate defines a method for performing a redelegation + /// of coins from a delegator and source validator to a destination validator. + async fn begin_redelegate( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Undelegate defines a method for performing an undelegation from a + /// delegate and a validator. + async fn undelegate( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// CancelUnbondingDelegation defines a method for performing canceling the unbonding delegation + /// and delegate back to previous validator. + /// + /// Since: cosmos-sdk 0.46 + async fn cancel_unbonding_delegation( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateParams defines an operation for updating the x/staking module + /// parameters. + /// Since: cosmos-sdk 0.47 + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the staking Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.staking.v1beta1.Msg/CreateValidator" => { + #[allow(non_camel_case_types)] + struct CreateValidatorSvc(pub Arc); + impl tonic::server::UnaryService + for CreateValidatorSvc { + type Response = super::MsgCreateValidatorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::create_validator(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CreateValidatorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Msg/EditValidator" => { + #[allow(non_camel_case_types)] + struct EditValidatorSvc(pub Arc); + impl tonic::server::UnaryService + for EditValidatorSvc { + type Response = super::MsgEditValidatorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::edit_validator(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = EditValidatorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Msg/Delegate" => { + #[allow(non_camel_case_types)] + struct DelegateSvc(pub Arc); + impl tonic::server::UnaryService + for DelegateSvc { + type Response = super::MsgDelegateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::delegate(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DelegateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Msg/BeginRedelegate" => { + #[allow(non_camel_case_types)] + struct BeginRedelegateSvc(pub Arc); + impl tonic::server::UnaryService + for BeginRedelegateSvc { + type Response = super::MsgBeginRedelegateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::begin_redelegate(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = BeginRedelegateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Msg/Undelegate" => { + #[allow(non_camel_case_types)] + struct UndelegateSvc(pub Arc); + impl tonic::server::UnaryService + for UndelegateSvc { + type Response = super::MsgUndelegateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::undelegate(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UndelegateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation" => { + #[allow(non_camel_case_types)] + struct CancelUnbondingDelegationSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for CancelUnbondingDelegationSvc { + type Response = super::MsgCancelUnbondingDelegationResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::cancel_unbonding_delegation(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CancelUnbondingDelegationSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "cosmos.staking.v1beta1.Msg"; + } +} +/// 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 status: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// 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 { + /// validators contains all the queried validators. + #[prost(message, repeated, tag = "1")] + pub validators: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +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) + } +} +/// QueryValidatorRequest is response type for the Query/Validator RPC method +#[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, +} +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 = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// QueryValidatorDelegationsResponse is response type for the +/// Query/ValidatorDelegations RPC method +#[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< + super::super::base::query::v1beta1::PageResponse, + >, +} +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) + } +} +/// QueryValidatorUnbondingDelegationsRequest is required type for the +/// Query/ValidatorUnbondingDelegations RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorUnbondingDelegationsRequest { + /// 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 = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// QueryValidatorUnbondingDelegationsResponse is response type for the +/// Query/ValidatorUnbondingDelegations RPC method. +#[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< + super::super::base::query::v1beta1::PageResponse, + >, +} +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) + } +} +/// QueryDelegationRequest is request type for the Query/Delegation RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDelegationRequest { + /// 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 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) + } +} +/// QueryDelegationResponse is response type for the Query/Delegation RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDelegationResponse { + /// delegation_responses defines the delegation info of a delegation. + #[prost(message, optional, tag = "1")] + pub delegation_response: ::core::option::Option, +} +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) + } +} +/// QueryUnbondingDelegationRequest is request type for the +/// Query/UnbondingDelegation RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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 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) + } +} +/// QueryDelegationResponse is response type for the Query/UnbondingDelegation +/// RPC method. +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// QueryDelegatorDelegationsResponse is response type for the +/// Query/DelegatorDelegations RPC method. +#[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. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +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) + } +} +/// QueryDelegatorUnbondingDelegationsRequest is request type for the +/// Query/DelegatorUnbondingDelegations RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// QueryUnbondingDelegatorDelegationsResponse is response type for the +/// Query/UnbondingDelegatorDelegations RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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< + super::super::base::query::v1beta1::PageResponse, + >, +} +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) + } +} +/// QueryRedelegationsRequest is request type for the Query/Redelegations 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. + #[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, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "4")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// QueryRedelegationsResponse is response type for the Query/Redelegations RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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< + super::super::base::query::v1beta1::PageResponse, + >, +} +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 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 pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +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) + } +} +/// QueryDelegatorValidatorsResponse is response type for the +/// Query/DelegatorValidators 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. + #[prost(message, repeated, tag = "1")] + pub validators: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +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) + } +} +/// QueryDelegatorValidatorRequest is request type for the +/// Query/DelegatorValidator RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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_addr: ::prost::alloc::string::String, +} +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) + } +} +/// QueryDelegatorValidatorResponse response type for the +/// Query/DelegatorValidator RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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) + } +} +/// QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo 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, +} +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) + } +} +/// QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo 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. + #[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) + } +} +/// QueryPoolRequest is request type for the Query/Pool 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"; + 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. +#[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) + } +} +/// 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"; + 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. +#[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, +} +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) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Validators queries all validators that match the given status. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn validators( + &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.Query/Validators", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Validators")); + self.inner.unary(req, path, codec).await + } + /// Validator queries validator info for given validator address. + pub async fn validator( + &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.Query/Validator", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Validator")); + self.inner.unary(req, path, codec).await + } + /// ValidatorDelegations queries delegate info for given validator. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn validator_delegations( + &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.Query/ValidatorDelegations", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.staking.v1beta1.Query", + "ValidatorDelegations", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ValidatorUnbondingDelegations queries unbonding delegations of a validator. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn validator_unbonding_delegations( + &mut self, + request: impl tonic::IntoRequest< + super::QueryValidatorUnbondingDelegationsRequest, + >, + ) -> 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.Query/ValidatorUnbondingDelegations", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.staking.v1beta1.Query", + "ValidatorUnbondingDelegations", + ), + ); + self.inner.unary(req, path, codec).await + } + /// Delegation queries delegate info for given validator delegator pair. + pub async fn 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.Query/Delegation", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Delegation")); + self.inner.unary(req, path, codec).await + } + /// UnbondingDelegation queries unbonding info for given validator delegator + /// pair. + pub async fn 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.Query/UnbondingDelegation", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.staking.v1beta1.Query", + "UnbondingDelegation", + ), + ); + self.inner.unary(req, path, codec).await + } + /// DelegatorDelegations queries all delegations of a given delegator address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn delegator_delegations( + &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.Query/DelegatorDelegations", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.staking.v1beta1.Query", + "DelegatorDelegations", + ), + ); + self.inner.unary(req, path, codec).await + } + /// DelegatorUnbondingDelegations queries all unbonding delegations of a given + /// delegator address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn delegator_unbonding_delegations( + &mut self, + request: impl tonic::IntoRequest< + super::QueryDelegatorUnbondingDelegationsRequest, + >, + ) -> 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.Query/DelegatorUnbondingDelegations", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.staking.v1beta1.Query", + "DelegatorUnbondingDelegations", + ), + ); + self.inner.unary(req, path, codec).await + } + /// Redelegations queries redelegations of given address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn redelegations( + &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.Query/Redelegations", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.staking.v1beta1.Query", "Redelegations"), + ); + self.inner.unary(req, path, codec).await + } + /// DelegatorValidators queries all validators info for given delegator + /// address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + pub async fn delegator_validators( + &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.Query/DelegatorValidators", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.staking.v1beta1.Query", + "DelegatorValidators", + ), + ); + self.inner.unary(req, path, codec).await + } + /// DelegatorValidator queries validator info for given delegator validator + /// pair. + pub async fn delegator_validator( + &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.Query/DelegatorValidator", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.staking.v1beta1.Query", "DelegatorValidator"), + ); + self.inner.unary(req, path, codec).await + } + /// HistoricalInfo queries the historical info for given height. + pub async fn historical_info( + &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.Query/HistoricalInfo", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.staking.v1beta1.Query", "HistoricalInfo"), + ); + self.inner.unary(req, path, codec).await + } + /// Pool queries the pool info. + pub async fn pool( + &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.Query/Pool", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Pool")); + self.inner.unary(req, path, codec).await + } + /// Parameters queries the staking parameters. + pub async fn params( + &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.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.staking.v1beta1.Query", "Params")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Validators queries all validators that match the given status. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn validators( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Validator queries validator info for given validator address. + async fn validator( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ValidatorDelegations queries delegate info for given validator. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn validator_delegations( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ValidatorUnbondingDelegations queries unbonding delegations of a validator. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn validator_unbonding_delegations( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Delegation queries delegate info for given validator delegator pair. + async fn delegation( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UnbondingDelegation queries unbonding info for given validator delegator + /// pair. + async fn unbonding_delegation( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DelegatorDelegations queries all delegations of a given delegator address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn delegator_delegations( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DelegatorUnbondingDelegations queries all unbonding delegations of a given + /// delegator address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn delegator_unbonding_delegations( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Redelegations queries redelegations of given address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn redelegations( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DelegatorValidators queries all validators info for given delegator + /// address. + /// + /// When called from another module, this query might consume a high amount of + /// gas if the pagination field is incorrectly set. + async fn delegator_validators( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DelegatorValidator queries validator info for given delegator validator + /// pair. + async fn delegator_validator( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// HistoricalInfo queries the historical info for given height. + async fn historical_info( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Pool queries the pool info. + async fn pool( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Parameters queries the staking parameters. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.staking.v1beta1.Query/Validators" => { + #[allow(non_camel_case_types)] + struct ValidatorsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ValidatorsSvc { + type Response = super::QueryValidatorsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::validators(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ValidatorsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/Validator" => { + #[allow(non_camel_case_types)] + struct ValidatorSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ValidatorSvc { + type Response = super::QueryValidatorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::validator(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ValidatorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/ValidatorDelegations" => { + #[allow(non_camel_case_types)] + struct ValidatorDelegationsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryValidatorDelegationsRequest, + > for ValidatorDelegationsSvc { + type Response = super::QueryValidatorDelegationsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryValidatorDelegationsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::validator_delegations(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ValidatorDelegationsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations" => { + #[allow(non_camel_case_types)] + struct ValidatorUnbondingDelegationsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryValidatorUnbondingDelegationsRequest, + > for ValidatorUnbondingDelegationsSvc { + type Response = super::QueryValidatorUnbondingDelegationsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryValidatorUnbondingDelegationsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::validator_unbonding_delegations( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ValidatorUnbondingDelegationsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/Delegation" => { + #[allow(non_camel_case_types)] + struct DelegationSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DelegationSvc { + type Response = super::QueryDelegationResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::delegation(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DelegationSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/UnbondingDelegation" => { + #[allow(non_camel_case_types)] + struct UnbondingDelegationSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for UnbondingDelegationSvc { + type Response = super::QueryUnbondingDelegationResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryUnbondingDelegationRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::unbonding_delegation(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UnbondingDelegationSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/DelegatorDelegations" => { + #[allow(non_camel_case_types)] + struct DelegatorDelegationsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryDelegatorDelegationsRequest, + > for DelegatorDelegationsSvc { + type Response = super::QueryDelegatorDelegationsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryDelegatorDelegationsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::delegator_delegations(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DelegatorDelegationsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations" => { + #[allow(non_camel_case_types)] + struct DelegatorUnbondingDelegationsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryDelegatorUnbondingDelegationsRequest, + > for DelegatorUnbondingDelegationsSvc { + type Response = super::QueryDelegatorUnbondingDelegationsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryDelegatorUnbondingDelegationsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::delegator_unbonding_delegations( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DelegatorUnbondingDelegationsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/Redelegations" => { + #[allow(non_camel_case_types)] + struct RedelegationsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for RedelegationsSvc { + type Response = super::QueryRedelegationsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::redelegations(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = RedelegationsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/DelegatorValidators" => { + #[allow(non_camel_case_types)] + struct DelegatorValidatorsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DelegatorValidatorsSvc { + type Response = super::QueryDelegatorValidatorsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryDelegatorValidatorsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::delegator_validators(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DelegatorValidatorsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/DelegatorValidator" => { + #[allow(non_camel_case_types)] + struct DelegatorValidatorSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DelegatorValidatorSvc { + type Response = super::QueryDelegatorValidatorResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryDelegatorValidatorRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::delegator_validator(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DelegatorValidatorSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/HistoricalInfo" => { + #[allow(non_camel_case_types)] + struct HistoricalInfoSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for HistoricalInfoSvc { + type Response = super::QueryHistoricalInfoResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::historical_info(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = HistoricalInfoSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/Pool" => { + #[allow(non_camel_case_types)] + struct PoolSvc(pub Arc); + impl tonic::server::UnaryService + for PoolSvc { + type Response = super::QueryPoolResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::pool(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PoolSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.staking.v1beta1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "cosmos.staking.v1beta1.Query"; + } +} +/// StakeAuthorization defines authorization for delegate/undelegate/redelegate. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StakeAuthorization { + /// max_tokens specifies the maximum amount of tokens can be delegate to a validator. If it is + /// empty, there is no spend limit and any amount of coins can be delegated. + #[prost(message, optional, tag = "1")] + pub max_tokens: ::core::option::Option, + /// authorization_type defines one of AuthorizationType. + #[prost(enumeration = "AuthorizationType", tag = "4")] + pub authorization_type: i32, + /// validators is the oneof that represents either allow_list or deny_list + #[prost(oneof = "stake_authorization::Validators", tags = "2, 3")] + pub validators: ::core::option::Option, +} +/// Nested message and enum types in `StakeAuthorization`. +pub mod stake_authorization { + /// Validators defines list of validator addresses. + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ValidatorsVec { + #[prost(string, repeated, tag = "1")] + pub address: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + } + impl ::prost::Name for ValidatorsVec { + const NAME: &'static str = "Validators"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "cosmos.staking.v1beta1.StakeAuthorization.{}", Self::NAME + ) + } + } + /// validators is the oneof that represents either allow_list or deny_list + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Validators { + /// allow_list specifies list of validator addresses to whom grantee can delegate tokens on behalf of granter's + /// account. + #[prost(message, tag = "2")] + AllowList(ValidatorsVec), + /// deny_list specifies list of validator addresses to whom grantee can not delegate tokens. + #[prost(message, tag = "3")] + DenyList(ValidatorsVec), + } +} +impl ::prost::Name for StakeAuthorization { + const NAME: &'static str = "StakeAuthorization"; + const PACKAGE: &'static str = "cosmos.staking.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.staking.v1beta1.{}", Self::NAME) + } +} +/// AuthorizationType defines the type of staking module authorization type +/// +/// Since: cosmos-sdk 0.43 +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum AuthorizationType { + /// AUTHORIZATION_TYPE_UNSPECIFIED specifies an unknown authorization type + Unspecified = 0, + /// AUTHORIZATION_TYPE_DELEGATE defines an authorization type for Msg/Delegate + Delegate = 1, + /// AUTHORIZATION_TYPE_UNDELEGATE defines an authorization type for Msg/Undelegate + Undelegate = 2, + /// AUTHORIZATION_TYPE_REDELEGATE defines an authorization type for Msg/BeginRedelegate + Redelegate = 3, +} +impl AuthorizationType { + /// 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 { + AuthorizationType::Unspecified => "AUTHORIZATION_TYPE_UNSPECIFIED", + AuthorizationType::Delegate => "AUTHORIZATION_TYPE_DELEGATE", + AuthorizationType::Undelegate => "AUTHORIZATION_TYPE_UNDELEGATE", + AuthorizationType::Redelegate => "AUTHORIZATION_TYPE_REDELEGATE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "AUTHORIZATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "AUTHORIZATION_TYPE_DELEGATE" => Some(Self::Delegate), + "AUTHORIZATION_TYPE_UNDELEGATE" => Some(Self::Undelegate), + "AUTHORIZATION_TYPE_REDELEGATE" => Some(Self::Redelegate), + _ => None, + } + } +} +/// GenesisState defines the staking module's genesis state. +#[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, + /// delegations 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, + #[prost(bool, tag = "8")] + pub exported: bool, +} +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) + } +} +/// LastValidatorPower required for validator set update logic. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LastValidatorPower { + /// address is the address of the validator. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// power defines the power of the validator. + #[prost(int64, tag = "2")] + pub power: i64, +} +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) + } +} diff --git a/src/prost/cosmos.staking.v1beta1.serde.rs b/src/prost/cosmos.staking.v1beta1.serde.rs new file mode 100644 index 00000000..ead0e556 --- /dev/null +++ b/src/prost/cosmos.staking.v1beta1.serde.rs @@ -0,0 +1,7752 @@ +impl serde::Serialize for AuthorizationType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "AUTHORIZATION_TYPE_UNSPECIFIED", + Self::Delegate => "AUTHORIZATION_TYPE_DELEGATE", + Self::Undelegate => "AUTHORIZATION_TYPE_UNDELEGATE", + Self::Redelegate => "AUTHORIZATION_TYPE_REDELEGATE", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for AuthorizationType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "AUTHORIZATION_TYPE_UNSPECIFIED", + "AUTHORIZATION_TYPE_DELEGATE", + "AUTHORIZATION_TYPE_UNDELEGATE", + "AUTHORIZATION_TYPE_REDELEGATE", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AuthorizationType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "AUTHORIZATION_TYPE_UNSPECIFIED" => Ok(AuthorizationType::Unspecified), + "AUTHORIZATION_TYPE_DELEGATE" => Ok(AuthorizationType::Delegate), + "AUTHORIZATION_TYPE_UNDELEGATE" => Ok(AuthorizationType::Undelegate), + "AUTHORIZATION_TYPE_REDELEGATE" => Ok(AuthorizationType::Redelegate), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for BondStatus { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "BOND_STATUS_UNSPECIFIED", + Self::Unbonded => "BOND_STATUS_UNBONDED", + Self::Unbonding => "BOND_STATUS_UNBONDING", + Self::Bonded => "BOND_STATUS_BONDED", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for BondStatus { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "BOND_STATUS_UNSPECIFIED", + "BOND_STATUS_UNBONDED", + "BOND_STATUS_UNBONDING", + "BOND_STATUS_BONDED", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = BondStatus; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "BOND_STATUS_UNSPECIFIED" => Ok(BondStatus::Unspecified), + "BOND_STATUS_UNBONDED" => Ok(BondStatus::Unbonded), + "BOND_STATUS_UNBONDING" => Ok(BondStatus::Unbonding), + "BOND_STATUS_BONDED" => Ok(BondStatus::Bonded), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for Commission { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.commission_rates.is_some() { + len += 1; + } + if self.update_time.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Commission", len)?; + if let Some(v) = self.commission_rates.as_ref() { + struct_ser.serialize_field("commissionRates", v)?; + } + if let Some(v) = self.update_time.as_ref() { + struct_ser.serialize_field("updateTime", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Commission { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "commission_rates", + "commissionRates", + "update_time", + "updateTime", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CommissionRates, + UpdateTime, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "commissionRates" | "commission_rates" => Ok(GeneratedField::CommissionRates), + "updateTime" | "update_time" => Ok(GeneratedField::UpdateTime), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Commission; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Commission") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut commission_rates__ = None; + let mut update_time__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CommissionRates => { + if commission_rates__.is_some() { + return Err(serde::de::Error::duplicate_field("commissionRates")); + } + commission_rates__ = map_.next_value()?; + } + GeneratedField::UpdateTime => { + if update_time__.is_some() { + return Err(serde::de::Error::duplicate_field("updateTime")); + } + update_time__ = map_.next_value()?; + } + } + } + Ok(Commission { + commission_rates: commission_rates__, + update_time: update_time__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Commission", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for CommissionRates { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.rate.is_empty() { + len += 1; + } + if !self.max_rate.is_empty() { + len += 1; + } + if !self.max_change_rate.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.CommissionRates", len)?; + if !self.rate.is_empty() { + struct_ser.serialize_field("rate", &self.rate)?; + } + if !self.max_rate.is_empty() { + struct_ser.serialize_field("maxRate", &self.max_rate)?; + } + if !self.max_change_rate.is_empty() { + struct_ser.serialize_field("maxChangeRate", &self.max_change_rate)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CommissionRates { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "rate", + "max_rate", + "maxRate", + "max_change_rate", + "maxChangeRate", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Rate, + MaxRate, + MaxChangeRate, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "rate" => Ok(GeneratedField::Rate), + "maxRate" | "max_rate" => Ok(GeneratedField::MaxRate), + "maxChangeRate" | "max_change_rate" => Ok(GeneratedField::MaxChangeRate), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CommissionRates; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.CommissionRates") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut rate__ = None; + let mut max_rate__ = None; + let mut max_change_rate__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Rate => { + if rate__.is_some() { + return Err(serde::de::Error::duplicate_field("rate")); + } + rate__ = Some(map_.next_value()?); + } + GeneratedField::MaxRate => { + if max_rate__.is_some() { + return Err(serde::de::Error::duplicate_field("maxRate")); + } + max_rate__ = Some(map_.next_value()?); + } + GeneratedField::MaxChangeRate => { + if max_change_rate__.is_some() { + return Err(serde::de::Error::duplicate_field("maxChangeRate")); + } + max_change_rate__ = Some(map_.next_value()?); + } + } + } + Ok(CommissionRates { + rate: rate__.unwrap_or_default(), + max_rate: max_rate__.unwrap_or_default(), + max_change_rate: max_change_rate__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.CommissionRates", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DvPair { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVPair", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DvPair { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorAddress, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DvPair; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.DVPair") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + } + } + Ok(DvPair { + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.DVPair", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DvPairs { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.pairs.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVPairs", len)?; + if !self.pairs.is_empty() { + struct_ser.serialize_field("pairs", &self.pairs)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DvPairs { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pairs", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pairs, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pairs" => Ok(GeneratedField::Pairs), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DvPairs; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.DVPairs") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pairs__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pairs => { + if pairs__.is_some() { + return Err(serde::de::Error::duplicate_field("pairs")); + } + pairs__ = Some(map_.next_value()?); + } + } + } + Ok(DvPairs { + pairs: pairs__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.DVPairs", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DvvTriplet { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_src_address.is_empty() { + len += 1; + } + if !self.validator_dst_address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVVTriplet", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_src_address.is_empty() { + struct_ser.serialize_field("validatorSrcAddress", &self.validator_src_address)?; + } + if !self.validator_dst_address.is_empty() { + struct_ser.serialize_field("validatorDstAddress", &self.validator_dst_address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DvvTriplet { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_src_address", + "validatorSrcAddress", + "validator_dst_address", + "validatorDstAddress", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorSrcAddress, + ValidatorDstAddress, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorSrcAddress" | "validator_src_address" => Ok(GeneratedField::ValidatorSrcAddress), + "validatorDstAddress" | "validator_dst_address" => Ok(GeneratedField::ValidatorDstAddress), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DvvTriplet; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.DVVTriplet") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_src_address__ = None; + let mut validator_dst_address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorSrcAddress => { + if validator_src_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorSrcAddress")); + } + validator_src_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorDstAddress => { + if validator_dst_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorDstAddress")); + } + validator_dst_address__ = Some(map_.next_value()?); + } + } + } + Ok(DvvTriplet { + delegator_address: delegator_address__.unwrap_or_default(), + validator_src_address: validator_src_address__.unwrap_or_default(), + validator_dst_address: validator_dst_address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.DVVTriplet", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DvvTriplets { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.triplets.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVVTriplets", len)?; + if !self.triplets.is_empty() { + struct_ser.serialize_field("triplets", &self.triplets)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DvvTriplets { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "triplets", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Triplets, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "triplets" => Ok(GeneratedField::Triplets), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DvvTriplets; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.DVVTriplets") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut triplets__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Triplets => { + if triplets__.is_some() { + return Err(serde::de::Error::duplicate_field("triplets")); + } + triplets__ = Some(map_.next_value()?); + } + } + } + Ok(DvvTriplets { + triplets: triplets__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.DVVTriplets", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Delegation { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if !self.shares.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Delegation", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if !self.shares.is_empty() { + struct_ser.serialize_field("shares", &self.shares)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Delegation { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + "shares", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorAddress, + Shares, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "shares" => Ok(GeneratedField::Shares), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Delegation; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Delegation") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_address__ = None; + let mut shares__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::Shares => { + if shares__.is_some() { + return Err(serde::de::Error::duplicate_field("shares")); + } + shares__ = Some(map_.next_value()?); + } + } + } + Ok(Delegation { + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + shares: shares__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Delegation", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DelegationResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.delegation.is_some() { + len += 1; + } + if self.balance.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DelegationResponse", len)?; + if let Some(v) = self.delegation.as_ref() { + struct_ser.serialize_field("delegation", v)?; + } + if let Some(v) = self.balance.as_ref() { + struct_ser.serialize_field("balance", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DelegationResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegation", + "balance", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Delegation, + Balance, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegation" => Ok(GeneratedField::Delegation), + "balance" => Ok(GeneratedField::Balance), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DelegationResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.DelegationResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegation__ = None; + let mut balance__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Delegation => { + if delegation__.is_some() { + return Err(serde::de::Error::duplicate_field("delegation")); + } + delegation__ = map_.next_value()?; + } + GeneratedField::Balance => { + if balance__.is_some() { + return Err(serde::de::Error::duplicate_field("balance")); + } + balance__ = map_.next_value()?; + } + } + } + Ok(DelegationResponse { + delegation: delegation__, + balance: balance__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.DelegationResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Description { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.moniker.is_empty() { + len += 1; + } + if !self.identity.is_empty() { + len += 1; + } + if !self.website.is_empty() { + len += 1; + } + if !self.security_contact.is_empty() { + len += 1; + } + if !self.details.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Description", len)?; + if !self.moniker.is_empty() { + struct_ser.serialize_field("moniker", &self.moniker)?; + } + if !self.identity.is_empty() { + struct_ser.serialize_field("identity", &self.identity)?; + } + if !self.website.is_empty() { + struct_ser.serialize_field("website", &self.website)?; + } + if !self.security_contact.is_empty() { + struct_ser.serialize_field("securityContact", &self.security_contact)?; + } + if !self.details.is_empty() { + struct_ser.serialize_field("details", &self.details)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Description { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "moniker", + "identity", + "website", + "security_contact", + "securityContact", + "details", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Moniker, + Identity, + Website, + SecurityContact, + Details, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "moniker" => Ok(GeneratedField::Moniker), + "identity" => Ok(GeneratedField::Identity), + "website" => Ok(GeneratedField::Website), + "securityContact" | "security_contact" => Ok(GeneratedField::SecurityContact), + "details" => Ok(GeneratedField::Details), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Description; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Description") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut moniker__ = None; + let mut identity__ = None; + let mut website__ = None; + let mut security_contact__ = None; + let mut details__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Moniker => { + if moniker__.is_some() { + return Err(serde::de::Error::duplicate_field("moniker")); + } + moniker__ = Some(map_.next_value()?); + } + GeneratedField::Identity => { + if identity__.is_some() { + return Err(serde::de::Error::duplicate_field("identity")); + } + identity__ = Some(map_.next_value()?); + } + GeneratedField::Website => { + if website__.is_some() { + return Err(serde::de::Error::duplicate_field("website")); + } + website__ = Some(map_.next_value()?); + } + GeneratedField::SecurityContact => { + if security_contact__.is_some() { + return Err(serde::de::Error::duplicate_field("securityContact")); + } + security_contact__ = Some(map_.next_value()?); + } + GeneratedField::Details => { + if details__.is_some() { + return Err(serde::de::Error::duplicate_field("details")); + } + details__ = Some(map_.next_value()?); + } + } + } + Ok(Description { + moniker: moniker__.unwrap_or_default(), + identity: identity__.unwrap_or_default(), + website: website__.unwrap_or_default(), + security_contact: security_contact__.unwrap_or_default(), + details: details__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Description", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + if !self.last_total_power.is_empty() { + len += 1; + } + if !self.last_validator_powers.is_empty() { + len += 1; + } + if !self.validators.is_empty() { + len += 1; + } + if !self.delegations.is_empty() { + len += 1; + } + if !self.unbonding_delegations.is_empty() { + len += 1; + } + if !self.redelegations.is_empty() { + len += 1; + } + if self.exported { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.GenesisState", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + if !self.last_total_power.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("lastTotalPower", pbjson::private::base64::encode(&self.last_total_power).as_str())?; + } + if !self.last_validator_powers.is_empty() { + struct_ser.serialize_field("lastValidatorPowers", &self.last_validator_powers)?; + } + if !self.validators.is_empty() { + struct_ser.serialize_field("validators", &self.validators)?; + } + if !self.delegations.is_empty() { + struct_ser.serialize_field("delegations", &self.delegations)?; + } + if !self.unbonding_delegations.is_empty() { + struct_ser.serialize_field("unbondingDelegations", &self.unbonding_delegations)?; + } + if !self.redelegations.is_empty() { + struct_ser.serialize_field("redelegations", &self.redelegations)?; + } + if self.exported { + struct_ser.serialize_field("exported", &self.exported)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + "last_total_power", + "lastTotalPower", + "last_validator_powers", + "lastValidatorPowers", + "validators", + "delegations", + "unbonding_delegations", + "unbondingDelegations", + "redelegations", + "exported", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + LastTotalPower, + LastValidatorPowers, + Validators, + Delegations, + UnbondingDelegations, + Redelegations, + Exported, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + "lastTotalPower" | "last_total_power" => Ok(GeneratedField::LastTotalPower), + "lastValidatorPowers" | "last_validator_powers" => Ok(GeneratedField::LastValidatorPowers), + "validators" => Ok(GeneratedField::Validators), + "delegations" => Ok(GeneratedField::Delegations), + "unbondingDelegations" | "unbonding_delegations" => Ok(GeneratedField::UnbondingDelegations), + "redelegations" => Ok(GeneratedField::Redelegations), + "exported" => Ok(GeneratedField::Exported), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + let mut last_total_power__ = None; + let mut last_validator_powers__ = None; + let mut validators__ = None; + let mut delegations__ = None; + let mut unbonding_delegations__ = None; + let mut redelegations__ = None; + let mut exported__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + GeneratedField::LastTotalPower => { + if last_total_power__.is_some() { + return Err(serde::de::Error::duplicate_field("lastTotalPower")); + } + last_total_power__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::LastValidatorPowers => { + if last_validator_powers__.is_some() { + return Err(serde::de::Error::duplicate_field("lastValidatorPowers")); + } + last_validator_powers__ = Some(map_.next_value()?); + } + GeneratedField::Validators => { + if validators__.is_some() { + return Err(serde::de::Error::duplicate_field("validators")); + } + validators__ = Some(map_.next_value()?); + } + GeneratedField::Delegations => { + if delegations__.is_some() { + return Err(serde::de::Error::duplicate_field("delegations")); + } + delegations__ = Some(map_.next_value()?); + } + GeneratedField::UnbondingDelegations => { + if unbonding_delegations__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingDelegations")); + } + unbonding_delegations__ = Some(map_.next_value()?); + } + GeneratedField::Redelegations => { + if redelegations__.is_some() { + return Err(serde::de::Error::duplicate_field("redelegations")); + } + redelegations__ = Some(map_.next_value()?); + } + GeneratedField::Exported => { + if exported__.is_some() { + return Err(serde::de::Error::duplicate_field("exported")); + } + exported__ = Some(map_.next_value()?); + } + } + } + Ok(GenesisState { + params: params__, + last_total_power: last_total_power__.unwrap_or_default(), + last_validator_powers: last_validator_powers__.unwrap_or_default(), + validators: validators__.unwrap_or_default(), + delegations: delegations__.unwrap_or_default(), + unbonding_delegations: unbonding_delegations__.unwrap_or_default(), + redelegations: redelegations__.unwrap_or_default(), + exported: exported__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for HistoricalInfo { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.header.is_some() { + len += 1; + } + if !self.valset.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.HistoricalInfo", len)?; + if let Some(v) = self.header.as_ref() { + struct_ser.serialize_field("header", v)?; + } + if !self.valset.is_empty() { + struct_ser.serialize_field("valset", &self.valset)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for HistoricalInfo { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "header", + "valset", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Header, + Valset, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "header" => Ok(GeneratedField::Header), + "valset" => Ok(GeneratedField::Valset), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = HistoricalInfo; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.HistoricalInfo") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut header__ = None; + let mut valset__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Header => { + if header__.is_some() { + return Err(serde::de::Error::duplicate_field("header")); + } + header__ = map_.next_value()?; + } + GeneratedField::Valset => { + if valset__.is_some() { + return Err(serde::de::Error::duplicate_field("valset")); + } + valset__ = Some(map_.next_value()?); + } + } + } + Ok(HistoricalInfo { + header: header__, + valset: valset__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.HistoricalInfo", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Infraction { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "INFRACTION_UNSPECIFIED", + Self::DoubleSign => "INFRACTION_DOUBLE_SIGN", + Self::Downtime => "INFRACTION_DOWNTIME", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for Infraction { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "INFRACTION_UNSPECIFIED", + "INFRACTION_DOUBLE_SIGN", + "INFRACTION_DOWNTIME", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Infraction; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "INFRACTION_UNSPECIFIED" => Ok(Infraction::Unspecified), + "INFRACTION_DOUBLE_SIGN" => Ok(Infraction::DoubleSign), + "INFRACTION_DOWNTIME" => Ok(Infraction::Downtime), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for InfractionType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "INFRACTION_TYPE_UNSPECIFIED", + Self::DoubleSign => "INFRACTION_TYPE_DOUBLE_SIGN", + Self::Downtime => "INFRACTION_TYPE_DOWNTIME", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for InfractionType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "INFRACTION_TYPE_UNSPECIFIED", + "INFRACTION_TYPE_DOUBLE_SIGN", + "INFRACTION_TYPE_DOWNTIME", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InfractionType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "INFRACTION_TYPE_UNSPECIFIED" => Ok(InfractionType::Unspecified), + "INFRACTION_TYPE_DOUBLE_SIGN" => Ok(InfractionType::DoubleSign), + "INFRACTION_TYPE_DOWNTIME" => Ok(InfractionType::Downtime), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for LastValidatorPower { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if self.power != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.LastValidatorPower", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if self.power != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("power", ToString::to_string(&self.power).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for LastValidatorPower { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "power", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + Power, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "power" => Ok(GeneratedField::Power), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = LastValidatorPower; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.LastValidatorPower") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut power__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Power => { + if power__.is_some() { + return Err(serde::de::Error::duplicate_field("power")); + } + power__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(LastValidatorPower { + address: address__.unwrap_or_default(), + power: power__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.LastValidatorPower", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgBeginRedelegate { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_src_address.is_empty() { + len += 1; + } + if !self.validator_dst_address.is_empty() { + len += 1; + } + if self.amount.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgBeginRedelegate", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_src_address.is_empty() { + struct_ser.serialize_field("validatorSrcAddress", &self.validator_src_address)?; + } + if !self.validator_dst_address.is_empty() { + struct_ser.serialize_field("validatorDstAddress", &self.validator_dst_address)?; + } + if let Some(v) = self.amount.as_ref() { + struct_ser.serialize_field("amount", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_src_address", + "validatorSrcAddress", + "validator_dst_address", + "validatorDstAddress", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorSrcAddress, + ValidatorDstAddress, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorSrcAddress" | "validator_src_address" => Ok(GeneratedField::ValidatorSrcAddress), + "validatorDstAddress" | "validator_dst_address" => Ok(GeneratedField::ValidatorDstAddress), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgBeginRedelegate; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgBeginRedelegate") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_src_address__ = None; + let mut validator_dst_address__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorSrcAddress => { + if validator_src_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorSrcAddress")); + } + validator_src_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorDstAddress => { + if validator_dst_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorDstAddress")); + } + validator_dst_address__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = map_.next_value()?; + } + } + } + Ok(MsgBeginRedelegate { + delegator_address: delegator_address__.unwrap_or_default(), + validator_src_address: validator_src_address__.unwrap_or_default(), + validator_dst_address: validator_dst_address__.unwrap_or_default(), + amount: amount__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgBeginRedelegate", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgBeginRedelegateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.completion_time.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgBeginRedelegateResponse", len)?; + if let Some(v) = self.completion_time.as_ref() { + struct_ser.serialize_field("completionTime", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgBeginRedelegateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "completion_time", + "completionTime", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CompletionTime, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "completionTime" | "completion_time" => Ok(GeneratedField::CompletionTime), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgBeginRedelegateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgBeginRedelegateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut completion_time__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CompletionTime => { + if completion_time__.is_some() { + return Err(serde::de::Error::duplicate_field("completionTime")); + } + completion_time__ = map_.next_value()?; + } + } + } + Ok(MsgBeginRedelegateResponse { + completion_time: completion_time__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgBeginRedelegateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCancelUnbondingDelegation { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if self.amount.is_some() { + len += 1; + } + if self.creation_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgCancelUnbondingDelegation", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if let Some(v) = self.amount.as_ref() { + struct_ser.serialize_field("amount", v)?; + } + if self.creation_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("creationHeight", ToString::to_string(&self.creation_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + "amount", + "creation_height", + "creationHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorAddress, + Amount, + CreationHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "amount" => Ok(GeneratedField::Amount), + "creationHeight" | "creation_height" => Ok(GeneratedField::CreationHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCancelUnbondingDelegation; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgCancelUnbondingDelegation") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_address__ = None; + let mut amount__ = None; + let mut creation_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = map_.next_value()?; + } + GeneratedField::CreationHeight => { + if creation_height__.is_some() { + return Err(serde::de::Error::duplicate_field("creationHeight")); + } + creation_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgCancelUnbondingDelegation { + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + amount: amount__, + creation_height: creation_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgCancelUnbondingDelegation", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCancelUnbondingDelegationResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegationResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCancelUnbondingDelegationResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgCancelUnbondingDelegationResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCreateValidator { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.description.is_some() { + len += 1; + } + if self.commission.is_some() { + len += 1; + } + if !self.min_self_delegation.is_empty() { + len += 1; + } + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if self.pubkey.is_some() { + len += 1; + } + if self.value.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgCreateValidator", len)?; + if let Some(v) = self.description.as_ref() { + struct_ser.serialize_field("description", v)?; + } + if let Some(v) = self.commission.as_ref() { + struct_ser.serialize_field("commission", v)?; + } + if !self.min_self_delegation.is_empty() { + struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; + } + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if let Some(v) = self.pubkey.as_ref() { + struct_ser.serialize_field("pubkey", v)?; + } + if let Some(v) = self.value.as_ref() { + struct_ser.serialize_field("value", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCreateValidator { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "description", + "commission", + "min_self_delegation", + "minSelfDelegation", + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + "pubkey", + "value", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Description, + Commission, + MinSelfDelegation, + DelegatorAddress, + ValidatorAddress, + Pubkey, + Value, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "description" => Ok(GeneratedField::Description), + "commission" => Ok(GeneratedField::Commission), + "minSelfDelegation" | "min_self_delegation" => Ok(GeneratedField::MinSelfDelegation), + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "pubkey" => Ok(GeneratedField::Pubkey), + "value" => Ok(GeneratedField::Value), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCreateValidator; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgCreateValidator") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut description__ = None; + let mut commission__ = None; + let mut min_self_delegation__ = None; + let mut delegator_address__ = None; + let mut validator_address__ = None; + let mut pubkey__ = None; + let mut value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = map_.next_value()?; + } + GeneratedField::Commission => { + if commission__.is_some() { + return Err(serde::de::Error::duplicate_field("commission")); + } + commission__ = map_.next_value()?; + } + GeneratedField::MinSelfDelegation => { + if min_self_delegation__.is_some() { + return Err(serde::de::Error::duplicate_field("minSelfDelegation")); + } + min_self_delegation__ = Some(map_.next_value()?); + } + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::Pubkey => { + if pubkey__.is_some() { + return Err(serde::de::Error::duplicate_field("pubkey")); + } + pubkey__ = map_.next_value()?; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = map_.next_value()?; + } + } + } + Ok(MsgCreateValidator { + description: description__, + commission: commission__, + min_self_delegation: min_self_delegation__.unwrap_or_default(), + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + pubkey: pubkey__, + value: value__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgCreateValidator", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCreateValidatorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgCreateValidatorResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCreateValidatorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCreateValidatorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgCreateValidatorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgCreateValidatorResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgCreateValidatorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDelegate { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if self.amount.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgDelegate", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if let Some(v) = self.amount.as_ref() { + struct_ser.serialize_field("amount", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDelegate { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorAddress, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDelegate; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgDelegate") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_address__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = map_.next_value()?; + } + } + } + Ok(MsgDelegate { + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + amount: amount__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgDelegate", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgDelegateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgDelegateResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgDelegateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgDelegateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgDelegateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgDelegateResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgDelegateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgEditValidator { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.description.is_some() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if !self.commission_rate.is_empty() { + len += 1; + } + if !self.min_self_delegation.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgEditValidator", len)?; + if let Some(v) = self.description.as_ref() { + struct_ser.serialize_field("description", v)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if !self.commission_rate.is_empty() { + struct_ser.serialize_field("commissionRate", &self.commission_rate)?; + } + if !self.min_self_delegation.is_empty() { + struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgEditValidator { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "description", + "validator_address", + "validatorAddress", + "commission_rate", + "commissionRate", + "min_self_delegation", + "minSelfDelegation", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Description, + ValidatorAddress, + CommissionRate, + MinSelfDelegation, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "description" => Ok(GeneratedField::Description), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "commissionRate" | "commission_rate" => Ok(GeneratedField::CommissionRate), + "minSelfDelegation" | "min_self_delegation" => Ok(GeneratedField::MinSelfDelegation), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgEditValidator; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgEditValidator") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut description__ = None; + let mut validator_address__ = None; + let mut commission_rate__ = None; + let mut min_self_delegation__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = map_.next_value()?; + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::CommissionRate => { + if commission_rate__.is_some() { + return Err(serde::de::Error::duplicate_field("commissionRate")); + } + commission_rate__ = Some(map_.next_value()?); + } + GeneratedField::MinSelfDelegation => { + if min_self_delegation__.is_some() { + return Err(serde::de::Error::duplicate_field("minSelfDelegation")); + } + min_self_delegation__ = Some(map_.next_value()?); + } + } + } + Ok(MsgEditValidator { + description: description__, + validator_address: validator_address__.unwrap_or_default(), + commission_rate: commission_rate__.unwrap_or_default(), + min_self_delegation: min_self_delegation__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgEditValidator", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgEditValidatorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgEditValidatorResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgEditValidatorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgEditValidatorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgEditValidatorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgEditValidatorResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgEditValidatorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUndelegate { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if self.amount.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUndelegate", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if let Some(v) = self.amount.as_ref() { + struct_ser.serialize_field("amount", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUndelegate { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorAddress, + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUndelegate; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgUndelegate") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_address__ = None; + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = map_.next_value()?; + } + } + } + Ok(MsgUndelegate { + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + amount: amount__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgUndelegate", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUndelegateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.completion_time.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUndelegateResponse", len)?; + if let Some(v) = self.completion_time.as_ref() { + struct_ser.serialize_field("completionTime", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUndelegateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "completion_time", + "completionTime", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CompletionTime, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "completionTime" | "completion_time" => Ok(GeneratedField::CompletionTime), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUndelegateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgUndelegateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut completion_time__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CompletionTime => { + if completion_time__.is_some() { + return Err(serde::de::Error::duplicate_field("completionTime")); + } + completion_time__ = map_.next_value()?; + } + } + } + Ok(MsgUndelegateResponse { + completion_time: completion_time__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgUndelegateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUpdateParams", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + authority: authority__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.unbonding_time.is_some() { + len += 1; + } + if self.max_validators != 0 { + len += 1; + } + if self.max_entries != 0 { + len += 1; + } + if self.historical_entries != 0 { + len += 1; + } + if !self.bond_denom.is_empty() { + len += 1; + } + if !self.min_commission_rate.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Params", len)?; + if let Some(v) = self.unbonding_time.as_ref() { + struct_ser.serialize_field("unbondingTime", v)?; + } + if self.max_validators != 0 { + struct_ser.serialize_field("maxValidators", &self.max_validators)?; + } + if self.max_entries != 0 { + struct_ser.serialize_field("maxEntries", &self.max_entries)?; + } + if self.historical_entries != 0 { + struct_ser.serialize_field("historicalEntries", &self.historical_entries)?; + } + if !self.bond_denom.is_empty() { + struct_ser.serialize_field("bondDenom", &self.bond_denom)?; + } + if !self.min_commission_rate.is_empty() { + struct_ser.serialize_field("minCommissionRate", &self.min_commission_rate)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "unbonding_time", + "unbondingTime", + "max_validators", + "maxValidators", + "max_entries", + "maxEntries", + "historical_entries", + "historicalEntries", + "bond_denom", + "bondDenom", + "min_commission_rate", + "minCommissionRate", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UnbondingTime, + MaxValidators, + MaxEntries, + HistoricalEntries, + BondDenom, + MinCommissionRate, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "unbondingTime" | "unbonding_time" => Ok(GeneratedField::UnbondingTime), + "maxValidators" | "max_validators" => Ok(GeneratedField::MaxValidators), + "maxEntries" | "max_entries" => Ok(GeneratedField::MaxEntries), + "historicalEntries" | "historical_entries" => Ok(GeneratedField::HistoricalEntries), + "bondDenom" | "bond_denom" => Ok(GeneratedField::BondDenom), + "minCommissionRate" | "min_commission_rate" => Ok(GeneratedField::MinCommissionRate), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut unbonding_time__ = None; + let mut max_validators__ = None; + let mut max_entries__ = None; + let mut historical_entries__ = None; + let mut bond_denom__ = None; + let mut min_commission_rate__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UnbondingTime => { + if unbonding_time__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingTime")); + } + unbonding_time__ = map_.next_value()?; + } + GeneratedField::MaxValidators => { + if max_validators__.is_some() { + return Err(serde::de::Error::duplicate_field("maxValidators")); + } + max_validators__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::MaxEntries => { + if max_entries__.is_some() { + return Err(serde::de::Error::duplicate_field("maxEntries")); + } + max_entries__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::HistoricalEntries => { + if historical_entries__.is_some() { + return Err(serde::de::Error::duplicate_field("historicalEntries")); + } + historical_entries__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::BondDenom => { + if bond_denom__.is_some() { + return Err(serde::de::Error::duplicate_field("bondDenom")); + } + bond_denom__ = Some(map_.next_value()?); + } + GeneratedField::MinCommissionRate => { + if min_commission_rate__.is_some() { + return Err(serde::de::Error::duplicate_field("minCommissionRate")); + } + min_commission_rate__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + unbonding_time: unbonding_time__, + max_validators: max_validators__.unwrap_or_default(), + max_entries: max_entries__.unwrap_or_default(), + historical_entries: historical_entries__.unwrap_or_default(), + bond_denom: bond_denom__.unwrap_or_default(), + min_commission_rate: min_commission_rate__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Pool { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.not_bonded_tokens.is_empty() { + len += 1; + } + if !self.bonded_tokens.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Pool", len)?; + if !self.not_bonded_tokens.is_empty() { + struct_ser.serialize_field("notBondedTokens", &self.not_bonded_tokens)?; + } + if !self.bonded_tokens.is_empty() { + struct_ser.serialize_field("bondedTokens", &self.bonded_tokens)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Pool { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "not_bonded_tokens", + "notBondedTokens", + "bonded_tokens", + "bondedTokens", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NotBondedTokens, + BondedTokens, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "notBondedTokens" | "not_bonded_tokens" => Ok(GeneratedField::NotBondedTokens), + "bondedTokens" | "bonded_tokens" => Ok(GeneratedField::BondedTokens), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Pool; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Pool") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut not_bonded_tokens__ = None; + let mut bonded_tokens__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NotBondedTokens => { + if not_bonded_tokens__.is_some() { + return Err(serde::de::Error::duplicate_field("notBondedTokens")); + } + not_bonded_tokens__ = Some(map_.next_value()?); + } + GeneratedField::BondedTokens => { + if bonded_tokens__.is_some() { + return Err(serde::de::Error::duplicate_field("bondedTokens")); + } + bonded_tokens__ = Some(map_.next_value()?); + } + } + } + Ok(Pool { + not_bonded_tokens: not_bonded_tokens__.unwrap_or_default(), + bonded_tokens: bonded_tokens__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Pool", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegationRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if !self.validator_addr.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegationRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if !self.validator_addr.is_empty() { + struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegationRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "validator_addr", + "validatorAddr", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + ValidatorAddr, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "validatorAddr" | "validator_addr" => Ok(GeneratedField::ValidatorAddr), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegationRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegationRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut validator_addr__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddr => { + if validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddr")); + } + validator_addr__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDelegationRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + validator_addr: validator_addr__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegationRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegationResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.delegation_response.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegationResponse", len)?; + if let Some(v) = self.delegation_response.as_ref() { + struct_ser.serialize_field("delegationResponse", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegationResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegation_response", + "delegationResponse", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegationResponse, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegationResponse" | "delegation_response" => Ok(GeneratedField::DelegationResponse), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegationResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegationResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegation_response__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegationResponse => { + if delegation_response__.is_some() { + return Err(serde::de::Error::duplicate_field("delegationResponse")); + } + delegation_response__ = map_.next_value()?; + } + } + } + Ok(QueryDelegationResponse { + delegation_response: delegation_response__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegationResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorDelegationsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorDelegationsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorDelegationsRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorDelegationsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegation_responses.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse", len)?; + if !self.delegation_responses.is_empty() { + struct_ser.serialize_field("delegationResponses", &self.delegation_responses)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegation_responses", + "delegationResponses", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegationResponses, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegationResponses" | "delegation_responses" => Ok(GeneratedField::DelegationResponses), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorDelegationsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegation_responses__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegationResponses => { + if delegation_responses__.is_some() { + return Err(serde::de::Error::duplicate_field("delegationResponses")); + } + delegation_responses__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorDelegationsResponse { + delegation_responses: delegation_responses__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorUnbondingDelegationsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorUnbondingDelegationsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorUnbondingDelegationsRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorUnbondingDelegationsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.unbonding_responses.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse", len)?; + if !self.unbonding_responses.is_empty() { + struct_ser.serialize_field("unbondingResponses", &self.unbonding_responses)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "unbonding_responses", + "unbondingResponses", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UnbondingResponses, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "unbondingResponses" | "unbonding_responses" => Ok(GeneratedField::UnbondingResponses), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorUnbondingDelegationsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut unbonding_responses__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UnbondingResponses => { + if unbonding_responses__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingResponses")); + } + unbonding_responses__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorUnbondingDelegationsResponse { + unbonding_responses: unbonding_responses__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorValidatorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if !self.validator_addr.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if !self.validator_addr.is_empty() { + struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "validator_addr", + "validatorAddr", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + ValidatorAddr, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "validatorAddr" | "validator_addr" => Ok(GeneratedField::ValidatorAddr), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorValidatorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut validator_addr__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddr => { + if validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddr")); + } + validator_addr__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDelegatorValidatorRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + validator_addr: validator_addr__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorValidatorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.validator.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorResponse", len)?; + if let Some(v) = self.validator.as_ref() { + struct_ser.serialize_field("validator", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validator", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Validator, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validator" => Ok(GeneratedField::Validator), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorValidatorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validator__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Validator => { + if validator__.is_some() { + return Err(serde::de::Error::duplicate_field("validator")); + } + validator__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorValidatorResponse { + validator: validator__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorValidatorsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorValidatorsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorValidatorsRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDelegatorValidatorsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.validators.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse", len)?; + if !self.validators.is_empty() { + struct_ser.serialize_field("validators", &self.validators)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validators", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Validators, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validators" => Ok(GeneratedField::Validators), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDelegatorValidatorsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validators__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Validators => { + if validators__.is_some() { + return Err(serde::de::Error::duplicate_field("validators")); + } + validators__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDelegatorValidatorsResponse { + validators: validators__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryHistoricalInfoRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoRequest", len)?; + if self.height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryHistoricalInfoRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryHistoricalInfoRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryHistoricalInfoRequest { + height: height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryHistoricalInfoResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.hist.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoResponse", len)?; + if let Some(v) = self.hist.as_ref() { + struct_ser.serialize_field("hist", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hist", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Hist, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hist" => Ok(GeneratedField::Hist), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryHistoricalInfoResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryHistoricalInfoResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hist__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Hist => { + if hist__.is_some() { + return Err(serde::de::Error::duplicate_field("hist")); + } + hist__ = map_.next_value()?; + } + } + } + Ok(QueryHistoricalInfoResponse { + hist: hist__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryParamsRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPoolRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryPoolRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPoolRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPoolRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryPoolRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryPoolRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryPoolRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPoolResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pool.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryPoolResponse", len)?; + if let Some(v) = self.pool.as_ref() { + struct_ser.serialize_field("pool", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPoolResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pool", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pool, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pool" => Ok(GeneratedField::Pool), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPoolResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryPoolResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pool__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pool => { + if pool__.is_some() { + return Err(serde::de::Error::duplicate_field("pool")); + } + pool__ = map_.next_value()?; + } + } + } + Ok(QueryPoolResponse { + pool: pool__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryPoolResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryRedelegationsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if !self.src_validator_addr.is_empty() { + len += 1; + } + if !self.dst_validator_addr.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryRedelegationsRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if !self.src_validator_addr.is_empty() { + struct_ser.serialize_field("srcValidatorAddr", &self.src_validator_addr)?; + } + if !self.dst_validator_addr.is_empty() { + struct_ser.serialize_field("dstValidatorAddr", &self.dst_validator_addr)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "src_validator_addr", + "srcValidatorAddr", + "dst_validator_addr", + "dstValidatorAddr", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + SrcValidatorAddr, + DstValidatorAddr, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "srcValidatorAddr" | "src_validator_addr" => Ok(GeneratedField::SrcValidatorAddr), + "dstValidatorAddr" | "dst_validator_addr" => Ok(GeneratedField::DstValidatorAddr), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryRedelegationsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryRedelegationsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut src_validator_addr__ = None; + let mut dst_validator_addr__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::SrcValidatorAddr => { + if src_validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("srcValidatorAddr")); + } + src_validator_addr__ = Some(map_.next_value()?); + } + GeneratedField::DstValidatorAddr => { + if dst_validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("dstValidatorAddr")); + } + dst_validator_addr__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryRedelegationsRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + src_validator_addr: src_validator_addr__.unwrap_or_default(), + dst_validator_addr: dst_validator_addr__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryRedelegationsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryRedelegationsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.redelegation_responses.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryRedelegationsResponse", len)?; + if !self.redelegation_responses.is_empty() { + struct_ser.serialize_field("redelegationResponses", &self.redelegation_responses)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryRedelegationsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "redelegation_responses", + "redelegationResponses", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + RedelegationResponses, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "redelegationResponses" | "redelegation_responses" => Ok(GeneratedField::RedelegationResponses), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryRedelegationsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryRedelegationsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut redelegation_responses__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::RedelegationResponses => { + if redelegation_responses__.is_some() { + return Err(serde::de::Error::duplicate_field("redelegationResponses")); + } + redelegation_responses__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryRedelegationsResponse { + redelegation_responses: redelegation_responses__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryRedelegationsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUnbondingDelegationRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_addr.is_empty() { + len += 1; + } + if !self.validator_addr.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryUnbondingDelegationRequest", len)?; + if !self.delegator_addr.is_empty() { + struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; + } + if !self.validator_addr.is_empty() { + struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_addr", + "delegatorAddr", + "validator_addr", + "validatorAddr", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddr, + ValidatorAddr, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddr" | "delegator_addr" => Ok(GeneratedField::DelegatorAddr), + "validatorAddr" | "validator_addr" => Ok(GeneratedField::ValidatorAddr), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUnbondingDelegationRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryUnbondingDelegationRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_addr__ = None; + let mut validator_addr__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddr => { + if delegator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddr")); + } + delegator_addr__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddr => { + if validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddr")); + } + validator_addr__ = Some(map_.next_value()?); + } + } + } + Ok(QueryUnbondingDelegationRequest { + delegator_addr: delegator_addr__.unwrap_or_default(), + validator_addr: validator_addr__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryUnbondingDelegationRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUnbondingDelegationResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.unbond.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryUnbondingDelegationResponse", len)?; + if let Some(v) = self.unbond.as_ref() { + struct_ser.serialize_field("unbond", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "unbond", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Unbond, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "unbond" => Ok(GeneratedField::Unbond), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUnbondingDelegationResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryUnbondingDelegationResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut unbond__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Unbond => { + if unbond__.is_some() { + return Err(serde::de::Error::duplicate_field("unbond")); + } + unbond__ = map_.next_value()?; + } + } + } + Ok(QueryUnbondingDelegationResponse { + unbond: unbond__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryUnbondingDelegationResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorDelegationsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.validator_addr.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorDelegationsRequest", len)?; + if !self.validator_addr.is_empty() { + struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validator_addr", + "validatorAddr", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ValidatorAddr, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validatorAddr" | "validator_addr" => Ok(GeneratedField::ValidatorAddr), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorDelegationsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorDelegationsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validator_addr__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ValidatorAddr => { + if validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddr")); + } + validator_addr__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorDelegationsRequest { + validator_addr: validator_addr__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorDelegationsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorDelegationsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegation_responses.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorDelegationsResponse", len)?; + if !self.delegation_responses.is_empty() { + struct_ser.serialize_field("delegationResponses", &self.delegation_responses)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegation_responses", + "delegationResponses", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegationResponses, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegationResponses" | "delegation_responses" => Ok(GeneratedField::DelegationResponses), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorDelegationsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorDelegationsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegation_responses__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegationResponses => { + if delegation_responses__.is_some() { + return Err(serde::de::Error::duplicate_field("delegationResponses")); + } + delegation_responses__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorDelegationsResponse { + delegation_responses: delegation_responses__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorDelegationsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.validator_addr.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorRequest", len)?; + if !self.validator_addr.is_empty() { + struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validator_addr", + "validatorAddr", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ValidatorAddr, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validatorAddr" | "validator_addr" => Ok(GeneratedField::ValidatorAddr), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validator_addr__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ValidatorAddr => { + if validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddr")); + } + validator_addr__ = Some(map_.next_value()?); + } + } + } + Ok(QueryValidatorRequest { + validator_addr: validator_addr__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.validator.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorResponse", len)?; + if let Some(v) = self.validator.as_ref() { + struct_ser.serialize_field("validator", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validator", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Validator, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validator" => Ok(GeneratedField::Validator), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validator__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Validator => { + if validator__.is_some() { + return Err(serde::de::Error::duplicate_field("validator")); + } + validator__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorResponse { + validator: validator__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorUnbondingDelegationsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.validator_addr.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest", len)?; + if !self.validator_addr.is_empty() { + struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validator_addr", + "validatorAddr", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ValidatorAddr, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validatorAddr" | "validator_addr" => Ok(GeneratedField::ValidatorAddr), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorUnbondingDelegationsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validator_addr__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ValidatorAddr => { + if validator_addr__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddr")); + } + validator_addr__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorUnbondingDelegationsRequest { + validator_addr: validator_addr__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorUnbondingDelegationsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.unbonding_responses.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse", len)?; + if !self.unbonding_responses.is_empty() { + struct_ser.serialize_field("unbondingResponses", &self.unbonding_responses)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "unbonding_responses", + "unbondingResponses", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UnbondingResponses, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "unbondingResponses" | "unbonding_responses" => Ok(GeneratedField::UnbondingResponses), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorUnbondingDelegationsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut unbonding_responses__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UnbondingResponses => { + if unbonding_responses__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingResponses")); + } + unbonding_responses__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorUnbondingDelegationsResponse { + unbonding_responses: unbonding_responses__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.status.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorsRequest", len)?; + if !self.status.is_empty() { + struct_ser.serialize_field("status", &self.status)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "status", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Status, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "status" => Ok(GeneratedField::Status), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut status__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Status => { + if status__.is_some() { + return Err(serde::de::Error::duplicate_field("status")); + } + status__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorsRequest { + status: status__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryValidatorsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.validators.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorsResponse", len)?; + if !self.validators.is_empty() { + struct_ser.serialize_field("validators", &self.validators)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryValidatorsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "validators", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Validators, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "validators" => Ok(GeneratedField::Validators), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryValidatorsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut validators__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Validators => { + if validators__.is_some() { + return Err(serde::de::Error::duplicate_field("validators")); + } + validators__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryValidatorsResponse { + validators: validators__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.QueryValidatorsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Redelegation { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_src_address.is_empty() { + len += 1; + } + if !self.validator_dst_address.is_empty() { + len += 1; + } + if !self.entries.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Redelegation", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_src_address.is_empty() { + struct_ser.serialize_field("validatorSrcAddress", &self.validator_src_address)?; + } + if !self.validator_dst_address.is_empty() { + struct_ser.serialize_field("validatorDstAddress", &self.validator_dst_address)?; + } + if !self.entries.is_empty() { + struct_ser.serialize_field("entries", &self.entries)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Redelegation { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_src_address", + "validatorSrcAddress", + "validator_dst_address", + "validatorDstAddress", + "entries", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorSrcAddress, + ValidatorDstAddress, + Entries, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorSrcAddress" | "validator_src_address" => Ok(GeneratedField::ValidatorSrcAddress), + "validatorDstAddress" | "validator_dst_address" => Ok(GeneratedField::ValidatorDstAddress), + "entries" => Ok(GeneratedField::Entries), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Redelegation; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Redelegation") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_src_address__ = None; + let mut validator_dst_address__ = None; + let mut entries__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorSrcAddress => { + if validator_src_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorSrcAddress")); + } + validator_src_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorDstAddress => { + if validator_dst_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorDstAddress")); + } + validator_dst_address__ = Some(map_.next_value()?); + } + GeneratedField::Entries => { + if entries__.is_some() { + return Err(serde::de::Error::duplicate_field("entries")); + } + entries__ = Some(map_.next_value()?); + } + } + } + Ok(Redelegation { + delegator_address: delegator_address__.unwrap_or_default(), + validator_src_address: validator_src_address__.unwrap_or_default(), + validator_dst_address: validator_dst_address__.unwrap_or_default(), + entries: entries__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Redelegation", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for RedelegationEntry { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.creation_height != 0 { + len += 1; + } + if self.completion_time.is_some() { + len += 1; + } + if !self.initial_balance.is_empty() { + len += 1; + } + if !self.shares_dst.is_empty() { + len += 1; + } + if self.unbonding_id != 0 { + len += 1; + } + if self.unbonding_on_hold_ref_count != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationEntry", len)?; + if self.creation_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("creationHeight", ToString::to_string(&self.creation_height).as_str())?; + } + if let Some(v) = self.completion_time.as_ref() { + struct_ser.serialize_field("completionTime", v)?; + } + if !self.initial_balance.is_empty() { + struct_ser.serialize_field("initialBalance", &self.initial_balance)?; + } + if !self.shares_dst.is_empty() { + struct_ser.serialize_field("sharesDst", &self.shares_dst)?; + } + if self.unbonding_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("unbondingId", ToString::to_string(&self.unbonding_id).as_str())?; + } + if self.unbonding_on_hold_ref_count != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("unbondingOnHoldRefCount", ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for RedelegationEntry { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "creation_height", + "creationHeight", + "completion_time", + "completionTime", + "initial_balance", + "initialBalance", + "shares_dst", + "sharesDst", + "unbonding_id", + "unbondingId", + "unbonding_on_hold_ref_count", + "unbondingOnHoldRefCount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CreationHeight, + CompletionTime, + InitialBalance, + SharesDst, + UnbondingId, + UnbondingOnHoldRefCount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "creationHeight" | "creation_height" => Ok(GeneratedField::CreationHeight), + "completionTime" | "completion_time" => Ok(GeneratedField::CompletionTime), + "initialBalance" | "initial_balance" => Ok(GeneratedField::InitialBalance), + "sharesDst" | "shares_dst" => Ok(GeneratedField::SharesDst), + "unbondingId" | "unbonding_id" => Ok(GeneratedField::UnbondingId), + "unbondingOnHoldRefCount" | "unbonding_on_hold_ref_count" => Ok(GeneratedField::UnbondingOnHoldRefCount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RedelegationEntry; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.RedelegationEntry") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut creation_height__ = None; + let mut completion_time__ = None; + let mut initial_balance__ = None; + let mut shares_dst__ = None; + let mut unbonding_id__ = None; + let mut unbonding_on_hold_ref_count__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CreationHeight => { + if creation_height__.is_some() { + return Err(serde::de::Error::duplicate_field("creationHeight")); + } + creation_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::CompletionTime => { + if completion_time__.is_some() { + return Err(serde::de::Error::duplicate_field("completionTime")); + } + completion_time__ = map_.next_value()?; + } + GeneratedField::InitialBalance => { + if initial_balance__.is_some() { + return Err(serde::de::Error::duplicate_field("initialBalance")); + } + initial_balance__ = Some(map_.next_value()?); + } + GeneratedField::SharesDst => { + if shares_dst__.is_some() { + return Err(serde::de::Error::duplicate_field("sharesDst")); + } + shares_dst__ = Some(map_.next_value()?); + } + GeneratedField::UnbondingId => { + if unbonding_id__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingId")); + } + unbonding_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::UnbondingOnHoldRefCount => { + if unbonding_on_hold_ref_count__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingOnHoldRefCount")); + } + unbonding_on_hold_ref_count__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(RedelegationEntry { + creation_height: creation_height__.unwrap_or_default(), + completion_time: completion_time__, + initial_balance: initial_balance__.unwrap_or_default(), + shares_dst: shares_dst__.unwrap_or_default(), + unbonding_id: unbonding_id__.unwrap_or_default(), + unbonding_on_hold_ref_count: unbonding_on_hold_ref_count__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.RedelegationEntry", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for RedelegationEntryResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.redelegation_entry.is_some() { + len += 1; + } + if !self.balance.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationEntryResponse", len)?; + if let Some(v) = self.redelegation_entry.as_ref() { + struct_ser.serialize_field("redelegationEntry", v)?; + } + if !self.balance.is_empty() { + struct_ser.serialize_field("balance", &self.balance)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for RedelegationEntryResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "redelegation_entry", + "redelegationEntry", + "balance", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + RedelegationEntry, + Balance, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "redelegationEntry" | "redelegation_entry" => Ok(GeneratedField::RedelegationEntry), + "balance" => Ok(GeneratedField::Balance), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RedelegationEntryResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.RedelegationEntryResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut redelegation_entry__ = None; + let mut balance__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::RedelegationEntry => { + if redelegation_entry__.is_some() { + return Err(serde::de::Error::duplicate_field("redelegationEntry")); + } + redelegation_entry__ = map_.next_value()?; + } + GeneratedField::Balance => { + if balance__.is_some() { + return Err(serde::de::Error::duplicate_field("balance")); + } + balance__ = Some(map_.next_value()?); + } + } + } + Ok(RedelegationEntryResponse { + redelegation_entry: redelegation_entry__, + balance: balance__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.RedelegationEntryResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for RedelegationResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.redelegation.is_some() { + len += 1; + } + if !self.entries.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationResponse", len)?; + if let Some(v) = self.redelegation.as_ref() { + struct_ser.serialize_field("redelegation", v)?; + } + if !self.entries.is_empty() { + struct_ser.serialize_field("entries", &self.entries)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for RedelegationResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "redelegation", + "entries", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Redelegation, + Entries, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "redelegation" => Ok(GeneratedField::Redelegation), + "entries" => Ok(GeneratedField::Entries), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RedelegationResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.RedelegationResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut redelegation__ = None; + let mut entries__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Redelegation => { + if redelegation__.is_some() { + return Err(serde::de::Error::duplicate_field("redelegation")); + } + redelegation__ = map_.next_value()?; + } + GeneratedField::Entries => { + if entries__.is_some() { + return Err(serde::de::Error::duplicate_field("entries")); + } + entries__ = Some(map_.next_value()?); + } + } + } + Ok(RedelegationResponse { + redelegation: redelegation__, + entries: entries__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.RedelegationResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for UnbondingDelegation { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.delegator_address.is_empty() { + len += 1; + } + if !self.validator_address.is_empty() { + len += 1; + } + if !self.entries.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.UnbondingDelegation", len)?; + if !self.delegator_address.is_empty() { + struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; + } + if !self.validator_address.is_empty() { + struct_ser.serialize_field("validatorAddress", &self.validator_address)?; + } + if !self.entries.is_empty() { + struct_ser.serialize_field("entries", &self.entries)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for UnbondingDelegation { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "delegator_address", + "delegatorAddress", + "validator_address", + "validatorAddress", + "entries", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DelegatorAddress, + ValidatorAddress, + Entries, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "delegatorAddress" | "delegator_address" => Ok(GeneratedField::DelegatorAddress), + "validatorAddress" | "validator_address" => Ok(GeneratedField::ValidatorAddress), + "entries" => Ok(GeneratedField::Entries), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = UnbondingDelegation; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.UnbondingDelegation") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut delegator_address__ = None; + let mut validator_address__ = None; + let mut entries__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DelegatorAddress => { + if delegator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorAddress")); + } + delegator_address__ = Some(map_.next_value()?); + } + GeneratedField::ValidatorAddress => { + if validator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorAddress")); + } + validator_address__ = Some(map_.next_value()?); + } + GeneratedField::Entries => { + if entries__.is_some() { + return Err(serde::de::Error::duplicate_field("entries")); + } + entries__ = Some(map_.next_value()?); + } + } + } + Ok(UnbondingDelegation { + delegator_address: delegator_address__.unwrap_or_default(), + validator_address: validator_address__.unwrap_or_default(), + entries: entries__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.UnbondingDelegation", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for UnbondingDelegationEntry { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.creation_height != 0 { + len += 1; + } + if self.completion_time.is_some() { + len += 1; + } + if !self.initial_balance.is_empty() { + len += 1; + } + if !self.balance.is_empty() { + len += 1; + } + if self.unbonding_id != 0 { + len += 1; + } + if self.unbonding_on_hold_ref_count != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.UnbondingDelegationEntry", len)?; + if self.creation_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("creationHeight", ToString::to_string(&self.creation_height).as_str())?; + } + if let Some(v) = self.completion_time.as_ref() { + struct_ser.serialize_field("completionTime", v)?; + } + if !self.initial_balance.is_empty() { + struct_ser.serialize_field("initialBalance", &self.initial_balance)?; + } + if !self.balance.is_empty() { + struct_ser.serialize_field("balance", &self.balance)?; + } + if self.unbonding_id != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("unbondingId", ToString::to_string(&self.unbonding_id).as_str())?; + } + if self.unbonding_on_hold_ref_count != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("unbondingOnHoldRefCount", ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "creation_height", + "creationHeight", + "completion_time", + "completionTime", + "initial_balance", + "initialBalance", + "balance", + "unbonding_id", + "unbondingId", + "unbonding_on_hold_ref_count", + "unbondingOnHoldRefCount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CreationHeight, + CompletionTime, + InitialBalance, + Balance, + UnbondingId, + UnbondingOnHoldRefCount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "creationHeight" | "creation_height" => Ok(GeneratedField::CreationHeight), + "completionTime" | "completion_time" => Ok(GeneratedField::CompletionTime), + "initialBalance" | "initial_balance" => Ok(GeneratedField::InitialBalance), + "balance" => Ok(GeneratedField::Balance), + "unbondingId" | "unbonding_id" => Ok(GeneratedField::UnbondingId), + "unbondingOnHoldRefCount" | "unbonding_on_hold_ref_count" => Ok(GeneratedField::UnbondingOnHoldRefCount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = UnbondingDelegationEntry; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.UnbondingDelegationEntry") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut creation_height__ = None; + let mut completion_time__ = None; + let mut initial_balance__ = None; + let mut balance__ = None; + let mut unbonding_id__ = None; + let mut unbonding_on_hold_ref_count__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CreationHeight => { + if creation_height__.is_some() { + return Err(serde::de::Error::duplicate_field("creationHeight")); + } + creation_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::CompletionTime => { + if completion_time__.is_some() { + return Err(serde::de::Error::duplicate_field("completionTime")); + } + completion_time__ = map_.next_value()?; + } + GeneratedField::InitialBalance => { + if initial_balance__.is_some() { + return Err(serde::de::Error::duplicate_field("initialBalance")); + } + initial_balance__ = Some(map_.next_value()?); + } + GeneratedField::Balance => { + if balance__.is_some() { + return Err(serde::de::Error::duplicate_field("balance")); + } + balance__ = Some(map_.next_value()?); + } + GeneratedField::UnbondingId => { + if unbonding_id__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingId")); + } + unbonding_id__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::UnbondingOnHoldRefCount => { + if unbonding_on_hold_ref_count__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingOnHoldRefCount")); + } + unbonding_on_hold_ref_count__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(UnbondingDelegationEntry { + creation_height: creation_height__.unwrap_or_default(), + completion_time: completion_time__, + initial_balance: initial_balance__.unwrap_or_default(), + balance: balance__.unwrap_or_default(), + unbonding_id: unbonding_id__.unwrap_or_default(), + unbonding_on_hold_ref_count: unbonding_on_hold_ref_count__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.UnbondingDelegationEntry", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ValAddresses { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.addresses.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.ValAddresses", len)?; + if !self.addresses.is_empty() { + struct_ser.serialize_field("addresses", &self.addresses)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ValAddresses { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "addresses", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Addresses, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "addresses" => Ok(GeneratedField::Addresses), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ValAddresses; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.ValAddresses") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut addresses__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Addresses => { + if addresses__.is_some() { + return Err(serde::de::Error::duplicate_field("addresses")); + } + addresses__ = Some(map_.next_value()?); + } + } + } + Ok(ValAddresses { + addresses: addresses__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.ValAddresses", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Validator { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.operator_address.is_empty() { + len += 1; + } + if self.consensus_pubkey.is_some() { + len += 1; + } + if self.jailed { + len += 1; + } + if self.status != 0 { + len += 1; + } + if !self.tokens.is_empty() { + len += 1; + } + if !self.delegator_shares.is_empty() { + len += 1; + } + if self.description.is_some() { + len += 1; + } + if self.unbonding_height != 0 { + len += 1; + } + if self.unbonding_time.is_some() { + len += 1; + } + if self.commission.is_some() { + len += 1; + } + if !self.min_self_delegation.is_empty() { + len += 1; + } + if self.unbonding_on_hold_ref_count != 0 { + len += 1; + } + if !self.unbonding_ids.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Validator", len)?; + if !self.operator_address.is_empty() { + struct_ser.serialize_field("operatorAddress", &self.operator_address)?; + } + if let Some(v) = self.consensus_pubkey.as_ref() { + struct_ser.serialize_field("consensusPubkey", v)?; + } + if self.jailed { + struct_ser.serialize_field("jailed", &self.jailed)?; + } + if self.status != 0 { + let v = BondStatus::try_from(self.status) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.status)))?; + struct_ser.serialize_field("status", &v)?; + } + if !self.tokens.is_empty() { + struct_ser.serialize_field("tokens", &self.tokens)?; + } + if !self.delegator_shares.is_empty() { + struct_ser.serialize_field("delegatorShares", &self.delegator_shares)?; + } + if let Some(v) = self.description.as_ref() { + struct_ser.serialize_field("description", v)?; + } + if self.unbonding_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("unbondingHeight", ToString::to_string(&self.unbonding_height).as_str())?; + } + if let Some(v) = self.unbonding_time.as_ref() { + struct_ser.serialize_field("unbondingTime", v)?; + } + if let Some(v) = self.commission.as_ref() { + struct_ser.serialize_field("commission", v)?; + } + if !self.min_self_delegation.is_empty() { + struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; + } + if self.unbonding_on_hold_ref_count != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("unbondingOnHoldRefCount", ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; + } + if !self.unbonding_ids.is_empty() { + struct_ser.serialize_field("unbondingIds", &self.unbonding_ids.iter().map(ToString::to_string).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Validator { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "operator_address", + "operatorAddress", + "consensus_pubkey", + "consensusPubkey", + "jailed", + "status", + "tokens", + "delegator_shares", + "delegatorShares", + "description", + "unbonding_height", + "unbondingHeight", + "unbonding_time", + "unbondingTime", + "commission", + "min_self_delegation", + "minSelfDelegation", + "unbonding_on_hold_ref_count", + "unbondingOnHoldRefCount", + "unbonding_ids", + "unbondingIds", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + OperatorAddress, + ConsensusPubkey, + Jailed, + Status, + Tokens, + DelegatorShares, + Description, + UnbondingHeight, + UnbondingTime, + Commission, + MinSelfDelegation, + UnbondingOnHoldRefCount, + UnbondingIds, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "operatorAddress" | "operator_address" => Ok(GeneratedField::OperatorAddress), + "consensusPubkey" | "consensus_pubkey" => Ok(GeneratedField::ConsensusPubkey), + "jailed" => Ok(GeneratedField::Jailed), + "status" => Ok(GeneratedField::Status), + "tokens" => Ok(GeneratedField::Tokens), + "delegatorShares" | "delegator_shares" => Ok(GeneratedField::DelegatorShares), + "description" => Ok(GeneratedField::Description), + "unbondingHeight" | "unbonding_height" => Ok(GeneratedField::UnbondingHeight), + "unbondingTime" | "unbonding_time" => Ok(GeneratedField::UnbondingTime), + "commission" => Ok(GeneratedField::Commission), + "minSelfDelegation" | "min_self_delegation" => Ok(GeneratedField::MinSelfDelegation), + "unbondingOnHoldRefCount" | "unbonding_on_hold_ref_count" => Ok(GeneratedField::UnbondingOnHoldRefCount), + "unbondingIds" | "unbonding_ids" => Ok(GeneratedField::UnbondingIds), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Validator; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.staking.v1beta1.Validator") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut operator_address__ = None; + let mut consensus_pubkey__ = None; + let mut jailed__ = None; + let mut status__ = None; + let mut tokens__ = None; + let mut delegator_shares__ = None; + let mut description__ = None; + let mut unbonding_height__ = None; + let mut unbonding_time__ = None; + let mut commission__ = None; + let mut min_self_delegation__ = None; + let mut unbonding_on_hold_ref_count__ = None; + let mut unbonding_ids__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::OperatorAddress => { + if operator_address__.is_some() { + return Err(serde::de::Error::duplicate_field("operatorAddress")); + } + operator_address__ = Some(map_.next_value()?); + } + GeneratedField::ConsensusPubkey => { + if consensus_pubkey__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusPubkey")); + } + consensus_pubkey__ = map_.next_value()?; + } + GeneratedField::Jailed => { + if jailed__.is_some() { + return Err(serde::de::Error::duplicate_field("jailed")); + } + jailed__ = Some(map_.next_value()?); + } + GeneratedField::Status => { + if status__.is_some() { + return Err(serde::de::Error::duplicate_field("status")); + } + status__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Tokens => { + if tokens__.is_some() { + return Err(serde::de::Error::duplicate_field("tokens")); + } + tokens__ = Some(map_.next_value()?); + } + GeneratedField::DelegatorShares => { + if delegator_shares__.is_some() { + return Err(serde::de::Error::duplicate_field("delegatorShares")); + } + delegator_shares__ = Some(map_.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = map_.next_value()?; + } + GeneratedField::UnbondingHeight => { + if unbonding_height__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingHeight")); + } + unbonding_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::UnbondingTime => { + if unbonding_time__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingTime")); + } + unbonding_time__ = map_.next_value()?; + } + GeneratedField::Commission => { + if commission__.is_some() { + return Err(serde::de::Error::duplicate_field("commission")); + } + commission__ = map_.next_value()?; + } + GeneratedField::MinSelfDelegation => { + if min_self_delegation__.is_some() { + return Err(serde::de::Error::duplicate_field("minSelfDelegation")); + } + min_self_delegation__ = Some(map_.next_value()?); + } + GeneratedField::UnbondingOnHoldRefCount => { + if unbonding_on_hold_ref_count__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingOnHoldRefCount")); + } + unbonding_on_hold_ref_count__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::UnbondingIds => { + if unbonding_ids__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingIds")); + } + unbonding_ids__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(Validator { + operator_address: operator_address__.unwrap_or_default(), + consensus_pubkey: consensus_pubkey__, + jailed: jailed__.unwrap_or_default(), + status: status__.unwrap_or_default(), + tokens: tokens__.unwrap_or_default(), + delegator_shares: delegator_shares__.unwrap_or_default(), + description: description__, + unbonding_height: unbonding_height__.unwrap_or_default(), + unbonding_time: unbonding_time__, + commission: commission__, + min_self_delegation: min_self_delegation__.unwrap_or_default(), + unbonding_on_hold_ref_count: unbonding_on_hold_ref_count__.unwrap_or_default(), + unbonding_ids: unbonding_ids__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.staking.v1beta1.Validator", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.tx.config.v1.rs b/src/prost/cosmos.tx.config.v1.rs new file mode 100644 index 00000000..b79ab2e0 --- /dev/null +++ b/src/prost/cosmos.tx.config.v1.rs @@ -0,0 +1,20 @@ +/// Config is the config object of the x/auth/tx package. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Config { + /// skip_ante_handler defines whether the ante handler registration should be skipped in case an app wants to override + /// this functionality. + #[prost(bool, tag = "1")] + pub skip_ante_handler: bool, + /// skip_post_handler defines whether the post handler registration should be skipped in case an app wants to override + /// this functionality. + #[prost(bool, tag = "2")] + pub skip_post_handler: bool, +} +impl ::prost::Name for Config { + const NAME: &'static str = "Config"; + const PACKAGE: &'static str = "cosmos.tx.config.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.config.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.tx.config.v1.serde.rs b/src/prost/cosmos.tx.config.v1.serde.rs new file mode 100644 index 00000000..468e2a93 --- /dev/null +++ b/src/prost/cosmos.tx.config.v1.serde.rs @@ -0,0 +1,110 @@ +impl serde::Serialize for Config { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.skip_ante_handler { + len += 1; + } + if self.skip_post_handler { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.tx.config.v1.Config", len)?; + if self.skip_ante_handler { + struct_ser.serialize_field("skipAnteHandler", &self.skip_ante_handler)?; + } + if self.skip_post_handler { + struct_ser.serialize_field("skipPostHandler", &self.skip_post_handler)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Config { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "skip_ante_handler", + "skipAnteHandler", + "skip_post_handler", + "skipPostHandler", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SkipAnteHandler, + SkipPostHandler, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "skipAnteHandler" | "skip_ante_handler" => Ok(GeneratedField::SkipAnteHandler), + "skipPostHandler" | "skip_post_handler" => Ok(GeneratedField::SkipPostHandler), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Config; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.tx.config.v1.Config") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut skip_ante_handler__ = None; + let mut skip_post_handler__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SkipAnteHandler => { + if skip_ante_handler__.is_some() { + return Err(serde::de::Error::duplicate_field("skipAnteHandler")); + } + skip_ante_handler__ = Some(map_.next_value()?); + } + GeneratedField::SkipPostHandler => { + if skip_post_handler__.is_some() { + return Err(serde::de::Error::duplicate_field("skipPostHandler")); + } + skip_post_handler__ = Some(map_.next_value()?); + } + } + } + Ok(Config { + skip_ante_handler: skip_ante_handler__.unwrap_or_default(), + skip_post_handler: skip_post_handler__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.tx.config.v1.Config", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.tx.signing.v1beta1.rs b/src/prost/cosmos.tx.signing.v1beta1.rs new file mode 100644 index 00000000..4685364f --- /dev/null +++ b/src/prost/cosmos.tx.signing.v1beta1.rs @@ -0,0 +1,189 @@ +/// SignatureDescriptors wraps multiple SignatureDescriptor's. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignatureDescriptors { + /// signatures are the signature descriptors + #[prost(message, repeated, tag = "1")] + pub signatures: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SignatureDescriptors { + const NAME: &'static str = "SignatureDescriptors"; + const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.signing.v1beta1.{}", Self::NAME) + } +} +/// SignatureDescriptor is a convenience type which represents the full data for +/// a signature including the public key of the signer, signing modes and the +/// signature itself. It is primarily used for coordinating signatures between +/// clients. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignatureDescriptor { + /// public_key is the public key of the signer + #[prost(message, optional, tag = "1")] + pub public_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + #[prost(message, optional, tag = "2")] + pub data: ::core::option::Option, + /// sequence is the sequence of the account, which describes the + /// number of committed transactions signed by a given address. It is used to prevent + /// replay attacks. + #[prost(uint64, tag = "3")] + pub sequence: u64, +} +/// Nested message and enum types in `SignatureDescriptor`. +pub mod signature_descriptor { + /// Data represents signature data + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Data { + /// sum is the oneof that specifies whether this represents single or multi-signature data + #[prost(oneof = "data::Sum", tags = "1, 2")] + pub sum: ::core::option::Option, + } + /// Nested message and enum types in `Data`. + pub mod data { + /// Single is the signature data for a single signer + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Single { + /// mode is the signing mode of the single signer + #[prost(enumeration = "super::super::SignMode", tag = "1")] + pub mode: i32, + /// signature is the raw signature bytes + #[prost(bytes = "vec", tag = "2")] + pub signature: ::prost::alloc::vec::Vec, + } + impl ::prost::Name for Single { + const NAME: &'static str = "Single"; + const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.{}", Self::NAME + ) + } + } + /// Multi is the signature data for a multisig public key + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Multi { + /// bitarray specifies which keys within the multisig are signing + #[prost(message, optional, tag = "1")] + pub bitarray: ::core::option::Option< + super::super::super::super::super::crypto::multisig::v1beta1::CompactBitArray, + >, + /// signatures is the signatures of the multi-signature + #[prost(message, repeated, tag = "2")] + pub signatures: ::prost::alloc::vec::Vec, + } + impl ::prost::Name for Multi { + const NAME: &'static str = "Multi"; + const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.{}", Self::NAME + ) + } + } + /// sum is the oneof that specifies whether this represents single or multi-signature data + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Sum { + /// single represents a single signer + #[prost(message, tag = "1")] + Single(Single), + /// multi represents a multisig signer + #[prost(message, tag = "2")] + Multi(Multi), + } + } + impl ::prost::Name for Data { + const NAME: &'static str = "Data"; + const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "cosmos.tx.signing.v1beta1.SignatureDescriptor.{}", Self::NAME + ) + } + } +} +impl ::prost::Name for SignatureDescriptor { + const NAME: &'static str = "SignatureDescriptor"; + const PACKAGE: &'static str = "cosmos.tx.signing.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.signing.v1beta1.{}", Self::NAME) + } +} +/// SignMode represents a signing mode with its own security guarantees. +/// +/// This enum should be considered a registry of all known sign modes +/// in the Cosmos ecosystem. Apps are not expected to support all known +/// sign modes. Apps that would like to support custom sign modes are +/// encouraged to open a small PR against this file to add a new case +/// to this SignMode enum describing their sign mode so that different +/// apps have a consistent version of this enum. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum SignMode { + /// SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + /// rejected. + Unspecified = 0, + /// SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + /// verified with raw bytes from Tx. + Direct = 1, + /// SIGN_MODE_TEXTUAL is a future signing mode that will verify some + /// human-readable textual representation on top of the binary representation + /// from SIGN_MODE_DIRECT. It is currently not supported. + Textual = 2, + /// SIGN_MODE_DIRECT_AUX specifies a signing mode which uses + /// SignDocDirectAux. As opposed to SIGN_MODE_DIRECT, this sign mode does not + /// require signers signing over other signers' `signer_info`. It also allows + /// for adding Tips in transactions. + /// + /// Since: cosmos-sdk 0.46 + DirectAux = 3, + /// SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + /// Amino JSON and will be removed in the future. + LegacyAminoJson = 127, + /// SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + /// SDK. Ref: + /// + /// Currently, SIGN_MODE_EIP_191 is registered as a SignMode enum variant, + /// but is not implemented on the SDK by default. To enable EIP-191, you need + /// to pass a custom `TxConfig` that has an implementation of + /// `SignModeHandler` for EIP-191. The SDK may decide to fully support + /// EIP-191 in the future. + /// + /// Since: cosmos-sdk 0.45.2 + Eip191 = 191, +} +impl SignMode { + /// 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 { + SignMode::Unspecified => "SIGN_MODE_UNSPECIFIED", + SignMode::Direct => "SIGN_MODE_DIRECT", + SignMode::Textual => "SIGN_MODE_TEXTUAL", + SignMode::DirectAux => "SIGN_MODE_DIRECT_AUX", + SignMode::LegacyAminoJson => "SIGN_MODE_LEGACY_AMINO_JSON", + SignMode::Eip191 => "SIGN_MODE_EIP_191", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "SIGN_MODE_UNSPECIFIED" => Some(Self::Unspecified), + "SIGN_MODE_DIRECT" => Some(Self::Direct), + "SIGN_MODE_TEXTUAL" => Some(Self::Textual), + "SIGN_MODE_DIRECT_AUX" => Some(Self::DirectAux), + "SIGN_MODE_LEGACY_AMINO_JSON" => Some(Self::LegacyAminoJson), + "SIGN_MODE_EIP_191" => Some(Self::Eip191), + _ => None, + } + } +} diff --git a/src/prost/cosmos.tx.signing.v1beta1.serde.rs b/src/prost/cosmos.tx.signing.v1beta1.serde.rs new file mode 100644 index 00000000..bd9cfdd5 --- /dev/null +++ b/src/prost/cosmos.tx.signing.v1beta1.serde.rs @@ -0,0 +1,633 @@ +impl serde::Serialize for SignMode { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "SIGN_MODE_UNSPECIFIED", + Self::Direct => "SIGN_MODE_DIRECT", + Self::Textual => "SIGN_MODE_TEXTUAL", + Self::DirectAux => "SIGN_MODE_DIRECT_AUX", + Self::LegacyAminoJson => "SIGN_MODE_LEGACY_AMINO_JSON", + Self::Eip191 => "SIGN_MODE_EIP_191", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for SignMode { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "SIGN_MODE_UNSPECIFIED", + "SIGN_MODE_DIRECT", + "SIGN_MODE_TEXTUAL", + "SIGN_MODE_DIRECT_AUX", + "SIGN_MODE_LEGACY_AMINO_JSON", + "SIGN_MODE_EIP_191", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignMode; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "SIGN_MODE_UNSPECIFIED" => Ok(SignMode::Unspecified), + "SIGN_MODE_DIRECT" => Ok(SignMode::Direct), + "SIGN_MODE_TEXTUAL" => Ok(SignMode::Textual), + "SIGN_MODE_DIRECT_AUX" => Ok(SignMode::DirectAux), + "SIGN_MODE_LEGACY_AMINO_JSON" => Ok(SignMode::LegacyAminoJson), + "SIGN_MODE_EIP_191" => Ok(SignMode::Eip191), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for SignatureDescriptor { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.public_key.is_some() { + len += 1; + } + if self.data.is_some() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor", len)?; + if let Some(v) = self.public_key.as_ref() { + struct_ser.serialize_field("publicKey", v)?; + } + if let Some(v) = self.data.as_ref() { + struct_ser.serialize_field("data", v)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SignatureDescriptor { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "public_key", + "publicKey", + "data", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PublicKey, + Data, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "publicKey" | "public_key" => Ok(GeneratedField::PublicKey), + "data" => Ok(GeneratedField::Data), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignatureDescriptor; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut public_key__ = None; + let mut data__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PublicKey => { + if public_key__.is_some() { + return Err(serde::de::Error::duplicate_field("publicKey")); + } + public_key__ = map_.next_value()?; + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = map_.next_value()?; + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(SignatureDescriptor { + public_key: public_key__, + data: data__, + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for signature_descriptor::Data { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sum.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data", len)?; + if let Some(v) = self.sum.as_ref() { + match v { + signature_descriptor::data::Sum::Single(v) => { + struct_ser.serialize_field("single", v)?; + } + signature_descriptor::data::Sum::Multi(v) => { + struct_ser.serialize_field("multi", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for signature_descriptor::Data { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "single", + "multi", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Single, + Multi, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "single" => Ok(GeneratedField::Single), + "multi" => Ok(GeneratedField::Multi), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = signature_descriptor::Data; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor.Data") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sum__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Single => { + if sum__.is_some() { + return Err(serde::de::Error::duplicate_field("single")); + } + sum__ = map_.next_value::<::std::option::Option<_>>()?.map(signature_descriptor::data::Sum::Single) +; + } + GeneratedField::Multi => { + if sum__.is_some() { + return Err(serde::de::Error::duplicate_field("multi")); + } + sum__ = map_.next_value::<::std::option::Option<_>>()?.map(signature_descriptor::data::Sum::Multi) +; + } + } + } + Ok(signature_descriptor::Data { + sum: sum__, + }) + } + } + deserializer.deserialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for signature_descriptor::data::Multi { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.bitarray.is_some() { + len += 1; + } + if !self.signatures.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi", len)?; + if let Some(v) = self.bitarray.as_ref() { + struct_ser.serialize_field("bitarray", v)?; + } + if !self.signatures.is_empty() { + struct_ser.serialize_field("signatures", &self.signatures)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Multi { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "bitarray", + "signatures", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Bitarray, + Signatures, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "bitarray" => Ok(GeneratedField::Bitarray), + "signatures" => Ok(GeneratedField::Signatures), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = signature_descriptor::data::Multi; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut bitarray__ = None; + let mut signatures__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Bitarray => { + if bitarray__.is_some() { + return Err(serde::de::Error::duplicate_field("bitarray")); + } + bitarray__ = map_.next_value()?; + } + GeneratedField::Signatures => { + if signatures__.is_some() { + return Err(serde::de::Error::duplicate_field("signatures")); + } + signatures__ = Some(map_.next_value()?); + } + } + } + Ok(signature_descriptor::data::Multi { + bitarray: bitarray__, + signatures: signatures__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for signature_descriptor::data::Single { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.mode != 0 { + len += 1; + } + if !self.signature.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single", len)?; + if self.mode != 0 { + let v = SignMode::try_from(self.mode) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.mode)))?; + struct_ser.serialize_field("mode", &v)?; + } + if !self.signature.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Single { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "mode", + "signature", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Mode, + Signature, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "mode" => Ok(GeneratedField::Mode), + "signature" => Ok(GeneratedField::Signature), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = signature_descriptor::data::Single; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut mode__ = None; + let mut signature__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Mode => { + if mode__.is_some() { + return Err(serde::de::Error::duplicate_field("mode")); + } + mode__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Signature => { + if signature__.is_some() { + return Err(serde::de::Error::duplicate_field("signature")); + } + signature__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(signature_descriptor::data::Single { + mode: mode__.unwrap_or_default(), + signature: signature__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SignatureDescriptors { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signatures.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptors", len)?; + if !self.signatures.is_empty() { + struct_ser.serialize_field("signatures", &self.signatures)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SignatureDescriptors { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signatures", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signatures, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signatures" => Ok(GeneratedField::Signatures), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignatureDescriptors; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptors") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signatures__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signatures => { + if signatures__.is_some() { + return Err(serde::de::Error::duplicate_field("signatures")); + } + signatures__ = Some(map_.next_value()?); + } + } + } + Ok(SignatureDescriptors { + signatures: signatures__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptors", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.tx.v1beta1.rs b/src/prost/cosmos.tx.v1beta1.rs new file mode 100644 index 00000000..403722eb --- /dev/null +++ b/src/prost/cosmos.tx.v1beta1.rs @@ -0,0 +1,1763 @@ +/// Tx is the standard type used for broadcasting transactions. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Tx { + /// body is the processable content of the transaction + #[prost(message, optional, tag = "1")] + pub body: ::core::option::Option, + /// auth_info is the authorization related content of the transaction, + /// specifically signers, signer modes and fee + #[prost(message, optional, tag = "2")] + pub auth_info: ::core::option::Option, + /// signatures is a list of signatures that matches the length and order of + /// AuthInfo's signer_infos to allow connecting signature meta information like + /// public key and signing mode by position. + #[prost(bytes = "vec", repeated, tag = "3")] + pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for Tx { + const NAME: &'static str = "Tx"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxRaw is a variant of Tx that pins the signer's exact binary representation +/// of body and auth_info. This is used for signing, broadcasting and +/// verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and +/// the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used +/// as the transaction ID. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxRaw { + /// body_bytes is a protobuf serialization of a TxBody that matches the + /// representation in SignDoc. + #[prost(bytes = "vec", tag = "1")] + pub body_bytes: ::prost::alloc::vec::Vec, + /// auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + /// representation in SignDoc. + #[prost(bytes = "vec", tag = "2")] + pub auth_info_bytes: ::prost::alloc::vec::Vec, + /// signatures is a list of signatures that matches the length and order of + /// AuthInfo's signer_infos to allow connecting signature meta information like + /// public key and signing mode by position. + #[prost(bytes = "vec", repeated, tag = "3")] + pub signatures: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for TxRaw { + const NAME: &'static str = "TxRaw"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignDoc { + /// body_bytes is protobuf serialization of a TxBody that matches the + /// representation in TxRaw. + #[prost(bytes = "vec", tag = "1")] + pub body_bytes: ::prost::alloc::vec::Vec, + /// auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + /// representation in TxRaw. + #[prost(bytes = "vec", tag = "2")] + pub auth_info_bytes: ::prost::alloc::vec::Vec, + /// chain_id is the unique identifier of the chain this transaction targets. + /// It prevents signed transactions from being used on another chain by an + /// attacker + #[prost(string, tag = "3")] + pub chain_id: ::prost::alloc::string::String, + /// account_number is the account number of the account in state + #[prost(uint64, tag = "4")] + pub account_number: u64, +} +impl ::prost::Name for SignDoc { + const NAME: &'static str = "SignDoc"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// SignDocDirectAux is the type used for generating sign bytes for +/// SIGN_MODE_DIRECT_AUX. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignDocDirectAux { + /// body_bytes is protobuf serialization of a TxBody that matches the + /// representation in TxRaw. + #[prost(bytes = "vec", tag = "1")] + pub body_bytes: ::prost::alloc::vec::Vec, + /// public_key is the public key of the signing account. + #[prost(message, optional, tag = "2")] + pub public_key: ::core::option::Option, + /// chain_id is the identifier of the chain this transaction targets. + /// It prevents signed transactions from being used on another chain by an + /// attacker. + #[prost(string, tag = "3")] + pub chain_id: ::prost::alloc::string::String, + /// account_number is the account number of the account in state. + #[prost(uint64, tag = "4")] + pub account_number: u64, + /// sequence is the sequence number of the signing account. + #[prost(uint64, tag = "5")] + pub sequence: u64, + /// Tip is the optional tip used for transactions fees paid in another denom. + /// It should be left empty if the signer is not the tipper for this + /// transaction. + /// + /// This field is ignored if the chain didn't enable tips, i.e. didn't add the + /// `TipDecorator` in its posthandler. + #[prost(message, optional, tag = "6")] + pub tip: ::core::option::Option, +} +impl ::prost::Name for SignDocDirectAux { + const NAME: &'static str = "SignDocDirectAux"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxBody is the body of a transaction that all signers sign over. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxBody { + /// messages is a list of messages to be executed. The required signers of + /// those messages define the number and order of elements in AuthInfo's + /// signer_infos and Tx's signatures. Each required signer address is added to + /// the list only the first time it occurs. + /// By convention, the first required signer (usually from the first message) + /// is referred to as the primary signer and pays the fee for the whole + /// transaction. + #[prost(message, repeated, tag = "1")] + pub messages: ::prost::alloc::vec::Vec, + /// memo is any arbitrary note/comment to be added to the transaction. + /// WARNING: in clients, any publicly exposed text should not be called memo, + /// but should be called `note` instead (see ). + #[prost(string, tag = "2")] + pub memo: ::prost::alloc::string::String, + /// timeout is the block height after which this transaction will not + /// be processed by the chain + #[prost(uint64, tag = "3")] + pub timeout_height: u64, + /// extension_options are arbitrary options that can be added by chains + /// when the default options are not sufficient. If any of these are present + /// and can't be handled, the transaction will be rejected + #[prost(message, repeated, tag = "1023")] + pub extension_options: ::prost::alloc::vec::Vec< + super::super::super::google::protobuf::Any, + >, + /// extension_options are arbitrary options that can be added by chains + /// when the default options are not sufficient. If any of these are present + /// and can't be handled, they will be ignored + #[prost(message, repeated, tag = "2047")] + pub non_critical_extension_options: ::prost::alloc::vec::Vec< + super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for TxBody { + const NAME: &'static str = "TxBody"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// AuthInfo describes the fee and signer modes that are used to sign a +/// transaction. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AuthInfo { + /// signer_infos defines the signing modes for the required signers. The number + /// and order of elements must match the required signers from TxBody's + /// messages. The first element is the primary signer and the one which pays + /// the fee. + #[prost(message, repeated, tag = "1")] + pub signer_infos: ::prost::alloc::vec::Vec, + /// Fee is the fee and gas limit for the transaction. The first signer is the + /// primary signer and the one which pays the fee. The fee can be calculated + /// based on the cost of evaluating the body and doing signature verification + /// of the signers. This can be estimated via simulation. + #[prost(message, optional, tag = "2")] + pub fee: ::core::option::Option, + /// Tip is the optional tip used for transactions fees paid in another denom. + /// + /// This field is ignored if the chain didn't enable tips, i.e. didn't add the + /// `TipDecorator` in its posthandler. + /// + /// Since: cosmos-sdk 0.46 + #[prost(message, optional, tag = "3")] + pub tip: ::core::option::Option, +} +impl ::prost::Name for AuthInfo { + const NAME: &'static str = "AuthInfo"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// SignerInfo describes the public key and signing mode of a single top-level +/// signer. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignerInfo { + /// public_key is the public key of the signer. It is optional for accounts + /// that already exist in state. If unset, the verifier can use the required \ + /// signer address for this position and lookup the public key. + #[prost(message, optional, tag = "1")] + pub public_key: ::core::option::Option, + /// mode_info describes the signing mode of the signer and is a nested + /// structure to support nested multisig pubkey's + #[prost(message, optional, tag = "2")] + pub mode_info: ::core::option::Option, + /// sequence is the sequence of the account, which describes the + /// number of committed transactions signed by a given address. It is used to + /// prevent replay attacks. + #[prost(uint64, tag = "3")] + pub sequence: u64, +} +impl ::prost::Name for SignerInfo { + const NAME: &'static str = "SignerInfo"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// ModeInfo describes the signing mode of a single or nested multisig signer. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModeInfo { + /// sum is the oneof that specifies whether this represents a single or nested + /// multisig signer + #[prost(oneof = "mode_info::Sum", tags = "1, 2")] + pub sum: ::core::option::Option, +} +/// Nested message and enum types in `ModeInfo`. +pub mod mode_info { + /// Single is the mode info for a single signer. It is structured as a message + /// to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the + /// future + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Single { + /// mode is the signing mode of the single signer + #[prost(enumeration = "super::super::signing::v1beta1::SignMode", tag = "1")] + pub mode: i32, + } + impl ::prost::Name for Single { + const NAME: &'static str = "Single"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.ModeInfo.{}", Self::NAME) + } + } + /// Multi is the mode info for a multisig public key + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Multi { + /// bitarray specifies which keys within the multisig are signing + #[prost(message, optional, tag = "1")] + pub bitarray: ::core::option::Option< + super::super::super::crypto::multisig::v1beta1::CompactBitArray, + >, + /// mode_infos is the corresponding modes of the signers of the multisig + /// which could include nested multisig public keys + #[prost(message, repeated, tag = "2")] + pub mode_infos: ::prost::alloc::vec::Vec, + } + impl ::prost::Name for Multi { + const NAME: &'static str = "Multi"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.ModeInfo.{}", Self::NAME) + } + } + /// sum is the oneof that specifies whether this represents a single or nested + /// multisig signer + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Sum { + /// single represents a single signer + #[prost(message, tag = "1")] + Single(Single), + /// multi represents a nested multisig signer + #[prost(message, tag = "2")] + Multi(Multi), + } +} +impl ::prost::Name for ModeInfo { + const NAME: &'static str = "ModeInfo"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// Fee includes the amount of coins paid in fees and the maximum +/// gas to be used by the transaction. The ratio yields an effective "gasprice", +/// which must be above some miminum to be accepted into the mempool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fee { + /// amount is the amount of coins to be paid as a fee + #[prost(message, repeated, tag = "1")] + pub amount: ::prost::alloc::vec::Vec, + /// gas_limit is the maximum gas that can be used in transaction processing + /// before an out of gas error occurs + #[prost(uint64, tag = "2")] + pub gas_limit: u64, + /// if unset, the first signer is responsible for paying the fees. If set, the specified account must pay the fees. + /// the payer must be a tx signer (and thus have signed this field in AuthInfo). + /// setting this field does *not* change the ordering of required signers for the transaction. + #[prost(string, tag = "3")] + pub payer: ::prost::alloc::string::String, + /// if set, the fee payer (either the first signer or the value of the payer field) requests that a fee grant be used + /// to pay fees instead of the fee payer's own balance. If an appropriate fee grant does not exist or the chain does + /// not support fee grants, this will fail + #[prost(string, tag = "4")] + pub granter: ::prost::alloc::string::String, +} +impl ::prost::Name for Fee { + const NAME: &'static str = "Fee"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// Tip is the tip used for meta-transactions. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Tip { + /// amount is the amount of the tip + #[prost(message, repeated, tag = "1")] + pub amount: ::prost::alloc::vec::Vec, + /// tipper is the address of the account paying for the tip + #[prost(string, tag = "2")] + pub tipper: ::prost::alloc::string::String, +} +impl ::prost::Name for Tip { + const NAME: &'static str = "Tip"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// AuxSignerData is the intermediary format that an auxiliary signer (e.g. a +/// tipper) builds and sends to the fee payer (who will build and broadcast the +/// actual tx). AuxSignerData is not a valid tx in itself, and will be rejected +/// by the node if sent directly as-is. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AuxSignerData { + /// address is the bech32-encoded address of the auxiliary signer. If using + /// AuxSignerData across different chains, the bech32 prefix of the target + /// chain (where the final transaction is broadcasted) should be used. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// sign_doc is the SIGN_MODE_DIRECT_AUX sign doc that the auxiliary signer + /// signs. Note: we use the same sign doc even if we're signing with + /// LEGACY_AMINO_JSON. + #[prost(message, optional, tag = "2")] + pub sign_doc: ::core::option::Option, + /// mode is the signing mode of the single signer. + #[prost(enumeration = "super::signing::v1beta1::SignMode", tag = "3")] + pub mode: i32, + /// sig is the signature of the sign doc. + #[prost(bytes = "vec", tag = "4")] + pub sig: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for AuxSignerData { + const NAME: &'static str = "AuxSignerData"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// GetTxsEventRequest is the request type for the Service.TxsByEvents +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTxsEventRequest { + /// events is the list of transaction event type. + #[prost(string, repeated, tag = "1")] + pub events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// pagination defines a pagination for the request. + /// Deprecated post v0.46.x: use page and limit instead. + #[deprecated] + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, + #[prost(enumeration = "OrderBy", tag = "3")] + pub order_by: i32, + /// page is the page number to query, starts at 1. If not provided, will default to first page. + #[prost(uint64, tag = "4")] + pub page: u64, + /// limit is the total number of results to be returned in the result page. + /// If left empty it will default to a value to be set by each app. + #[prost(uint64, tag = "5")] + pub limit: u64, +} +impl ::prost::Name for GetTxsEventRequest { + const NAME: &'static str = "GetTxsEventRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// GetTxsEventResponse is the response type for the Service.TxsByEvents +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTxsEventResponse { + /// txs is the list of queried transactions. + #[prost(message, repeated, tag = "1")] + pub txs: ::prost::alloc::vec::Vec, + /// tx_responses is the list of queried TxResponses. + #[prost(message, repeated, tag = "2")] + pub tx_responses: ::prost::alloc::vec::Vec< + super::super::base::abci::v1beta1::TxResponse, + >, + /// pagination defines a pagination for the response. + /// Deprecated post v0.46.x: use total instead. + #[deprecated] + #[prost(message, optional, tag = "3")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, + /// total is total number of results available + #[prost(uint64, tag = "4")] + pub total: u64, +} +impl ::prost::Name for GetTxsEventResponse { + const NAME: &'static str = "GetTxsEventResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// BroadcastTxRequest is the request type for the Service.BroadcastTxRequest +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BroadcastTxRequest { + /// tx_bytes is the raw transaction. + #[prost(bytes = "vec", tag = "1")] + pub tx_bytes: ::prost::alloc::vec::Vec, + #[prost(enumeration = "BroadcastMode", tag = "2")] + pub mode: i32, +} +impl ::prost::Name for BroadcastTxRequest { + const NAME: &'static str = "BroadcastTxRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// BroadcastTxResponse is the response type for the +/// Service.BroadcastTx method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BroadcastTxResponse { + /// tx_response is the queried TxResponses. + #[prost(message, optional, tag = "1")] + pub tx_response: ::core::option::Option< + super::super::base::abci::v1beta1::TxResponse, + >, +} +impl ::prost::Name for BroadcastTxResponse { + const NAME: &'static str = "BroadcastTxResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// SimulateRequest is the request type for the Service.Simulate +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SimulateRequest { + /// tx is the transaction to simulate. + /// Deprecated. Send raw tx bytes instead. + #[deprecated] + #[prost(message, optional, tag = "1")] + pub tx: ::core::option::Option, + /// tx_bytes is the raw transaction. + /// + /// Since: cosmos-sdk 0.43 + #[prost(bytes = "vec", tag = "2")] + pub tx_bytes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SimulateRequest { + const NAME: &'static str = "SimulateRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// SimulateResponse is the response type for the +/// Service.SimulateRPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SimulateResponse { + /// gas_info is the information about gas used in the simulation. + #[prost(message, optional, tag = "1")] + pub gas_info: ::core::option::Option, + /// result is the result of the simulation. + #[prost(message, optional, tag = "2")] + pub result: ::core::option::Option, +} +impl ::prost::Name for SimulateResponse { + const NAME: &'static str = "SimulateResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// GetTxRequest is the request type for the Service.GetTx +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTxRequest { + /// hash is the tx hash to query, encoded as a hex string. + #[prost(string, tag = "1")] + pub hash: ::prost::alloc::string::String, +} +impl ::prost::Name for GetTxRequest { + const NAME: &'static str = "GetTxRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// GetTxResponse is the response type for the Service.GetTx method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTxResponse { + /// tx is the queried transaction. + #[prost(message, optional, tag = "1")] + pub tx: ::core::option::Option, + /// tx_response is the queried TxResponses. + #[prost(message, optional, tag = "2")] + pub tx_response: ::core::option::Option< + super::super::base::abci::v1beta1::TxResponse, + >, +} +impl ::prost::Name for GetTxResponse { + const NAME: &'static str = "GetTxResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// GetBlockWithTxsRequest is the request type for the Service.GetBlockWithTxs +/// RPC method. +/// +/// Since: cosmos-sdk 0.45.2 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBlockWithTxsRequest { + /// height is the height of the block to query. + #[prost(int64, tag = "1")] + pub height: i64, + /// pagination defines a pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for GetBlockWithTxsRequest { + const NAME: &'static str = "GetBlockWithTxsRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// GetBlockWithTxsResponse is the response type for the Service.GetBlockWithTxs method. +/// +/// Since: cosmos-sdk 0.45.2 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBlockWithTxsResponse { + /// txs are the transactions in the block. + #[prost(message, repeated, tag = "1")] + pub txs: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub block_id: ::core::option::Option<::tendermint_proto::types::BlockId>, + #[prost(message, optional, tag = "3")] + pub block: ::core::option::Option<::tendermint_proto::types::Block>, + /// pagination defines a pagination for the response. + #[prost(message, optional, tag = "4")] + pub pagination: ::core::option::Option< + super::super::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for GetBlockWithTxsResponse { + const NAME: &'static str = "GetBlockWithTxsResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxDecodeRequest is the request type for the Service.TxDecode +/// RPC method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxDecodeRequest { + /// tx_bytes is the raw transaction. + #[prost(bytes = "vec", tag = "1")] + pub tx_bytes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TxDecodeRequest { + const NAME: &'static str = "TxDecodeRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxDecodeResponse is the response type for the +/// Service.TxDecode method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxDecodeResponse { + /// tx is the decoded transaction. + #[prost(message, optional, tag = "1")] + pub tx: ::core::option::Option, +} +impl ::prost::Name for TxDecodeResponse { + const NAME: &'static str = "TxDecodeResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxEncodeRequest is the request type for the Service.TxEncode +/// RPC method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxEncodeRequest { + /// tx is the transaction to encode. + #[prost(message, optional, tag = "1")] + pub tx: ::core::option::Option, +} +impl ::prost::Name for TxEncodeRequest { + const NAME: &'static str = "TxEncodeRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxEncodeResponse is the response type for the +/// Service.TxEncode method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxEncodeResponse { + /// tx_bytes is the encoded transaction bytes. + #[prost(bytes = "vec", tag = "1")] + pub tx_bytes: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TxEncodeResponse { + const NAME: &'static str = "TxEncodeResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxEncodeAminoRequest is the request type for the Service.TxEncodeAmino +/// RPC method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxEncodeAminoRequest { + #[prost(string, tag = "1")] + pub amino_json: ::prost::alloc::string::String, +} +impl ::prost::Name for TxEncodeAminoRequest { + const NAME: &'static str = "TxEncodeAminoRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxEncodeAminoResponse is the response type for the Service.TxEncodeAmino +/// RPC method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxEncodeAminoResponse { + #[prost(bytes = "vec", tag = "1")] + pub amino_binary: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TxEncodeAminoResponse { + const NAME: &'static str = "TxEncodeAminoResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxDecodeAminoRequest is the request type for the Service.TxDecodeAmino +/// RPC method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxDecodeAminoRequest { + #[prost(bytes = "vec", tag = "1")] + pub amino_binary: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for TxDecodeAminoRequest { + const NAME: &'static str = "TxDecodeAminoRequest"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// TxDecodeAminoResponse is the response type for the Service.TxDecodeAmino +/// RPC method. +/// +/// Since: cosmos-sdk 0.47 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TxDecodeAminoResponse { + #[prost(string, tag = "1")] + pub amino_json: ::prost::alloc::string::String, +} +impl ::prost::Name for TxDecodeAminoResponse { + const NAME: &'static str = "TxDecodeAminoResponse"; + const PACKAGE: &'static str = "cosmos.tx.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.tx.v1beta1.{}", Self::NAME) + } +} +/// OrderBy defines the sorting order +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum OrderBy { + /// ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults to ASC in this case. + Unspecified = 0, + /// ORDER_BY_ASC defines ascending order + Asc = 1, + /// ORDER_BY_DESC defines descending order + Desc = 2, +} +impl OrderBy { + /// 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 { + OrderBy::Unspecified => "ORDER_BY_UNSPECIFIED", + OrderBy::Asc => "ORDER_BY_ASC", + OrderBy::Desc => "ORDER_BY_DESC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ORDER_BY_UNSPECIFIED" => Some(Self::Unspecified), + "ORDER_BY_ASC" => Some(Self::Asc), + "ORDER_BY_DESC" => Some(Self::Desc), + _ => None, + } + } +} +/// BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC method. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum BroadcastMode { + /// zero-value for mode ordering + Unspecified = 0, + /// DEPRECATED: use BROADCAST_MODE_SYNC instead, + /// BROADCAST_MODE_BLOCK is not supported by the SDK from v0.47.x onwards. + Block = 1, + /// BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits for + /// a CheckTx execution response only. + Sync = 2, + /// BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client returns + /// immediately. + Async = 3, +} +impl BroadcastMode { + /// 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 { + BroadcastMode::Unspecified => "BROADCAST_MODE_UNSPECIFIED", + BroadcastMode::Block => "BROADCAST_MODE_BLOCK", + BroadcastMode::Sync => "BROADCAST_MODE_SYNC", + BroadcastMode::Async => "BROADCAST_MODE_ASYNC", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BROADCAST_MODE_UNSPECIFIED" => Some(Self::Unspecified), + "BROADCAST_MODE_BLOCK" => Some(Self::Block), + "BROADCAST_MODE_SYNC" => Some(Self::Sync), + "BROADCAST_MODE_ASYNC" => Some(Self::Async), + _ => None, + } + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod service_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Service defines a gRPC service for interacting with transactions. + #[derive(Debug, Clone)] + pub struct ServiceClient { + inner: tonic::client::Grpc, + } + impl ServiceClient { + /// 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 ServiceClient + 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, + ) -> ServiceClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + ServiceClient::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 + } + /// Simulate simulates executing a transaction for estimating gas usage. + pub async fn simulate( + &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.tx.v1beta1.Service/Simulate", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "Simulate")); + self.inner.unary(req, path, codec).await + } + /// GetTx fetches a tx by hash. + pub async fn get_tx( + &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.tx.v1beta1.Service/GetTx", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "GetTx")); + self.inner.unary(req, path, codec).await + } + /// BroadcastTx broadcast transaction. + pub async fn broadcast_tx( + &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.tx.v1beta1.Service/BroadcastTx", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "BroadcastTx")); + self.inner.unary(req, path, codec).await + } + /// GetTxsEvent fetches txs by event. + pub async fn get_txs_event( + &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.tx.v1beta1.Service/GetTxsEvent", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "GetTxsEvent")); + self.inner.unary(req, path, codec).await + } + /// GetBlockWithTxs fetches a block with decoded txs. + /// + /// Since: cosmos-sdk 0.45.2 + pub async fn get_block_with_txs( + &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.tx.v1beta1.Service/GetBlockWithTxs", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "GetBlockWithTxs")); + self.inner.unary(req, path, codec).await + } + /// TxDecode decodes the transaction. + /// + /// Since: cosmos-sdk 0.47 + pub async fn tx_decode( + &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.tx.v1beta1.Service/TxDecode", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxDecode")); + self.inner.unary(req, path, codec).await + } + /// TxEncode encodes the transaction. + /// + /// Since: cosmos-sdk 0.47 + pub async fn tx_encode( + &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.tx.v1beta1.Service/TxEncode", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxEncode")); + self.inner.unary(req, path, codec).await + } + /// TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes. + /// + /// Since: cosmos-sdk 0.47 + pub async fn tx_encode_amino( + &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.tx.v1beta1.Service/TxEncodeAmino", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxEncodeAmino")); + self.inner.unary(req, path, codec).await + } + /// TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON. + /// + /// Since: cosmos-sdk 0.47 + pub async fn tx_decode_amino( + &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.tx.v1beta1.Service/TxDecodeAmino", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.tx.v1beta1.Service", "TxDecodeAmino")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod service_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with ServiceServer. + #[async_trait] + pub trait Service: Send + Sync + 'static { + /// Simulate simulates executing a transaction for estimating gas usage. + async fn simulate( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetTx fetches a tx by hash. + async fn get_tx( + &self, + request: tonic::Request, + ) -> std::result::Result, tonic::Status>; + /// BroadcastTx broadcast transaction. + async fn broadcast_tx( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetTxsEvent fetches txs by event. + async fn get_txs_event( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// GetBlockWithTxs fetches a block with decoded txs. + /// + /// Since: cosmos-sdk 0.45.2 + async fn get_block_with_txs( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TxDecode decodes the transaction. + /// + /// Since: cosmos-sdk 0.47 + async fn tx_decode( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TxEncode encodes the transaction. + /// + /// Since: cosmos-sdk 0.47 + async fn tx_encode( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TxEncodeAmino encodes an Amino transaction from JSON to encoded bytes. + /// + /// Since: cosmos-sdk 0.47 + async fn tx_encode_amino( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TxDecodeAmino decodes an Amino transaction from encoded bytes to JSON. + /// + /// Since: cosmos-sdk 0.47 + async fn tx_decode_amino( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Service defines a gRPC service for interacting with transactions. + #[derive(Debug)] + pub struct ServiceServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl ServiceServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for ServiceServer + where + T: Service, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.tx.v1beta1.Service/Simulate" => { + #[allow(non_camel_case_types)] + struct SimulateSvc(pub Arc); + impl tonic::server::UnaryService + for SimulateSvc { + type Response = super::SimulateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::simulate(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SimulateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/GetTx" => { + #[allow(non_camel_case_types)] + struct GetTxSvc(pub Arc); + impl tonic::server::UnaryService + for GetTxSvc { + type Response = super::GetTxResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_tx(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetTxSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/BroadcastTx" => { + #[allow(non_camel_case_types)] + struct BroadcastTxSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for BroadcastTxSvc { + type Response = super::BroadcastTxResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::broadcast_tx(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = BroadcastTxSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/GetTxsEvent" => { + #[allow(non_camel_case_types)] + struct GetTxsEventSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetTxsEventSvc { + type Response = super::GetTxsEventResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_txs_event(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetTxsEventSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/GetBlockWithTxs" => { + #[allow(non_camel_case_types)] + struct GetBlockWithTxsSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for GetBlockWithTxsSvc { + type Response = super::GetBlockWithTxsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_block_with_txs(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = GetBlockWithTxsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/TxDecode" => { + #[allow(non_camel_case_types)] + struct TxDecodeSvc(pub Arc); + impl tonic::server::UnaryService + for TxDecodeSvc { + type Response = super::TxDecodeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::tx_decode(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TxDecodeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/TxEncode" => { + #[allow(non_camel_case_types)] + struct TxEncodeSvc(pub Arc); + impl tonic::server::UnaryService + for TxEncodeSvc { + type Response = super::TxEncodeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::tx_encode(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TxEncodeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/TxEncodeAmino" => { + #[allow(non_camel_case_types)] + struct TxEncodeAminoSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for TxEncodeAminoSvc { + type Response = super::TxEncodeAminoResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::tx_encode_amino(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TxEncodeAminoSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.tx.v1beta1.Service/TxDecodeAmino" => { + #[allow(non_camel_case_types)] + struct TxDecodeAminoSvc(pub Arc); + impl< + T: Service, + > tonic::server::UnaryService + for TxDecodeAminoSvc { + type Response = super::TxDecodeAminoResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::tx_decode_amino(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TxDecodeAminoSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for ServiceServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for ServiceServer { + const NAME: &'static str = "cosmos.tx.v1beta1.Service"; + } +} diff --git a/src/prost/cosmos.upgrade.module.v1.rs b/src/prost/cosmos.upgrade.module.v1.rs new file mode 100644 index 00000000..198df468 --- /dev/null +++ b/src/prost/cosmos.upgrade.module.v1.rs @@ -0,0 +1,15 @@ +/// Module is the config object of the upgrade module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Module { + /// authority defines the custom module authority. If not set, defaults to the governance module. + #[prost(string, tag = "1")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for Module { + const NAME: &'static str = "Module"; + const PACKAGE: &'static str = "cosmos.upgrade.module.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.module.v1.{}", Self::NAME) + } +} diff --git a/src/prost/cosmos.upgrade.module.v1.serde.rs b/src/prost/cosmos.upgrade.module.v1.serde.rs new file mode 100644 index 00000000..f029a94c --- /dev/null +++ b/src/prost/cosmos.upgrade.module.v1.serde.rs @@ -0,0 +1,91 @@ +impl serde::Serialize for Module { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.module.v1.Module", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Module { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Module; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.module.v1.Module") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(Module { + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.module.v1.Module", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos.upgrade.v1beta1.rs b/src/prost/cosmos.upgrade.v1beta1.rs new file mode 100644 index 00000000..2bb5cab7 --- /dev/null +++ b/src/prost/cosmos.upgrade.v1beta1.rs @@ -0,0 +1,1365 @@ +/// Plan specifies information about a planned upgrade and when it should occur. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Plan { + /// Sets the name for the upgrade. This name will be used by the upgraded + /// version of the software to apply any special "on-upgrade" commands during + /// the first BeginBlock method after the upgrade is applied. It is also used + /// to detect whether a software version can handle a given upgrade. If no + /// upgrade handler with this name has been set in the software, it will be + /// assumed that the software is out-of-date when the upgrade Time or Height is + /// reached and the software will exit. + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// Deprecated: Time based upgrades have been deprecated. Time based upgrade logic + /// has been removed from the SDK. + /// If this field is not empty, an error will be thrown. + #[deprecated] + #[prost(message, optional, tag = "2")] + pub time: ::core::option::Option, + /// The height at which the upgrade must be performed. + #[prost(int64, tag = "3")] + pub height: i64, + /// Any application specific upgrade info to be included on-chain + /// such as a git commit that validators could automatically upgrade to + #[prost(string, tag = "4")] + pub info: ::prost::alloc::string::String, + /// Deprecated: UpgradedClientState field has been deprecated. IBC upgrade logic has been + /// moved to the IBC module in the sub module 02-client. + /// If this field is not empty, an error will be thrown. + #[deprecated] + #[prost(message, optional, tag = "5")] + pub upgraded_client_state: ::core::option::Option< + super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for Plan { + const NAME: &'static str = "Plan"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// SoftwareUpgradeProposal is a gov Content type for initiating a software +/// upgrade. +/// Deprecated: This legacy proposal is deprecated in favor of Msg-based gov +/// proposals, see MsgSoftwareUpgrade. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SoftwareUpgradeProposal { + /// title of the proposal + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// description of the proposal + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// plan of the proposal + #[prost(message, optional, tag = "3")] + pub plan: ::core::option::Option, +} +impl ::prost::Name for SoftwareUpgradeProposal { + const NAME: &'static str = "SoftwareUpgradeProposal"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// CancelSoftwareUpgradeProposal is a gov Content type for cancelling a software +/// upgrade. +/// Deprecated: This legacy proposal is deprecated in favor of Msg-based gov +/// proposals, see MsgCancelUpgrade. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CancelSoftwareUpgradeProposal { + /// title of the proposal + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// description of the proposal + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, +} +impl ::prost::Name for CancelSoftwareUpgradeProposal { + const NAME: &'static str = "CancelSoftwareUpgradeProposal"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// ModuleVersion specifies a module and its consensus version. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleVersion { + /// name of the app module + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// consensus version of the app module + #[prost(uint64, tag = "2")] + pub version: u64, +} +impl ::prost::Name for ModuleVersion { + const NAME: &'static str = "ModuleVersion"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// MsgSoftwareUpgrade is the Msg/SoftwareUpgrade request type. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSoftwareUpgrade { + /// authority is the address that controls the module (defaults to x/gov unless overwritten). + #[prost(string, tag = "1")] + pub authority: ::prost::alloc::string::String, + /// plan is the upgrade plan. + #[prost(message, optional, tag = "2")] + pub plan: ::core::option::Option, +} +impl ::prost::Name for MsgSoftwareUpgrade { + const NAME: &'static str = "MsgSoftwareUpgrade"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// MsgSoftwareUpgradeResponse is the Msg/SoftwareUpgrade response type. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSoftwareUpgradeResponse {} +impl ::prost::Name for MsgSoftwareUpgradeResponse { + const NAME: &'static str = "MsgSoftwareUpgradeResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// MsgCancelUpgrade is the Msg/CancelUpgrade request type. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgCancelUpgrade { + /// authority is the address that controls the module (defaults to x/gov unless overwritten). + #[prost(string, tag = "1")] + pub authority: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgCancelUpgrade { + const NAME: &'static str = "MsgCancelUpgrade"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// MsgCancelUpgradeResponse is the Msg/CancelUpgrade response type. +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgCancelUpgradeResponse {} +impl ::prost::Name for MsgCancelUpgradeResponse { + const NAME: &'static str = "MsgCancelUpgradeResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the upgrade Msg service. + #[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 + } + /// SoftwareUpgrade is a governance operation for initiating a software upgrade. + /// + /// Since: cosmos-sdk 0.46 + pub async fn software_upgrade( + &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.upgrade.v1beta1.Msg/SoftwareUpgrade", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.upgrade.v1beta1.Msg", "SoftwareUpgrade"), + ); + self.inner.unary(req, path, codec).await + } + /// CancelUpgrade is a governance operation for cancelling a previously + /// approved software upgrade. + /// + /// Since: cosmos-sdk 0.46 + pub async fn cancel_upgrade( + &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.upgrade.v1beta1.Msg/CancelUpgrade", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Msg", "CancelUpgrade")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// SoftwareUpgrade is a governance operation for initiating a software upgrade. + /// + /// Since: cosmos-sdk 0.46 + async fn software_upgrade( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// CancelUpgrade is a governance operation for cancelling a previously + /// approved software upgrade. + /// + /// Since: cosmos-sdk 0.46 + async fn cancel_upgrade( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the upgrade Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade" => { + #[allow(non_camel_case_types)] + struct SoftwareUpgradeSvc(pub Arc); + impl tonic::server::UnaryService + for SoftwareUpgradeSvc { + type Response = super::MsgSoftwareUpgradeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::software_upgrade(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SoftwareUpgradeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.upgrade.v1beta1.Msg/CancelUpgrade" => { + #[allow(non_camel_case_types)] + struct CancelUpgradeSvc(pub Arc); + impl tonic::server::UnaryService + for CancelUpgradeSvc { + type Response = super::MsgCancelUpgradeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::cancel_upgrade(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CancelUpgradeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "cosmos.upgrade.v1beta1.Msg"; + } +} +/// QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryCurrentPlanRequest {} +impl ::prost::Name for QueryCurrentPlanRequest { + const NAME: &'static str = "QueryCurrentPlanRequest"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryCurrentPlanResponse { + /// plan is the current upgrade plan. + #[prost(message, optional, tag = "1")] + pub plan: ::core::option::Option, +} +impl ::prost::Name for QueryCurrentPlanResponse { + const NAME: &'static str = "QueryCurrentPlanResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAppliedPlanRequest { + /// name is the name of the applied plan to query for. + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryAppliedPlanRequest { + const NAME: &'static str = "QueryAppliedPlanRequest"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAppliedPlanResponse { + /// height is the block height at which the plan was applied. + #[prost(int64, tag = "1")] + pub height: i64, +} +impl ::prost::Name for QueryAppliedPlanResponse { + const NAME: &'static str = "QueryAppliedPlanResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryUpgradedConsensusStateRequest is the request type for the Query/UpgradedConsensusState +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryUpgradedConsensusStateRequest { + /// last height of the current chain must be sent in request + /// as this is the height under which next consensus state is stored + #[prost(int64, tag = "1")] + pub last_height: i64, +} +impl ::prost::Name for QueryUpgradedConsensusStateRequest { + const NAME: &'static str = "QueryUpgradedConsensusStateRequest"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryUpgradedConsensusStateResponse is the response type for the Query/UpgradedConsensusState +/// RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryUpgradedConsensusStateResponse { + /// Since: cosmos-sdk 0.43 + #[prost(bytes = "vec", tag = "2")] + pub upgraded_consensus_state: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryUpgradedConsensusStateResponse { + const NAME: &'static str = "QueryUpgradedConsensusStateResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryModuleVersionsRequest is the request type for the Query/ModuleVersions +/// RPC method. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryModuleVersionsRequest { + /// module_name is a field to query a specific module + /// consensus version from state. Leaving this empty will + /// fetch the full list of module versions from state + #[prost(string, tag = "1")] + pub module_name: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryModuleVersionsRequest { + const NAME: &'static str = "QueryModuleVersionsRequest"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryModuleVersionsResponse is the response type for the Query/ModuleVersions +/// RPC method. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryModuleVersionsResponse { + /// module_versions is a list of module names with their consensus versions. + #[prost(message, repeated, tag = "1")] + pub module_versions: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryModuleVersionsResponse { + const NAME: &'static str = "QueryModuleVersionsResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryAuthorityRequest is the request type for Query/Authority +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAuthorityRequest {} +impl ::prost::Name for QueryAuthorityRequest { + const NAME: &'static str = "QueryAuthorityRequest"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// QueryAuthorityResponse is the response type for Query/Authority +/// +/// Since: cosmos-sdk 0.46 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryAuthorityResponse { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryAuthorityResponse { + const NAME: &'static str = "QueryAuthorityResponse"; + const PACKAGE: &'static str = "cosmos.upgrade.v1beta1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos.upgrade.v1beta1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the gRPC upgrade querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// CurrentPlan queries the current upgrade plan. + pub async fn current_plan( + &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.upgrade.v1beta1.Query/CurrentPlan", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "CurrentPlan")); + self.inner.unary(req, path, codec).await + } + /// AppliedPlan queries a previously applied upgrade plan by its name. + pub async fn applied_plan( + &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.upgrade.v1beta1.Query/AppliedPlan", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "AppliedPlan")); + self.inner.unary(req, path, codec).await + } + /// UpgradedConsensusState queries the consensus state that will serve + /// as a trusted kernel for the next version of this chain. It will only be + /// stored at the last height of this chain. + /// UpgradedConsensusState RPC not supported with legacy querier + /// This rpc is deprecated now that IBC has its own replacement + /// (https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) + 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( + "/cosmos.upgrade.v1beta1.Query/UpgradedConsensusState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "cosmos.upgrade.v1beta1.Query", + "UpgradedConsensusState", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ModuleVersions queries the list of module versions from state. + /// + /// Since: cosmos-sdk 0.43 + pub async fn module_versions( + &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.upgrade.v1beta1.Query/ModuleVersions", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "ModuleVersions"), + ); + self.inner.unary(req, path, codec).await + } + /// Returns the account with authority to conduct upgrades + /// + /// Since: cosmos-sdk 0.46 + pub async fn authority( + &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.upgrade.v1beta1.Query/Authority", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("cosmos.upgrade.v1beta1.Query", "Authority")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// CurrentPlan queries the current upgrade plan. + async fn current_plan( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// AppliedPlan queries a previously applied upgrade plan by its name. + async fn applied_plan( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpgradedConsensusState queries the consensus state that will serve + /// as a trusted kernel for the next version of this chain. It will only be + /// stored at the last height of this chain. + /// UpgradedConsensusState RPC not supported with legacy querier + /// This rpc is deprecated now that IBC has its own replacement + /// (https://github.com/cosmos/ibc-go/blob/2c880a22e9f9cc75f62b527ca94aa75ce1106001/proto/ibc/core/client/v1/query.proto#L54) + async fn upgraded_consensus_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ModuleVersions queries the list of module versions from state. + /// + /// Since: cosmos-sdk 0.43 + async fn module_versions( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Returns the account with authority to conduct upgrades + /// + /// Since: cosmos-sdk 0.46 + async fn authority( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the gRPC upgrade querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/cosmos.upgrade.v1beta1.Query/CurrentPlan" => { + #[allow(non_camel_case_types)] + struct CurrentPlanSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for CurrentPlanSvc { + type Response = super::QueryCurrentPlanResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::current_plan(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CurrentPlanSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.upgrade.v1beta1.Query/AppliedPlan" => { + #[allow(non_camel_case_types)] + struct AppliedPlanSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AppliedPlanSvc { + type Response = super::QueryAppliedPlanResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::applied_plan(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AppliedPlanSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.upgrade.v1beta1.Query/UpgradedConsensusState" => { + #[allow(non_camel_case_types)] + struct UpgradedConsensusStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryUpgradedConsensusStateRequest, + > for UpgradedConsensusStateSvc { + type Response = super::QueryUpgradedConsensusStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryUpgradedConsensusStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::upgraded_consensus_state(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpgradedConsensusStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.upgrade.v1beta1.Query/ModuleVersions" => { + #[allow(non_camel_case_types)] + struct ModuleVersionsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ModuleVersionsSvc { + type Response = super::QueryModuleVersionsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::module_versions(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ModuleVersionsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/cosmos.upgrade.v1beta1.Query/Authority" => { + #[allow(non_camel_case_types)] + struct AuthoritySvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for AuthoritySvc { + type Response = super::QueryAuthorityResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::authority(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AuthoritySvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "cosmos.upgrade.v1beta1.Query"; + } +} diff --git a/src/prost/cosmos.upgrade.v1beta1.serde.rs b/src/prost/cosmos.upgrade.v1beta1.serde.rs new file mode 100644 index 00000000..1da7500a --- /dev/null +++ b/src/prost/cosmos.upgrade.v1beta1.serde.rs @@ -0,0 +1,1731 @@ +impl serde::Serialize for CancelSoftwareUpgradeProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.title.is_empty() { + len += 1; + } + if !self.description.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal", len)?; + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.description.is_empty() { + struct_ser.serialize_field("description", &self.description)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CancelSoftwareUpgradeProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "title", + "description", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Title, + Description, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "title" => Ok(GeneratedField::Title), + "description" => Ok(GeneratedField::Description), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CancelSoftwareUpgradeProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut title__ = None; + let mut description__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = Some(map_.next_value()?); + } + } + } + Ok(CancelSoftwareUpgradeProposal { + title: title__.unwrap_or_default(), + description: description__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ModuleVersion { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.version != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.ModuleVersion", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if self.version != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ModuleVersion { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "version", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Version, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "version" => Ok(GeneratedField::Version), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ModuleVersion; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.ModuleVersion") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut version__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(ModuleVersion { + name: name__.unwrap_or_default(), + version: version__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.ModuleVersion", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCancelUpgrade { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.MsgCancelUpgrade", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCancelUpgrade { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCancelUpgrade; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.MsgCancelUpgrade") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + } + } + Ok(MsgCancelUpgrade { + authority: authority__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.MsgCancelUpgrade", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCancelUpgradeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCancelUpgradeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCancelUpgradeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgCancelUpgradeResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSoftwareUpgrade { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.authority.is_empty() { + len += 1; + } + if self.plan.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.MsgSoftwareUpgrade", len)?; + if !self.authority.is_empty() { + struct_ser.serialize_field("authority", &self.authority)?; + } + if let Some(v) = self.plan.as_ref() { + struct_ser.serialize_field("plan", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgrade { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "authority", + "plan", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Authority, + Plan, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "authority" => Ok(GeneratedField::Authority), + "plan" => Ok(GeneratedField::Plan), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSoftwareUpgrade; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.MsgSoftwareUpgrade") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut authority__ = None; + let mut plan__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Authority => { + if authority__.is_some() { + return Err(serde::de::Error::duplicate_field("authority")); + } + authority__ = Some(map_.next_value()?); + } + GeneratedField::Plan => { + if plan__.is_some() { + return Err(serde::de::Error::duplicate_field("plan")); + } + plan__ = map_.next_value()?; + } + } + } + Ok(MsgSoftwareUpgrade { + authority: authority__.unwrap_or_default(), + plan: plan__, + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.MsgSoftwareUpgrade", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSoftwareUpgradeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgradeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSoftwareUpgradeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgSoftwareUpgradeResponse { + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Plan { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.time.is_some() { + len += 1; + } + if self.height != 0 { + len += 1; + } + if !self.info.is_empty() { + len += 1; + } + if self.upgraded_client_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.Plan", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if let Some(v) = self.time.as_ref() { + struct_ser.serialize_field("time", v)?; + } + if self.height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + } + if !self.info.is_empty() { + struct_ser.serialize_field("info", &self.info)?; + } + if let Some(v) = self.upgraded_client_state.as_ref() { + struct_ser.serialize_field("upgradedClientState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Plan { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "time", + "height", + "info", + "upgraded_client_state", + "upgradedClientState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Time, + Height, + Info, + UpgradedClientState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "time" => Ok(GeneratedField::Time), + "height" => Ok(GeneratedField::Height), + "info" => Ok(GeneratedField::Info), + "upgradedClientState" | "upgraded_client_state" => Ok(GeneratedField::UpgradedClientState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Plan; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.Plan") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut time__ = None; + let mut height__ = None; + let mut info__ = None; + let mut upgraded_client_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::Time => { + if time__.is_some() { + return Err(serde::de::Error::duplicate_field("time")); + } + time__ = map_.next_value()?; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Info => { + if info__.is_some() { + return Err(serde::de::Error::duplicate_field("info")); + } + info__ = Some(map_.next_value()?); + } + GeneratedField::UpgradedClientState => { + if upgraded_client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradedClientState")); + } + upgraded_client_state__ = map_.next_value()?; + } + } + } + Ok(Plan { + name: name__.unwrap_or_default(), + time: time__, + height: height__.unwrap_or_default(), + info: info__.unwrap_or_default(), + upgraded_client_state: upgraded_client_state__, + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.Plan", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAppliedPlanRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanRequest", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAppliedPlanRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAppliedPlanRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAppliedPlanRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + } + } + Ok(QueryAppliedPlanRequest { + name: name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAppliedPlanResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanResponse", len)?; + if self.height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAppliedPlanResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAppliedPlanResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAppliedPlanResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryAppliedPlanResponse { + height: height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAuthorityRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAuthorityRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAuthorityRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAuthorityRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAuthorityRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryAuthorityRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryAuthorityRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryAuthorityResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAuthorityResponse", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryAuthorityResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryAuthorityResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAuthorityResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryAuthorityResponse { + address: address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryAuthorityResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryCurrentPlanRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryCurrentPlanRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryCurrentPlanRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryCurrentPlanRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryCurrentPlanRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryCurrentPlanRequest { + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryCurrentPlanRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryCurrentPlanResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.plan.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryCurrentPlanResponse", len)?; + if let Some(v) = self.plan.as_ref() { + struct_ser.serialize_field("plan", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryCurrentPlanResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "plan", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Plan, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "plan" => Ok(GeneratedField::Plan), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryCurrentPlanResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryCurrentPlanResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut plan__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Plan => { + if plan__.is_some() { + return Err(serde::de::Error::duplicate_field("plan")); + } + plan__ = map_.next_value()?; + } + } + } + Ok(QueryCurrentPlanResponse { + plan: plan__, + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryCurrentPlanResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryModuleVersionsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.module_name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryModuleVersionsRequest", len)?; + if !self.module_name.is_empty() { + struct_ser.serialize_field("moduleName", &self.module_name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryModuleVersionsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "module_name", + "moduleName", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ModuleName, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "moduleName" | "module_name" => Ok(GeneratedField::ModuleName), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryModuleVersionsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryModuleVersionsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut module_name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ModuleName => { + if module_name__.is_some() { + return Err(serde::de::Error::duplicate_field("moduleName")); + } + module_name__ = Some(map_.next_value()?); + } + } + } + Ok(QueryModuleVersionsRequest { + module_name: module_name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryModuleVersionsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryModuleVersionsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.module_versions.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryModuleVersionsResponse", len)?; + if !self.module_versions.is_empty() { + struct_ser.serialize_field("moduleVersions", &self.module_versions)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryModuleVersionsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "module_versions", + "moduleVersions", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ModuleVersions, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "moduleVersions" | "module_versions" => Ok(GeneratedField::ModuleVersions), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryModuleVersionsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryModuleVersionsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut module_versions__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ModuleVersions => { + if module_versions__.is_some() { + return Err(serde::de::Error::duplicate_field("moduleVersions")); + } + module_versions__ = Some(map_.next_value()?); + } + } + } + Ok(QueryModuleVersionsResponse { + module_versions: module_versions__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryModuleVersionsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUpgradedConsensusStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.last_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest", len)?; + if self.last_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("lastHeight", ToString::to_string(&self.last_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "last_height", + "lastHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + LastHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "lastHeight" | "last_height" => Ok(GeneratedField::LastHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUpgradedConsensusStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut last_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::LastHeight => { + if last_height__.is_some() { + return Err(serde::de::Error::duplicate_field("lastHeight")); + } + last_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryUpgradedConsensusStateRequest { + last_height: last_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUpgradedConsensusStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.upgraded_consensus_state.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse", len)?; + if !self.upgraded_consensus_state.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("upgradedConsensusState", pbjson::private::base64::encode(&self.upgraded_consensus_state).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "upgraded_consensus_state", + "upgradedConsensusState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UpgradedConsensusState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "upgradedConsensusState" | "upgraded_consensus_state" => Ok(GeneratedField::UpgradedConsensusState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUpgradedConsensusStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut upgraded_consensus_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UpgradedConsensusState => { + if upgraded_consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradedConsensusState")); + } + upgraded_consensus_state__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryUpgradedConsensusStateResponse { + upgraded_consensus_state: upgraded_consensus_state__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SoftwareUpgradeProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.title.is_empty() { + len += 1; + } + if !self.description.is_empty() { + len += 1; + } + if self.plan.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.SoftwareUpgradeProposal", len)?; + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.description.is_empty() { + struct_ser.serialize_field("description", &self.description)?; + } + if let Some(v) = self.plan.as_ref() { + struct_ser.serialize_field("plan", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SoftwareUpgradeProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "title", + "description", + "plan", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Title, + Description, + Plan, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "title" => Ok(GeneratedField::Title), + "description" => Ok(GeneratedField::Description), + "plan" => Ok(GeneratedField::Plan), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SoftwareUpgradeProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct cosmos.upgrade.v1beta1.SoftwareUpgradeProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut title__ = None; + let mut description__ = None; + let mut plan__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = Some(map_.next_value()?); + } + GeneratedField::Plan => { + if plan__.is_some() { + return Err(serde::de::Error::duplicate_field("plan")); + } + plan__ = map_.next_value()?; + } + } + } + Ok(SoftwareUpgradeProposal { + title: title__.unwrap_or_default(), + description: description__.unwrap_or_default(), + plan: plan__, + }) + } + } + deserializer.deserialize_struct("cosmos.upgrade.v1beta1.SoftwareUpgradeProposal", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/cosmos_proto.rs b/src/prost/cosmos_proto.rs new file mode 100644 index 00000000..053c6d52 --- /dev/null +++ b/src/prost/cosmos_proto.rs @@ -0,0 +1,87 @@ +/// InterfaceDescriptor describes an interface type to be used with +/// accepts_interface and implements_interface and declared by declare_interface. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterfaceDescriptor { + /// name is the name of the interface. It should be a short-name (without + /// a period) such that the fully qualified name of the interface will be + /// package.name, ex. for the package a.b and interface named C, the + /// fully-qualified name will be a.b.C. + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// description is a human-readable description of the interface and its + /// purpose. + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, +} +impl ::prost::Name for InterfaceDescriptor { + const NAME: &'static str = "InterfaceDescriptor"; + const PACKAGE: &'static str = "cosmos_proto"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos_proto.{}", Self::NAME) + } +} +/// ScalarDescriptor describes an scalar type to be used with +/// the scalar field option and declared by declare_scalar. +/// Scalars extend simple protobuf built-in types with additional +/// syntax and semantics, for instance to represent big integers. +/// Scalars should ideally define an encoding such that there is only one +/// valid syntactical representation for a given semantic meaning, +/// i.e. the encoding should be deterministic. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ScalarDescriptor { + /// name is the name of the scalar. It should be a short-name (without + /// a period) such that the fully qualified name of the scalar will be + /// package.name, ex. for the package a.b and scalar named C, the + /// fully-qualified name will be a.b.C. + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// description is a human-readable description of the scalar and its + /// encoding format. For instance a big integer or decimal scalar should + /// specify precisely the expected encoding format. + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// field_type is the type of field with which this scalar can be used. + /// Scalars can be used with one and only one type of field so that + /// encoding standards and simple and clear. Currently only string and + /// bytes fields are supported for scalars. + #[prost(enumeration = "ScalarType", repeated, tag = "3")] + pub field_type: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ScalarDescriptor { + const NAME: &'static str = "ScalarDescriptor"; + const PACKAGE: &'static str = "cosmos_proto"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("cosmos_proto.{}", Self::NAME) + } +} +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ScalarType { + Unspecified = 0, + String = 1, + Bytes = 2, +} +impl ScalarType { + /// 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 { + ScalarType::Unspecified => "SCALAR_TYPE_UNSPECIFIED", + ScalarType::String => "SCALAR_TYPE_STRING", + ScalarType::Bytes => "SCALAR_TYPE_BYTES", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "SCALAR_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "SCALAR_TYPE_STRING" => Some(Self::String), + "SCALAR_TYPE_BYTES" => Some(Self::Bytes), + _ => None, + } + } +} diff --git a/src/prost/google.api.rs b/src/prost/google.api.rs new file mode 100644 index 00000000..5aa04075 --- /dev/null +++ b/src/prost/google.api.rs @@ -0,0 +1,392 @@ +/// Defines the HTTP configuration for an API service. It contains a list of +/// [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method +/// to one or more HTTP REST API methods. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Http { + /// A list of HTTP configuration rules that apply to individual API methods. + /// + /// **NOTE:** All service configuration rules follow "last one wins" order. + #[prost(message, repeated, tag = "1")] + pub rules: ::prost::alloc::vec::Vec, + /// When set to true, URL path parameters will be fully URI-decoded except in + /// cases of single segment matches in reserved expansion, where "%2F" will be + /// left encoded. + /// + /// The default behavior is to not decode RFC 6570 reserved characters in multi + /// segment matches. + #[prost(bool, tag = "2")] + pub fully_decode_reserved_expansion: bool, +} +impl ::prost::Name for Http { + const NAME: &'static str = "Http"; + const PACKAGE: &'static str = "google.api"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.api.{}", Self::NAME) + } +} +/// # gRPC Transcoding +/// +/// gRPC Transcoding is a feature for mapping between a gRPC method and one or +/// more HTTP REST endpoints. It allows developers to build a single API service +/// that supports both gRPC APIs and REST APIs. Many systems, including [Google +/// APIs](), +/// [Cloud Endpoints](), [gRPC +/// Gateway](), +/// and [Envoy]() proxy support this feature +/// and use it for large scale production services. +/// +/// `HttpRule` defines the schema of the gRPC/REST mapping. The mapping specifies +/// how different portions of the gRPC request message are mapped to the URL +/// path, URL query parameters, and HTTP request body. It also controls how the +/// gRPC response message is mapped to the HTTP response body. `HttpRule` is +/// typically specified as an `google.api.http` annotation on the gRPC method. +/// +/// Each mapping specifies a URL path template and an HTTP method. The path +/// template may refer to one or more fields in the gRPC request message, as long +/// as each field is a non-repeated field with a primitive (non-message) type. +/// The path template controls how fields of the request message are mapped to +/// the URL path. +/// +/// Example: +/// +/// service Messaging { +/// rpc GetMessage(GetMessageRequest) returns (Message) { +/// option (google.api.http) = { +/// get: "/v1/{name=messages/*}" +/// }; +/// } +/// } +/// message GetMessageRequest { +/// string name = 1; // Mapped to URL path. +/// } +/// message Message { +/// string text = 1; // The resource content. +/// } +/// +/// This enables an HTTP REST to gRPC mapping as below: +/// +/// HTTP | gRPC +/// -----|----- +/// `GET /v1/messages/123456` | `GetMessage(name: "messages/123456")` +/// +/// Any fields in the request message which are not bound by the path template +/// automatically become HTTP query parameters if there is no HTTP request body. +/// For example: +/// +/// service Messaging { +/// rpc GetMessage(GetMessageRequest) returns (Message) { +/// option (google.api.http) = { +/// get:"/v1/messages/{message_id}" +/// }; +/// } +/// } +/// message GetMessageRequest { +/// message SubMessage { +/// string subfield = 1; +/// } +/// string message_id = 1; // Mapped to URL path. +/// int64 revision = 2; // Mapped to URL query parameter `revision`. +/// SubMessage sub = 3; // Mapped to URL query parameter `sub.subfield`. +/// } +/// +/// This enables a HTTP JSON to RPC mapping as below: +/// +/// HTTP | gRPC +/// -----|----- +/// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | +/// `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: +/// "foo"))` +/// +/// Note that fields which are mapped to URL query parameters must have a +/// primitive type or a repeated primitive type or a non-repeated message type. +/// In the case of a repeated type, the parameter can be repeated in the URL +/// as `...?param=A¶m=B`. In the case of a message type, each field of the +/// message is mapped to a separate parameter, such as +/// `...?foo.a=A&foo.b=B&foo.c=C`. +/// +/// For HTTP methods that allow a request body, the `body` field +/// specifies the mapping. Consider a REST update method on the +/// message resource collection: +/// +/// service Messaging { +/// rpc UpdateMessage(UpdateMessageRequest) returns (Message) { +/// option (google.api.http) = { +/// patch: "/v1/messages/{message_id}" +/// body: "message" +/// }; +/// } +/// } +/// message UpdateMessageRequest { +/// string message_id = 1; // mapped to the URL +/// Message message = 2; // mapped to the body +/// } +/// +/// The following HTTP JSON to RPC mapping is enabled, where the +/// representation of the JSON in the request body is determined by +/// protos JSON encoding: +/// +/// HTTP | gRPC +/// -----|----- +/// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: +/// "123456" message { text: "Hi!" })` +/// +/// The special name `*` can be used in the body mapping to define that +/// every field not bound by the path template should be mapped to the +/// request body. This enables the following alternative definition of +/// the update method: +/// +/// service Messaging { +/// rpc UpdateMessage(Message) returns (Message) { +/// option (google.api.http) = { +/// patch: "/v1/messages/{message_id}" +/// body: "*" +/// }; +/// } +/// } +/// message Message { +/// string message_id = 1; +/// string text = 2; +/// } +/// +/// +/// The following HTTP JSON to RPC mapping is enabled: +/// +/// HTTP | gRPC +/// -----|----- +/// `PATCH /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: +/// "123456" text: "Hi!")` +/// +/// Note that when using `*` in the body mapping, it is not possible to +/// have HTTP parameters, as all fields not bound by the path end in +/// the body. This makes this option more rarely used in practice when +/// defining REST APIs. The common usage of `*` is in custom methods +/// which don't use the URL at all for transferring data. +/// +/// It is possible to define multiple HTTP methods for one RPC by using +/// the `additional_bindings` option. Example: +/// +/// service Messaging { +/// rpc GetMessage(GetMessageRequest) returns (Message) { +/// option (google.api.http) = { +/// get: "/v1/messages/{message_id}" +/// additional_bindings { +/// get: "/v1/users/{user_id}/messages/{message_id}" +/// } +/// }; +/// } +/// } +/// message GetMessageRequest { +/// string message_id = 1; +/// string user_id = 2; +/// } +/// +/// This enables the following two alternative HTTP JSON to RPC mappings: +/// +/// HTTP | gRPC +/// -----|----- +/// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")` +/// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: +/// "123456")` +/// +/// ## Rules for HTTP mapping +/// +/// 1. Leaf request fields (recursive expansion nested messages in the request +/// message) are classified into three categories: +/// - Fields referred by the path template. They are passed via the URL path. +/// - Fields referred by the [HttpRule.body][google.api.HttpRule.body]. They +/// are passed via the HTTP +/// request body. +/// - All other fields are passed via the URL query parameters, and the +/// parameter name is the field path in the request message. A repeated +/// field can be represented as multiple query parameters under the same +/// name. +/// 2. If [HttpRule.body][google.api.HttpRule.body] is "*", there is no URL +/// query parameter, all fields +/// are passed via URL path and HTTP request body. +/// 3. If [HttpRule.body][google.api.HttpRule.body] is omitted, there is no HTTP +/// request body, all +/// fields are passed via URL path and URL query parameters. +/// +/// ### Path template syntax +/// +/// Template = "/" Segments \[ Verb \] ; +/// Segments = Segment { "/" Segment } ; +/// Segment = "*" | "**" | LITERAL | Variable ; +/// Variable = "{" FieldPath \[ "=" Segments \] "}" ; +/// FieldPath = IDENT { "." IDENT } ; +/// Verb = ":" LITERAL ; +/// +/// The syntax `*` matches a single URL path segment. The syntax `**` matches +/// zero or more URL path segments, which must be the last part of the URL path +/// except the `Verb`. +/// +/// The syntax `Variable` matches part of the URL path as specified by its +/// template. A variable template must not contain other variables. If a variable +/// matches a single path segment, its template may be omitted, e.g. `{var}` +/// is equivalent to `{var=*}`. +/// +/// The syntax `LITERAL` matches literal text in the URL path. If the `LITERAL` +/// contains any reserved character, such characters should be percent-encoded +/// before the matching. +/// +/// If a variable contains exactly one path segment, such as `"{var}"` or +/// `"{var=*}"`, when such a variable is expanded into a URL path on the client +/// side, all characters except `\[-_.~0-9a-zA-Z\]` are percent-encoded. The +/// server side does the reverse decoding. Such variables show up in the +/// [Discovery +/// Document]() as +/// `{var}`. +/// +/// If a variable contains multiple path segments, such as `"{var=foo/*}"` +/// or `"{var=**}"`, when such a variable is expanded into a URL path on the +/// client side, all characters except `\[-_.~/0-9a-zA-Z\]` are percent-encoded. +/// The server side does the reverse decoding, except "%2F" and "%2f" are left +/// unchanged. Such variables show up in the +/// [Discovery +/// Document]() as +/// `{+var}`. +/// +/// ## Using gRPC API Service Configuration +/// +/// gRPC API Service Configuration (service config) is a configuration language +/// for configuring a gRPC service to become a user-facing product. The +/// service config is simply the YAML representation of the `google.api.Service` +/// proto message. +/// +/// As an alternative to annotating your proto file, you can configure gRPC +/// transcoding in your service config YAML files. You do this by specifying a +/// `HttpRule` that maps the gRPC method to a REST endpoint, achieving the same +/// effect as the proto annotation. This can be particularly useful if you +/// have a proto that is reused in multiple services. Note that any transcoding +/// specified in the service config will override any matching transcoding +/// configuration in the proto. +/// +/// Example: +/// +/// http: +/// rules: +/// # Selects a gRPC method and applies HttpRule to it. +/// - selector: example.v1.Messaging.GetMessage +/// get: /v1/messages/{message_id}/{sub.subfield} +/// +/// ## Special notes +/// +/// When gRPC Transcoding is used to map a gRPC to JSON REST endpoints, the +/// proto to JSON conversion must follow the [proto3 +/// specification](). +/// +/// While the single segment variable follows the semantics of +/// [RFC 6570]() Section 3.2.2 Simple String +/// Expansion, the multi segment variable **does not** follow RFC 6570 Section +/// 3.2.3 Reserved Expansion. The reason is that the Reserved Expansion +/// does not expand special characters like `?` and `#`, which would lead +/// to invalid URLs. As the result, gRPC Transcoding uses a custom encoding +/// for multi segment variables. +/// +/// The path variables **must not** refer to any repeated or mapped field, +/// because client libraries are not capable of handling such variable expansion. +/// +/// The path variables **must not** capture the leading "/" character. The reason +/// is that the most common use case "{var}" does not capture the leading "/" +/// character. For consistency, all path variables must share the same behavior. +/// +/// Repeated message fields must not be mapped to URL query parameters, because +/// no client library can support such complicated mapping. +/// +/// If an API needs to use a JSON array for request or response body, it can map +/// the request or response body to a repeated field. However, some gRPC +/// Transcoding implementations may not support this feature. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HttpRule { + /// Selects a method to which this rule applies. + /// + /// Refer to [selector][google.api.DocumentationRule.selector] for syntax + /// details. + #[prost(string, tag = "1")] + pub selector: ::prost::alloc::string::String, + /// The name of the request field whose value is mapped to the HTTP request + /// body, or `*` for mapping all request fields not captured by the path + /// pattern to the HTTP body, or omitted for not having any HTTP request body. + /// + /// NOTE: the referred field must be present at the top-level of the request + /// message type. + #[prost(string, tag = "7")] + pub body: ::prost::alloc::string::String, + /// Optional. The name of the response field whose value is mapped to the HTTP + /// response body. When omitted, the entire response message will be used + /// as the HTTP response body. + /// + /// NOTE: The referred field must be present at the top-level of the response + /// message type. + #[prost(string, tag = "12")] + pub response_body: ::prost::alloc::string::String, + /// Additional HTTP bindings for the selector. Nested bindings must + /// not contain an `additional_bindings` field themselves (that is, + /// the nesting may only be one level deep). + #[prost(message, repeated, tag = "11")] + pub additional_bindings: ::prost::alloc::vec::Vec, + /// Determines the URL pattern is matched by this rules. This pattern can be + /// used with any of the {get|put|post|delete|patch} methods. A custom method + /// can be defined using the 'custom' field. + #[prost(oneof = "http_rule::Pattern", tags = "2, 3, 4, 5, 6, 8")] + pub pattern: ::core::option::Option, +} +/// Nested message and enum types in `HttpRule`. +pub mod http_rule { + /// Determines the URL pattern is matched by this rules. This pattern can be + /// used with any of the {get|put|post|delete|patch} methods. A custom method + /// can be defined using the 'custom' field. + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Pattern { + /// Maps to HTTP GET. Used for listing and getting information about + /// resources. + #[prost(string, tag = "2")] + Get(::prost::alloc::string::String), + /// Maps to HTTP PUT. Used for replacing a resource. + #[prost(string, tag = "3")] + Put(::prost::alloc::string::String), + /// Maps to HTTP POST. Used for creating a resource or performing an action. + #[prost(string, tag = "4")] + Post(::prost::alloc::string::String), + /// Maps to HTTP DELETE. Used for deleting a resource. + #[prost(string, tag = "5")] + Delete(::prost::alloc::string::String), + /// Maps to HTTP PATCH. Used for updating a resource. + #[prost(string, tag = "6")] + Patch(::prost::alloc::string::String), + /// The custom pattern is used for specifying an HTTP method that is not + /// included in the `pattern` field, such as HEAD, or "*" to leave the + /// HTTP method unspecified for this rule. The wild-card rule is useful + /// for services that provide content to Web (HTML) clients. + #[prost(message, tag = "8")] + Custom(super::CustomHttpPattern), + } +} +impl ::prost::Name for HttpRule { + const NAME: &'static str = "HttpRule"; + const PACKAGE: &'static str = "google.api"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.api.{}", Self::NAME) + } +} +/// A custom pattern is used for defining custom HTTP verb. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CustomHttpPattern { + /// The name of this custom HTTP verb. + #[prost(string, tag = "1")] + pub kind: ::prost::alloc::string::String, + /// The path matched by this custom verb. + #[prost(string, tag = "2")] + pub path: ::prost::alloc::string::String, +} +impl ::prost::Name for CustomHttpPattern { + const NAME: &'static str = "CustomHttpPattern"; + const PACKAGE: &'static str = "google.api"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.api.{}", Self::NAME) + } +} diff --git a/src/prost/google.api.serde.rs b/src/prost/google.api.serde.rs new file mode 100644 index 00000000..de58b547 --- /dev/null +++ b/src/prost/google.api.serde.rs @@ -0,0 +1,443 @@ +impl serde::Serialize for CustomHttpPattern { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.kind.is_empty() { + len += 1; + } + if !self.path.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.api.CustomHttpPattern", len)?; + if !self.kind.is_empty() { + struct_ser.serialize_field("kind", &self.kind)?; + } + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CustomHttpPattern { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "kind", + "path", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Kind, + Path, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "kind" => Ok(GeneratedField::Kind), + "path" => Ok(GeneratedField::Path), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CustomHttpPattern; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.api.CustomHttpPattern") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut kind__ = None; + let mut path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Kind => { + if kind__.is_some() { + return Err(serde::de::Error::duplicate_field("kind")); + } + kind__ = Some(map_.next_value()?); + } + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = Some(map_.next_value()?); + } + } + } + Ok(CustomHttpPattern { + kind: kind__.unwrap_or_default(), + path: path__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.api.CustomHttpPattern", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Http { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.rules.is_empty() { + len += 1; + } + if self.fully_decode_reserved_expansion { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.api.Http", len)?; + if !self.rules.is_empty() { + struct_ser.serialize_field("rules", &self.rules)?; + } + if self.fully_decode_reserved_expansion { + struct_ser.serialize_field("fullyDecodeReservedExpansion", &self.fully_decode_reserved_expansion)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Http { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "rules", + "fully_decode_reserved_expansion", + "fullyDecodeReservedExpansion", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Rules, + FullyDecodeReservedExpansion, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "rules" => Ok(GeneratedField::Rules), + "fullyDecodeReservedExpansion" | "fully_decode_reserved_expansion" => Ok(GeneratedField::FullyDecodeReservedExpansion), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Http; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.api.Http") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut rules__ = None; + let mut fully_decode_reserved_expansion__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Rules => { + if rules__.is_some() { + return Err(serde::de::Error::duplicate_field("rules")); + } + rules__ = Some(map_.next_value()?); + } + GeneratedField::FullyDecodeReservedExpansion => { + if fully_decode_reserved_expansion__.is_some() { + return Err(serde::de::Error::duplicate_field("fullyDecodeReservedExpansion")); + } + fully_decode_reserved_expansion__ = Some(map_.next_value()?); + } + } + } + Ok(Http { + rules: rules__.unwrap_or_default(), + fully_decode_reserved_expansion: fully_decode_reserved_expansion__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.api.Http", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for HttpRule { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.selector.is_empty() { + len += 1; + } + if !self.body.is_empty() { + len += 1; + } + if !self.response_body.is_empty() { + len += 1; + } + if !self.additional_bindings.is_empty() { + len += 1; + } + if self.pattern.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.api.HttpRule", len)?; + if !self.selector.is_empty() { + struct_ser.serialize_field("selector", &self.selector)?; + } + if !self.body.is_empty() { + struct_ser.serialize_field("body", &self.body)?; + } + if !self.response_body.is_empty() { + struct_ser.serialize_field("responseBody", &self.response_body)?; + } + if !self.additional_bindings.is_empty() { + struct_ser.serialize_field("additionalBindings", &self.additional_bindings)?; + } + if let Some(v) = self.pattern.as_ref() { + match v { + http_rule::Pattern::Get(v) => { + struct_ser.serialize_field("get", v)?; + } + http_rule::Pattern::Put(v) => { + struct_ser.serialize_field("put", v)?; + } + http_rule::Pattern::Post(v) => { + struct_ser.serialize_field("post", v)?; + } + http_rule::Pattern::Delete(v) => { + struct_ser.serialize_field("delete", v)?; + } + http_rule::Pattern::Patch(v) => { + struct_ser.serialize_field("patch", v)?; + } + http_rule::Pattern::Custom(v) => { + struct_ser.serialize_field("custom", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for HttpRule { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "selector", + "body", + "response_body", + "responseBody", + "additional_bindings", + "additionalBindings", + "get", + "put", + "post", + "delete", + "patch", + "custom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Selector, + Body, + ResponseBody, + AdditionalBindings, + Get, + Put, + Post, + Delete, + Patch, + Custom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "selector" => Ok(GeneratedField::Selector), + "body" => Ok(GeneratedField::Body), + "responseBody" | "response_body" => Ok(GeneratedField::ResponseBody), + "additionalBindings" | "additional_bindings" => Ok(GeneratedField::AdditionalBindings), + "get" => Ok(GeneratedField::Get), + "put" => Ok(GeneratedField::Put), + "post" => Ok(GeneratedField::Post), + "delete" => Ok(GeneratedField::Delete), + "patch" => Ok(GeneratedField::Patch), + "custom" => Ok(GeneratedField::Custom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = HttpRule; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.api.HttpRule") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut selector__ = None; + let mut body__ = None; + let mut response_body__ = None; + let mut additional_bindings__ = None; + let mut pattern__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Selector => { + if selector__.is_some() { + return Err(serde::de::Error::duplicate_field("selector")); + } + selector__ = Some(map_.next_value()?); + } + GeneratedField::Body => { + if body__.is_some() { + return Err(serde::de::Error::duplicate_field("body")); + } + body__ = Some(map_.next_value()?); + } + GeneratedField::ResponseBody => { + if response_body__.is_some() { + return Err(serde::de::Error::duplicate_field("responseBody")); + } + response_body__ = Some(map_.next_value()?); + } + GeneratedField::AdditionalBindings => { + if additional_bindings__.is_some() { + return Err(serde::de::Error::duplicate_field("additionalBindings")); + } + additional_bindings__ = Some(map_.next_value()?); + } + GeneratedField::Get => { + if pattern__.is_some() { + return Err(serde::de::Error::duplicate_field("get")); + } + pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Get); + } + GeneratedField::Put => { + if pattern__.is_some() { + return Err(serde::de::Error::duplicate_field("put")); + } + pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Put); + } + GeneratedField::Post => { + if pattern__.is_some() { + return Err(serde::de::Error::duplicate_field("post")); + } + pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Post); + } + GeneratedField::Delete => { + if pattern__.is_some() { + return Err(serde::de::Error::duplicate_field("delete")); + } + pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Delete); + } + GeneratedField::Patch => { + if pattern__.is_some() { + return Err(serde::de::Error::duplicate_field("patch")); + } + pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Patch); + } + GeneratedField::Custom => { + if pattern__.is_some() { + return Err(serde::de::Error::duplicate_field("custom")); + } + pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Custom) +; + } + } + } + Ok(HttpRule { + selector: selector__.unwrap_or_default(), + body: body__.unwrap_or_default(), + response_body: response_body__.unwrap_or_default(), + additional_bindings: additional_bindings__.unwrap_or_default(), + pattern: pattern__, + }) + } + } + deserializer.deserialize_struct("google.api.HttpRule", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/google.protobuf.rs b/src/prost/google.protobuf.rs new file mode 100644 index 00000000..fbc92b35 --- /dev/null +++ b/src/prost/google.protobuf.rs @@ -0,0 +1,1668 @@ +/// `Any` contains an arbitrary serialized protocol buffer message along with a +/// URL that describes the type of the serialized message. +/// +/// Protobuf library provides support to pack/unpack Any values in the form +/// of utility functions or additional generated methods of the Any type. +/// +/// Example 1: Pack and unpack a message in C++. +/// +/// Foo foo = ...; +/// Any any; +/// any.PackFrom(foo); +/// ... +/// if (any.UnpackTo(&foo)) { +/// ... +/// } +/// +/// Example 2: Pack and unpack a message in Java. +/// +/// Foo foo = ...; +/// Any any = Any.pack(foo); +/// ... +/// if (any.is(Foo.class)) { +/// foo = any.unpack(Foo.class); +/// } +/// +/// Example 3: Pack and unpack a message in Python. +/// +/// foo = Foo(...) +/// any = Any() +/// any.Pack(foo) +/// ... +/// if any.Is(Foo.DESCRIPTOR): +/// any.Unpack(foo) +/// ... +/// +/// Example 4: Pack and unpack a message in Go +/// +/// foo := &pb.Foo{...} +/// any, err := anypb.New(foo) +/// if err != nil { +/// ... +/// } +/// ... +/// foo := &pb.Foo{} +/// if err := any.UnmarshalTo(foo); err != nil { +/// ... +/// } +/// +/// The pack methods provided by protobuf library will by default use +/// 'type.googleapis.com/full.type.name' as the type URL and the unpack +/// methods only use the fully qualified type name after the last '/' +/// in the type URL, for example "foo.bar.com/x/y.z" will yield type +/// name "y.z". +/// +/// +/// JSON +/// +/// The JSON representation of an `Any` value uses the regular +/// representation of the deserialized, embedded message, with an +/// additional field `@type` which contains the type URL. Example: +/// +/// package google.profile; +/// message Person { +/// string first_name = 1; +/// string last_name = 2; +/// } +/// +/// { +/// "@type": "type.googleapis.com/google.profile.Person", +/// "firstName": , +/// "lastName": +/// } +/// +/// If the embedded message type is well-known and has a custom JSON +/// representation, that representation will be embedded adding a field +/// `value` which holds the custom JSON in addition to the `@type` +/// field. Example (for message [google.protobuf.Duration][]): +/// +/// { +/// "@type": "type.googleapis.com/google.protobuf.Duration", +/// "value": "1.212s" +/// } +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Any { + /// A URL/resource name that uniquely identifies the type of the serialized + /// protocol buffer message. This string must contain at least + /// one "/" character. The last segment of the URL's path must represent + /// the fully qualified name of the type (as in + /// `path/google.protobuf.Duration`). The name should be in a canonical form + /// (e.g., leading "." is not accepted). + /// + /// In practice, teams usually precompile into the binary all types that they + /// expect it to use in the context of Any. However, for URLs which use the + /// scheme `http`, `https`, or no scheme, one can optionally set up a type + /// server that maps type URLs to message definitions as follows: + /// + /// * If no scheme is provided, `https` is assumed. + /// * An HTTP GET on the URL must yield a [google.protobuf.Type][] + /// value in binary format, or produce an error. + /// * Applications are allowed to cache lookup results based on the + /// URL, or have them precompiled into a binary to avoid any + /// lookup. Therefore, binary compatibility needs to be preserved + /// on changes to types. (Use versioned type names to manage + /// breaking changes.) + /// + /// Note: this functionality is not currently available in the official + /// protobuf release, and it is not used for type URLs beginning with + /// type.googleapis.com. + /// + /// Schemes other than `http`, `https` (or the empty scheme) might be + /// used with implementation specific semantics. + /// + #[prost(string, tag = "1")] + pub type_url: ::prost::alloc::string::String, + /// Must be a valid serialized protocol buffer of the above specified type. + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for Any { + const NAME: &'static str = "Any"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// The protocol compiler can output a FileDescriptorSet containing the .proto +/// files it parses. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FileDescriptorSet { + #[prost(message, repeated, tag = "1")] + pub file: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for FileDescriptorSet { + const NAME: &'static str = "FileDescriptorSet"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a complete .proto file. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FileDescriptorProto { + /// file name, relative to root of source tree + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// e.g. "foo", "foo.bar", etc. + #[prost(string, optional, tag = "2")] + pub package: ::core::option::Option<::prost::alloc::string::String>, + /// Names of files imported by this file. + #[prost(string, repeated, tag = "3")] + pub dependency: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// Indexes of the public imported files in the dependency list above. + #[prost(int32, repeated, packed = "false", tag = "10")] + pub public_dependency: ::prost::alloc::vec::Vec, + /// Indexes of the weak imported files in the dependency list. + /// For Google-internal migration only. Do not use. + #[prost(int32, repeated, packed = "false", tag = "11")] + pub weak_dependency: ::prost::alloc::vec::Vec, + /// All top-level definitions in this file. + #[prost(message, repeated, tag = "4")] + pub message_type: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub enum_type: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub service: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub extension: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub options: ::core::option::Option, + /// This field contains optional information about the original source code. + /// You may safely remove this entire field without harming runtime + /// functionality of the descriptors -- the information is needed only by + /// development tools. + #[prost(message, optional, tag = "9")] + pub source_code_info: ::core::option::Option, + /// The syntax of the proto file. + /// The supported values are "proto2" and "proto3". + #[prost(string, optional, tag = "12")] + pub syntax: ::core::option::Option<::prost::alloc::string::String>, +} +impl ::prost::Name for FileDescriptorProto { + const NAME: &'static str = "FileDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a message type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "2")] + pub field: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub extension: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub nested_type: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub enum_type: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub extension_range: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "8")] + pub oneof_decl: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub options: ::core::option::Option, + #[prost(message, repeated, tag = "9")] + pub reserved_range: ::prost::alloc::vec::Vec, + /// Reserved field names, which may not be used by fields in the same message. + /// A given name may only be reserved once. + #[prost(string, repeated, tag = "10")] + pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// Nested message and enum types in `DescriptorProto`. +pub mod descriptor_proto { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ExtensionRange { + /// Inclusive. + #[prost(int32, optional, tag = "1")] + pub start: ::core::option::Option, + /// Exclusive. + #[prost(int32, optional, tag = "2")] + pub end: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub options: ::core::option::Option, + } + impl ::prost::Name for ExtensionRange { + const NAME: &'static str = "ExtensionRange"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.DescriptorProto.{}", Self::NAME) + } + } + /// Range of reserved tag numbers. Reserved tag numbers may not be used by + /// fields or extension ranges in the same message. Reserved ranges may + /// not overlap. + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ReservedRange { + /// Inclusive. + #[prost(int32, optional, tag = "1")] + pub start: ::core::option::Option, + /// Exclusive. + #[prost(int32, optional, tag = "2")] + pub end: ::core::option::Option, + } + impl ::prost::Name for ReservedRange { + const NAME: &'static str = "ReservedRange"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.DescriptorProto.{}", Self::NAME) + } + } +} +impl ::prost::Name for DescriptorProto { + const NAME: &'static str = "DescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExtensionRangeOptions { + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ExtensionRangeOptions { + const NAME: &'static str = "ExtensionRangeOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a field within a message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FieldDescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "3")] + pub number: ::core::option::Option, + #[prost(enumeration = "field_descriptor_proto::Label", optional, tag = "4")] + pub label: ::core::option::Option, + /// If type_name is set, this need not be set. If both this and type_name + /// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP. + #[prost(enumeration = "field_descriptor_proto::Type", optional, tag = "5")] + pub r#type: ::core::option::Option, + /// For message and enum types, this is the name of the type. If the name + /// starts with a '.', it is fully-qualified. Otherwise, C++-like scoping + /// rules are used to find the type (i.e. first the nested types within this + /// message are searched, then within the parent, on up to the root + /// namespace). + #[prost(string, optional, tag = "6")] + pub type_name: ::core::option::Option<::prost::alloc::string::String>, + /// For extensions, this is the name of the type being extended. It is + /// resolved in the same manner as type_name. + #[prost(string, optional, tag = "2")] + pub extendee: ::core::option::Option<::prost::alloc::string::String>, + /// For numeric types, contains the original text representation of the value. + /// For booleans, "true" or "false". + /// For strings, contains the default text contents (not escaped in any way). + /// For bytes, contains the C escaped value. All bytes >= 128 are escaped. + #[prost(string, optional, tag = "7")] + pub default_value: ::core::option::Option<::prost::alloc::string::String>, + /// If set, gives the index of a oneof in the containing type's oneof_decl + /// list. This field is a member of that oneof. + #[prost(int32, optional, tag = "9")] + pub oneof_index: ::core::option::Option, + /// JSON name of this field. The value is set by protocol compiler. If the + /// user has set a "json_name" option on this field, that option's value + /// will be used. Otherwise, it's deduced from the field's name by converting + /// it to camelCase. + #[prost(string, optional, tag = "10")] + pub json_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "8")] + pub options: ::core::option::Option, + /// If true, this is a proto3 "optional". When a proto3 field is optional, it + /// tracks presence regardless of field type. + /// + /// When proto3_optional is true, this field must be belong to a oneof to + /// signal to old proto3 clients that presence is tracked for this field. This + /// oneof is known as a "synthetic" oneof, and this field must be its sole + /// member (each proto3 optional field gets its own synthetic oneof). Synthetic + /// oneofs exist in the descriptor only, and do not generate any API. Synthetic + /// oneofs must be ordered after all "real" oneofs. + /// + /// For message fields, proto3_optional doesn't create any semantic change, + /// since non-repeated message fields always track presence. However it still + /// indicates the semantic detail of whether the user wrote "optional" or not. + /// This can be useful for round-tripping the .proto file. For consistency we + /// give message fields a synthetic oneof also, even though it is not required + /// to track presence. This is especially important because the parser can't + /// tell if a field is a message or an enum, so it must always create a + /// synthetic oneof. + /// + /// Proto2 optional fields do not set this flag, because they already indicate + /// optional with `LABEL_OPTIONAL`. + #[prost(bool, optional, tag = "17")] + pub proto3_optional: ::core::option::Option, +} +/// Nested message and enum types in `FieldDescriptorProto`. +pub mod field_descriptor_proto { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Type { + /// 0 is reserved for errors. + /// Order is weird for historical reasons. + Double = 1, + Float = 2, + /// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if + /// negative values are likely. + Int64 = 3, + Uint64 = 4, + /// Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if + /// negative values are likely. + Int32 = 5, + Fixed64 = 6, + Fixed32 = 7, + Bool = 8, + String = 9, + /// Tag-delimited aggregate. + /// Group type is deprecated and not supported in proto3. However, Proto3 + /// implementations should still be able to parse the group wire format and + /// treat group fields as unknown fields. + Group = 10, + /// Length-delimited aggregate. + Message = 11, + /// New in version 2. + Bytes = 12, + Uint32 = 13, + Enum = 14, + Sfixed32 = 15, + Sfixed64 = 16, + /// Uses ZigZag encoding. + Sint32 = 17, + /// Uses ZigZag encoding. + Sint64 = 18, + } + impl Type { + /// 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 { + Type::Double => "TYPE_DOUBLE", + Type::Float => "TYPE_FLOAT", + Type::Int64 => "TYPE_INT64", + Type::Uint64 => "TYPE_UINT64", + Type::Int32 => "TYPE_INT32", + Type::Fixed64 => "TYPE_FIXED64", + Type::Fixed32 => "TYPE_FIXED32", + Type::Bool => "TYPE_BOOL", + Type::String => "TYPE_STRING", + Type::Group => "TYPE_GROUP", + Type::Message => "TYPE_MESSAGE", + Type::Bytes => "TYPE_BYTES", + Type::Uint32 => "TYPE_UINT32", + Type::Enum => "TYPE_ENUM", + Type::Sfixed32 => "TYPE_SFIXED32", + Type::Sfixed64 => "TYPE_SFIXED64", + Type::Sint32 => "TYPE_SINT32", + Type::Sint64 => "TYPE_SINT64", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "TYPE_DOUBLE" => Some(Self::Double), + "TYPE_FLOAT" => Some(Self::Float), + "TYPE_INT64" => Some(Self::Int64), + "TYPE_UINT64" => Some(Self::Uint64), + "TYPE_INT32" => Some(Self::Int32), + "TYPE_FIXED64" => Some(Self::Fixed64), + "TYPE_FIXED32" => Some(Self::Fixed32), + "TYPE_BOOL" => Some(Self::Bool), + "TYPE_STRING" => Some(Self::String), + "TYPE_GROUP" => Some(Self::Group), + "TYPE_MESSAGE" => Some(Self::Message), + "TYPE_BYTES" => Some(Self::Bytes), + "TYPE_UINT32" => Some(Self::Uint32), + "TYPE_ENUM" => Some(Self::Enum), + "TYPE_SFIXED32" => Some(Self::Sfixed32), + "TYPE_SFIXED64" => Some(Self::Sfixed64), + "TYPE_SINT32" => Some(Self::Sint32), + "TYPE_SINT64" => Some(Self::Sint64), + _ => None, + } + } + } + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Label { + /// 0 is reserved for errors + Optional = 1, + Required = 2, + Repeated = 3, + } + impl Label { + /// 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 { + Label::Optional => "LABEL_OPTIONAL", + Label::Required => "LABEL_REQUIRED", + Label::Repeated => "LABEL_REPEATED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "LABEL_OPTIONAL" => Some(Self::Optional), + "LABEL_REQUIRED" => Some(Self::Required), + "LABEL_REPEATED" => Some(Self::Repeated), + _ => None, + } + } + } +} +impl ::prost::Name for FieldDescriptorProto { + const NAME: &'static str = "FieldDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a oneof. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OneofDescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub options: ::core::option::Option, +} +impl ::prost::Name for OneofDescriptorProto { + const NAME: &'static str = "OneofDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes an enum type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnumDescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "2")] + pub value: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub options: ::core::option::Option, + /// Range of reserved numeric values. Reserved numeric values may not be used + /// by enum values in the same enum declaration. Reserved ranges may not + /// overlap. + #[prost(message, repeated, tag = "4")] + pub reserved_range: ::prost::alloc::vec::Vec< + enum_descriptor_proto::EnumReservedRange, + >, + /// Reserved enum value names, which may not be reused. A given name may only + /// be reserved once. + #[prost(string, repeated, tag = "5")] + pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// Nested message and enum types in `EnumDescriptorProto`. +pub mod enum_descriptor_proto { + /// Range of reserved numeric values. Reserved values may not be used by + /// entries in the same enum. Reserved ranges may not overlap. + /// + /// Note that this is distinct from DescriptorProto.ReservedRange in that it + /// is inclusive such that it can appropriately represent the entire int32 + /// domain. + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct EnumReservedRange { + /// Inclusive. + #[prost(int32, optional, tag = "1")] + pub start: ::core::option::Option, + /// Inclusive. + #[prost(int32, optional, tag = "2")] + pub end: ::core::option::Option, + } + impl ::prost::Name for EnumReservedRange { + const NAME: &'static str = "EnumReservedRange"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.EnumDescriptorProto.{}", Self::NAME) + } + } +} +impl ::prost::Name for EnumDescriptorProto { + const NAME: &'static str = "EnumDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a value within an enum. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnumValueDescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "2")] + pub number: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub options: ::core::option::Option, +} +impl ::prost::Name for EnumValueDescriptorProto { + const NAME: &'static str = "EnumValueDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a service. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceDescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "2")] + pub method: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub options: ::core::option::Option, +} +impl ::prost::Name for ServiceDescriptorProto { + const NAME: &'static str = "ServiceDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes a method of a service. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MethodDescriptorProto { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + /// Input and output type names. These are resolved in the same way as + /// FieldDescriptorProto.type_name, but must refer to a message type. + #[prost(string, optional, tag = "2")] + pub input_type: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub output_type: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub options: ::core::option::Option, + /// Identifies if client streams multiple client messages + #[prost(bool, optional, tag = "5", default = "false")] + pub client_streaming: ::core::option::Option, + /// Identifies if server streams multiple server messages + #[prost(bool, optional, tag = "6", default = "false")] + pub server_streaming: ::core::option::Option, +} +impl ::prost::Name for MethodDescriptorProto { + const NAME: &'static str = "MethodDescriptorProto"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FileOptions { + /// Sets the Java package where classes generated from this .proto will be + /// placed. By default, the proto package is used, but this is often + /// inappropriate because proto packages do not normally start with backwards + /// domain names. + #[prost(string, optional, tag = "1")] + pub java_package: ::core::option::Option<::prost::alloc::string::String>, + /// Controls the name of the wrapper Java class generated for the .proto file. + /// That class will always contain the .proto file's getDescriptor() method as + /// well as any top-level extensions defined in the .proto file. + /// If java_multiple_files is disabled, then all the other classes from the + /// .proto file will be nested inside the single wrapper outer class. + #[prost(string, optional, tag = "8")] + pub java_outer_classname: ::core::option::Option<::prost::alloc::string::String>, + /// If enabled, then the Java code generator will generate a separate .java + /// file for each top-level message, enum, and service defined in the .proto + /// file. Thus, these types will *not* be nested inside the wrapper class + /// named by java_outer_classname. However, the wrapper class will still be + /// generated to contain the file's getDescriptor() method as well as any + /// top-level extensions defined in the file. + #[prost(bool, optional, tag = "10", default = "false")] + pub java_multiple_files: ::core::option::Option, + /// This option does nothing. + #[deprecated] + #[prost(bool, optional, tag = "20")] + pub java_generate_equals_and_hash: ::core::option::Option, + /// If set true, then the Java2 code generator will generate code that + /// throws an exception whenever an attempt is made to assign a non-UTF-8 + /// byte sequence to a string field. + /// Message reflection will do the same. + /// However, an extension field still accepts non-UTF-8 byte sequences. + /// This option has no effect on when used with the lite runtime. + #[prost(bool, optional, tag = "27", default = "false")] + pub java_string_check_utf8: ::core::option::Option, + #[prost( + enumeration = "file_options::OptimizeMode", + optional, + tag = "9", + default = "Speed" + )] + pub optimize_for: ::core::option::Option, + /// Sets the Go package where structs generated from this .proto will be + /// placed. If omitted, the Go package will be derived from the following: + /// - The basename of the package import path, if provided. + /// - Otherwise, the package statement in the .proto file, if present. + /// - Otherwise, the basename of the .proto file, without extension. + #[prost(string, optional, tag = "11")] + pub go_package: ::core::option::Option<::prost::alloc::string::String>, + /// Should generic services be generated in each language? "Generic" services + /// are not specific to any particular RPC system. They are generated by the + /// main code generators in each language (without additional plugins). + /// Generic services were the only kind of service generation supported by + /// early versions of google.protobuf. + /// + /// Generic services are now considered deprecated in favor of using plugins + /// that generate code specific to your particular RPC system. Therefore, + /// these default to false. Old code which depends on generic services should + /// explicitly set them to true. + #[prost(bool, optional, tag = "16", default = "false")] + pub cc_generic_services: ::core::option::Option, + #[prost(bool, optional, tag = "17", default = "false")] + pub java_generic_services: ::core::option::Option, + #[prost(bool, optional, tag = "18", default = "false")] + pub py_generic_services: ::core::option::Option, + #[prost(bool, optional, tag = "42", default = "false")] + pub php_generic_services: ::core::option::Option, + /// Is this file deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for everything in the file, or it will be completely ignored; in the very + /// least, this is a formalization for deprecating files. + #[prost(bool, optional, tag = "23", default = "false")] + pub deprecated: ::core::option::Option, + /// Enables the use of arenas for the proto messages in this file. This applies + /// only to generated classes for C++. + #[prost(bool, optional, tag = "31", default = "true")] + pub cc_enable_arenas: ::core::option::Option, + /// Sets the objective c class prefix which is prepended to all objective c + /// generated classes from this .proto. There is no default. + #[prost(string, optional, tag = "36")] + pub objc_class_prefix: ::core::option::Option<::prost::alloc::string::String>, + /// Namespace for generated classes; defaults to the package. + #[prost(string, optional, tag = "37")] + pub csharp_namespace: ::core::option::Option<::prost::alloc::string::String>, + /// By default Swift generators will take the proto package and CamelCase it + /// replacing '.' with underscore and use that to prefix the types/symbols + /// defined. When this options is provided, they will use this value instead + /// to prefix the types/symbols defined. + #[prost(string, optional, tag = "39")] + pub swift_prefix: ::core::option::Option<::prost::alloc::string::String>, + /// Sets the php class prefix which is prepended to all php generated classes + /// from this .proto. Default is empty. + #[prost(string, optional, tag = "40")] + pub php_class_prefix: ::core::option::Option<::prost::alloc::string::String>, + /// Use this option to change the namespace of php generated classes. Default + /// is empty. When this option is empty, the package name will be used for + /// determining the namespace. + #[prost(string, optional, tag = "41")] + pub php_namespace: ::core::option::Option<::prost::alloc::string::String>, + /// Use this option to change the namespace of php generated metadata classes. + /// Default is empty. When this option is empty, the proto file name will be + /// used for determining the namespace. + #[prost(string, optional, tag = "44")] + pub php_metadata_namespace: ::core::option::Option<::prost::alloc::string::String>, + /// Use this option to change the package of ruby generated classes. Default + /// is empty. When this option is not set, the package name will be used for + /// determining the ruby package. + #[prost(string, optional, tag = "45")] + pub ruby_package: ::core::option::Option<::prost::alloc::string::String>, + /// The parser stores options it doesn't recognize here. + /// See the documentation for the "Options" section above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `FileOptions`. +pub mod file_options { + /// Generated classes can be optimized for speed or code size. + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum OptimizeMode { + /// Generate complete code for parsing, serialization, + Speed = 1, + /// etc. + /// + /// Use ReflectionOps to implement these methods. + CodeSize = 2, + /// Generate code using MessageLite and the lite runtime. + LiteRuntime = 3, + } + impl OptimizeMode { + /// 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 { + OptimizeMode::Speed => "SPEED", + OptimizeMode::CodeSize => "CODE_SIZE", + OptimizeMode::LiteRuntime => "LITE_RUNTIME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "SPEED" => Some(Self::Speed), + "CODE_SIZE" => Some(Self::CodeSize), + "LITE_RUNTIME" => Some(Self::LiteRuntime), + _ => None, + } + } + } +} +impl ::prost::Name for FileOptions { + const NAME: &'static str = "FileOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MessageOptions { + /// Set true to use the old proto1 MessageSet wire format for extensions. + /// This is provided for backwards-compatibility with the MessageSet wire + /// format. You should not use this for any other reason: It's less + /// efficient, has fewer features, and is more complicated. + /// + /// The message must be defined exactly as follows: + /// message Foo { + /// option message_set_wire_format = true; + /// extensions 4 to max; + /// } + /// Note that the message cannot have any defined fields; MessageSets only + /// have extensions. + /// + /// All extensions of your type must be singular messages; e.g. they cannot + /// be int32s, enums, or repeated messages. + /// + /// Because this is an option, the above two restrictions are not enforced by + /// the protocol compiler. + #[prost(bool, optional, tag = "1", default = "false")] + pub message_set_wire_format: ::core::option::Option, + /// Disables the generation of the standard "descriptor()" accessor, which can + /// conflict with a field of the same name. This is meant to make migration + /// from proto1 easier; new code should avoid fields named "descriptor". + #[prost(bool, optional, tag = "2", default = "false")] + pub no_standard_descriptor_accessor: ::core::option::Option, + /// Is this message deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the message, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating messages. + #[prost(bool, optional, tag = "3", default = "false")] + pub deprecated: ::core::option::Option, + /// Whether the message is an automatically generated map entry type for the + /// maps field. + /// + /// For maps fields: + /// map map_field = 1; + /// The parsed descriptor looks like: + /// message MapFieldEntry { + /// option map_entry = true; + /// optional KeyType key = 1; + /// optional ValueType value = 2; + /// } + /// repeated MapFieldEntry map_field = 1; + /// + /// Implementations may choose not to generate the map_entry=true message, but + /// use a native map in the target language to hold the keys and values. + /// The reflection APIs in such implementations still need to work as + /// if the field is a repeated message field. + /// + /// NOTE: Do not set the option in .proto files. Always use the maps syntax + /// instead. The option should only be implicitly set by the proto compiler + /// parser. + #[prost(bool, optional, tag = "7")] + pub map_entry: ::core::option::Option, + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MessageOptions { + const NAME: &'static str = "MessageOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FieldOptions { + /// The ctype option instructs the C++ code generator to use a different + /// representation of the field than it normally would. See the specific + /// options below. This option is not yet implemented in the open source + /// release -- sorry, we'll try to include it in a future version! + #[prost( + enumeration = "field_options::CType", + optional, + tag = "1", + default = "String" + )] + pub ctype: ::core::option::Option, + /// The packed option can be enabled for repeated primitive fields to enable + /// a more efficient representation on the wire. Rather than repeatedly + /// writing the tag and type for each element, the entire array is encoded as + /// a single length-delimited blob. In proto3, only explicit setting it to + /// false will avoid using packed encoding. + #[prost(bool, optional, tag = "2")] + pub packed: ::core::option::Option, + /// The jstype option determines the JavaScript type used for values of the + /// field. The option is permitted only for 64 bit integral and fixed types + /// (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING + /// is represented as JavaScript string, which avoids loss of precision that + /// can happen when a large value is converted to a floating point JavaScript. + /// Specifying JS_NUMBER for the jstype causes the generated JavaScript code to + /// use the JavaScript "number" type. The behavior of the default option + /// JS_NORMAL is implementation dependent. + /// + /// This option is an enum to permit additional types to be added, e.g. + /// goog.math.Integer. + #[prost( + enumeration = "field_options::JsType", + optional, + tag = "6", + default = "JsNormal" + )] + pub jstype: ::core::option::Option, + /// Should this field be parsed lazily? Lazy applies only to message-type + /// fields. It means that when the outer message is initially parsed, the + /// inner message's contents will not be parsed but instead stored in encoded + /// form. The inner message will actually be parsed when it is first accessed. + /// + /// This is only a hint. Implementations are free to choose whether to use + /// eager or lazy parsing regardless of the value of this option. However, + /// setting this option true suggests that the protocol author believes that + /// using lazy parsing on this field is worth the additional bookkeeping + /// overhead typically needed to implement it. + /// + /// This option does not affect the public interface of any generated code; + /// all method signatures remain the same. Furthermore, thread-safety of the + /// interface is not affected by this option; const methods remain safe to + /// call from multiple threads concurrently, while non-const methods continue + /// to require exclusive access. + /// + /// + /// Note that implementations may choose not to check required fields within + /// a lazy sub-message. That is, calling IsInitialized() on the outer message + /// may return true even if the inner message has missing required fields. + /// This is necessary because otherwise the inner message would have to be + /// parsed in order to perform the check, defeating the purpose of lazy + /// parsing. An implementation which chooses not to check required fields + /// must be consistent about it. That is, for any particular sub-message, the + /// implementation must either *always* check its required fields, or *never* + /// check its required fields, regardless of whether or not the message has + /// been parsed. + /// + /// As of 2021, lazy does no correctness checks on the byte stream during + /// parsing. This may lead to crashes if and when an invalid byte stream is + /// finally parsed upon access. + /// + /// TODO(b/211906113): Enable validation on lazy fields. + #[prost(bool, optional, tag = "5", default = "false")] + pub lazy: ::core::option::Option, + /// unverified_lazy does no correctness checks on the byte stream. This should + /// only be used where lazy with verification is prohibitive for performance + /// reasons. + #[prost(bool, optional, tag = "15", default = "false")] + pub unverified_lazy: ::core::option::Option, + /// Is this field deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for accessors, or it will be completely ignored; in the very least, this + /// is a formalization for deprecating fields. + #[prost(bool, optional, tag = "3", default = "false")] + pub deprecated: ::core::option::Option, + /// For Google-internal migration only. Do not use. + #[prost(bool, optional, tag = "10", default = "false")] + pub weak: ::core::option::Option, + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `FieldOptions`. +pub mod field_options { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum CType { + /// Default mode. + String = 0, + Cord = 1, + StringPiece = 2, + } + impl CType { + /// 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 { + CType::String => "STRING", + CType::Cord => "CORD", + CType::StringPiece => "STRING_PIECE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "STRING" => Some(Self::String), + "CORD" => Some(Self::Cord), + "STRING_PIECE" => Some(Self::StringPiece), + _ => None, + } + } + } + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum JsType { + /// Use the default type. + JsNormal = 0, + /// Use JavaScript strings. + JsString = 1, + /// Use JavaScript numbers. + JsNumber = 2, + } + impl JsType { + /// 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 { + JsType::JsNormal => "JS_NORMAL", + JsType::JsString => "JS_STRING", + JsType::JsNumber => "JS_NUMBER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "JS_NORMAL" => Some(Self::JsNormal), + "JS_STRING" => Some(Self::JsString), + "JS_NUMBER" => Some(Self::JsNumber), + _ => None, + } + } + } +} +impl ::prost::Name for FieldOptions { + const NAME: &'static str = "FieldOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OneofOptions { + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for OneofOptions { + const NAME: &'static str = "OneofOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnumOptions { + /// Set this option to true to allow mapping different tag names to the same + /// value. + #[prost(bool, optional, tag = "2")] + pub allow_alias: ::core::option::Option, + /// Is this enum deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the enum, or it will be completely ignored; in the very least, this + /// is a formalization for deprecating enums. + #[prost(bool, optional, tag = "3", default = "false")] + pub deprecated: ::core::option::Option, + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for EnumOptions { + const NAME: &'static str = "EnumOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EnumValueOptions { + /// Is this enum value deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the enum value, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating enum values. + #[prost(bool, optional, tag = "1", default = "false")] + pub deprecated: ::core::option::Option, + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for EnumValueOptions { + const NAME: &'static str = "EnumValueOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ServiceOptions { + /// Is this service deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the service, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating services. + #[prost(bool, optional, tag = "33", default = "false")] + pub deprecated: ::core::option::Option, + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ServiceOptions { + const NAME: &'static str = "ServiceOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MethodOptions { + /// Is this method deprecated? + /// Depending on the target platform, this can emit Deprecated annotations + /// for the method, or it will be completely ignored; in the very least, + /// this is a formalization for deprecating methods. + #[prost(bool, optional, tag = "33", default = "false")] + pub deprecated: ::core::option::Option, + #[prost( + enumeration = "method_options::IdempotencyLevel", + optional, + tag = "34", + default = "IdempotencyUnknown" + )] + pub idempotency_level: ::core::option::Option, + /// The parser stores options it doesn't recognize here. See above. + #[prost(message, repeated, tag = "999")] + pub uninterpreted_option: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `MethodOptions`. +pub mod method_options { + /// Is this method side-effect-free (or safe in HTTP parlance), or idempotent, + /// or neither? HTTP based RPC implementation may choose GET verb for safe + /// methods, and PUT verb for idempotent methods instead of the default POST. + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum IdempotencyLevel { + IdempotencyUnknown = 0, + /// implies idempotent + NoSideEffects = 1, + /// idempotent, but may have side effects + Idempotent = 2, + } + impl IdempotencyLevel { + /// 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 { + IdempotencyLevel::IdempotencyUnknown => "IDEMPOTENCY_UNKNOWN", + IdempotencyLevel::NoSideEffects => "NO_SIDE_EFFECTS", + IdempotencyLevel::Idempotent => "IDEMPOTENT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "IDEMPOTENCY_UNKNOWN" => Some(Self::IdempotencyUnknown), + "NO_SIDE_EFFECTS" => Some(Self::NoSideEffects), + "IDEMPOTENT" => Some(Self::Idempotent), + _ => None, + } + } + } +} +impl ::prost::Name for MethodOptions { + const NAME: &'static str = "MethodOptions"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// A message representing a option the parser does not recognize. This only +/// appears in options protos created by the compiler::Parser class. +/// DescriptorPool resolves these when building Descriptor objects. Therefore, +/// options protos in descriptor objects (e.g. returned by Descriptor::options(), +/// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions +/// in them. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UninterpretedOption { + #[prost(message, repeated, tag = "2")] + pub name: ::prost::alloc::vec::Vec, + /// The value of the uninterpreted option, in whatever type the tokenizer + /// identified it as during parsing. Exactly one of these should be set. + #[prost(string, optional, tag = "3")] + pub identifier_value: ::core::option::Option<::prost::alloc::string::String>, + #[prost(uint64, optional, tag = "4")] + pub positive_int_value: ::core::option::Option, + #[prost(int64, optional, tag = "5")] + pub negative_int_value: ::core::option::Option, + #[prost(double, optional, tag = "6")] + pub double_value: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "7")] + pub string_value: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(string, optional, tag = "8")] + pub aggregate_value: ::core::option::Option<::prost::alloc::string::String>, +} +/// Nested message and enum types in `UninterpretedOption`. +pub mod uninterpreted_option { + /// The name of the uninterpreted option. Each string represents a segment in + /// a dot-separated name. is_extension is true iff a segment represents an + /// extension (denoted with parentheses in options specs in .proto files). + /// E.g.,{ \["foo", false\], \["bar.baz", true\], \["moo", false\] } represents + /// "foo.(bar.baz).moo". + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct NamePart { + #[prost(string, required, tag = "1")] + pub name_part: ::prost::alloc::string::String, + #[prost(bool, required, tag = "2")] + pub is_extension: bool, + } + impl ::prost::Name for NamePart { + const NAME: &'static str = "NamePart"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.UninterpretedOption.{}", Self::NAME) + } + } +} +impl ::prost::Name for UninterpretedOption { + const NAME: &'static str = "UninterpretedOption"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Encapsulates information about the original source file from which a +/// FileDescriptorProto was generated. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SourceCodeInfo { + /// A Location identifies a piece of source code in a .proto file which + /// corresponds to a particular definition. This information is intended + /// to be useful to IDEs, code indexers, documentation generators, and similar + /// tools. + /// + /// For example, say we have a file like: + /// message Foo { + /// optional string foo = 1; + /// } + /// Let's look at just the field definition: + /// optional string foo = 1; + /// ^ ^^ ^^ ^ ^^^ + /// a bc de f ghi + /// We have the following locations: + /// span path represents + /// \[a,i) [ 4, 0, 2, 0 \] The whole field definition. + /// \[a,b) [ 4, 0, 2, 0, 4 \] The label (optional). + /// \[c,d) [ 4, 0, 2, 0, 5 \] The type (string). + /// \[e,f) [ 4, 0, 2, 0, 1 \] The name (foo). + /// \[g,h) [ 4, 0, 2, 0, 3 \] The number (1). + /// + /// Notes: + /// - A location may refer to a repeated field itself (i.e. not to any + /// particular index within it). This is used whenever a set of elements are + /// logically enclosed in a single code segment. For example, an entire + /// extend block (possibly containing multiple extension definitions) will + /// have an outer location whose path refers to the "extensions" repeated + /// field without an index. + /// - Multiple locations may have the same path. This happens when a single + /// logical declaration is spread out across multiple places. The most + /// obvious example is the "extend" block again -- there may be multiple + /// extend blocks in the same scope, each of which will have the same path. + /// - A location's span is not always a subset of its parent's span. For + /// example, the "extendee" of an extension declaration appears at the + /// beginning of the "extend" block and is shared by all extensions within + /// the block. + /// - Just because a location's span is a subset of some other location's span + /// does not mean that it is a descendant. For example, a "group" defines + /// both a type and a field in a single declaration. Thus, the locations + /// corresponding to the type and field and their components will overlap. + /// - Code which tries to interpret locations should probably be designed to + /// ignore those that it doesn't understand, as more types of locations could + /// be recorded in the future. + #[prost(message, repeated, tag = "1")] + pub location: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `SourceCodeInfo`. +pub mod source_code_info { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Location { + /// Identifies which part of the FileDescriptorProto was defined at this + /// location. + /// + /// Each element is a field number or an index. They form a path from + /// the root FileDescriptorProto to the place where the definition occurs. + /// For example, this path: + /// \[ 4, 3, 2, 7, 1 \] + /// refers to: + /// file.message_type(3) // 4, 3 + /// .field(7) // 2, 7 + /// .name() // 1 + /// This is because FileDescriptorProto.message_type has field number 4: + /// repeated DescriptorProto message_type = 4; + /// and DescriptorProto.field has field number 2: + /// repeated FieldDescriptorProto field = 2; + /// and FieldDescriptorProto.name has field number 1: + /// optional string name = 1; + /// + /// Thus, the above path gives the location of a field name. If we removed + /// the last element: + /// \[ 4, 3, 2, 7 \] + /// this path refers to the whole field declaration (from the beginning + /// of the label to the terminating semicolon). + #[prost(int32, repeated, tag = "1")] + pub path: ::prost::alloc::vec::Vec, + /// Always has exactly three or four elements: start line, start column, + /// end line (optional, otherwise assumed same as start line), end column. + /// These are packed into a single field for efficiency. Note that line + /// and column numbers are zero-based -- typically you will want to add + /// 1 to each before displaying to a user. + #[prost(int32, repeated, tag = "2")] + pub span: ::prost::alloc::vec::Vec, + /// If this SourceCodeInfo represents a complete declaration, these are any + /// comments appearing before and after the declaration which appear to be + /// attached to the declaration. + /// + /// A series of line comments appearing on consecutive lines, with no other + /// tokens appearing on those lines, will be treated as a single comment. + /// + /// leading_detached_comments will keep paragraphs of comments that appear + /// before (but not connected to) the current element. Each paragraph, + /// separated by empty lines, will be one comment element in the repeated + /// field. + /// + /// Only the comment content is provided; comment markers (e.g. //) are + /// stripped out. For block comments, leading whitespace and an asterisk + /// will be stripped from the beginning of each line other than the first. + /// Newlines are included in the output. + /// + /// Examples: + /// + /// optional int32 foo = 1; // Comment attached to foo. + /// // Comment attached to bar. + /// optional int32 bar = 2; + /// + /// optional string baz = 3; + /// // Comment attached to baz. + /// // Another line attached to baz. + /// + /// // Comment attached to moo. + /// // + /// // Another line attached to moo. + /// optional double moo = 4; + /// + /// // Detached comment for corge. This is not leading or trailing comments + /// // to moo or corge because there are blank lines separating it from + /// // both. + /// + /// // Detached comment for corge paragraph 2. + /// + /// optional string corge = 5; + /// /* Block comment attached + /// * to corge. Leading asterisks + /// * will be removed. */ + /// /* Block comment attached to + /// * grault. */ + /// optional int32 grault = 6; + /// + /// // ignored detached comments. + #[prost(string, optional, tag = "3")] + pub leading_comments: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub trailing_comments: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "6")] + pub leading_detached_comments: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + } + impl ::prost::Name for Location { + const NAME: &'static str = "Location"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.SourceCodeInfo.{}", Self::NAME) + } + } +} +impl ::prost::Name for SourceCodeInfo { + const NAME: &'static str = "SourceCodeInfo"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// Describes the relationship between generated code and its original source +/// file. A GeneratedCodeInfo message is associated with only one generated +/// source file, but may contain references to different source .proto files. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GeneratedCodeInfo { + /// An Annotation connects some span of text in generated code to an element + /// of its generating .proto file. + #[prost(message, repeated, tag = "1")] + pub annotation: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `GeneratedCodeInfo`. +pub mod generated_code_info { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Annotation { + /// Identifies the element in the original source .proto file. This field + /// is formatted the same as SourceCodeInfo.Location.path. + #[prost(int32, repeated, tag = "1")] + pub path: ::prost::alloc::vec::Vec, + /// Identifies the filesystem path to the original source .proto. + #[prost(string, optional, tag = "2")] + pub source_file: ::core::option::Option<::prost::alloc::string::String>, + /// Identifies the starting offset in bytes in the generated code + /// that relates to the identified object. + #[prost(int32, optional, tag = "3")] + pub begin: ::core::option::Option, + /// Identifies the ending offset in bytes in the generated code that + /// relates to the identified offset. The end offset should be one past + /// the last relevant byte (so the length of the text = end - begin). + #[prost(int32, optional, tag = "4")] + pub end: ::core::option::Option, + } + impl ::prost::Name for Annotation { + const NAME: &'static str = "Annotation"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.GeneratedCodeInfo.{}", Self::NAME) + } + } +} +impl ::prost::Name for GeneratedCodeInfo { + const NAME: &'static str = "GeneratedCodeInfo"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// A Timestamp represents a point in time independent of any time zone or local +/// calendar, encoded as a count of seconds and fractions of seconds at +/// nanosecond resolution. The count is relative to an epoch at UTC midnight on +/// January 1, 1970, in the proleptic Gregorian calendar which extends the +/// Gregorian calendar backwards to year one. +/// +/// All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap +/// second table is needed for interpretation, using a [24-hour linear +/// smear](). +/// +/// The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By +/// restricting to that range, we ensure that we can convert to and from [RFC +/// 3339]() date strings. +/// +/// # Examples +/// +/// Example 1: Compute Timestamp from POSIX `time()`. +/// +/// Timestamp timestamp; +/// timestamp.set_seconds(time(NULL)); +/// timestamp.set_nanos(0); +/// +/// Example 2: Compute Timestamp from POSIX `gettimeofday()`. +/// +/// struct timeval tv; +/// gettimeofday(&tv, NULL); +/// +/// Timestamp timestamp; +/// timestamp.set_seconds(tv.tv_sec); +/// timestamp.set_nanos(tv.tv_usec * 1000); +/// +/// Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`. +/// +/// FILETIME ft; +/// GetSystemTimeAsFileTime(&ft); +/// UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime; +/// +/// // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z +/// // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z. +/// Timestamp timestamp; +/// timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL)); +/// timestamp.set_nanos((INT32) ((ticks % 10000000) * 100)); +/// +/// Example 4: Compute Timestamp from Java `System.currentTimeMillis()`. +/// +/// long millis = System.currentTimeMillis(); +/// +/// Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000) +/// .setNanos((int) ((millis % 1000) * 1000000)).build(); +/// +/// +/// Example 5: Compute Timestamp from Java `Instant.now()`. +/// +/// Instant now = Instant.now(); +/// +/// Timestamp timestamp = +/// Timestamp.newBuilder().setSeconds(now.getEpochSecond()) +/// .setNanos(now.getNano()).build(); +/// +/// +/// Example 6: Compute Timestamp from current time in Python. +/// +/// timestamp = Timestamp() +/// timestamp.GetCurrentTime() +/// +/// # JSON Mapping +/// +/// In JSON format, the Timestamp type is encoded as a string in the +/// [RFC 3339]() format. That is, the +/// format is "{year}-{month}-{day}T{hour}:{min}:{sec}\[.{frac_sec}\]Z" +/// where {year} is always expressed using four digits while {month}, {day}, +/// {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional +/// seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution), +/// are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone +/// is required. A proto3 JSON serializer should always use UTC (as indicated by +/// "Z") when printing the Timestamp type and a proto3 JSON parser should be +/// able to accept both UTC and other timezones (as indicated by an offset). +/// +/// For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past +/// 01:30 UTC on January 15, 2017. +/// +/// In JavaScript, one can convert a Date object to this format using the +/// standard +/// [toISOString()]() +/// method. In Python, a standard `datetime.datetime` object can be converted +/// to this format using +/// [`strftime`]() with +/// the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use +/// the Joda Time's [`ISODateTimeFormat.dateTime()`]( +/// +/// ) to obtain a formatter capable of generating timestamps in this format. +/// +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Timestamp { + /// Represents seconds of UTC time since Unix epoch + /// 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to + /// 9999-12-31T23:59:59Z inclusive. + #[prost(int64, tag = "1")] + pub seconds: i64, + /// Non-negative fractions of a second at nanosecond resolution. Negative + /// second values with fractions must still have non-negative nanos values + /// that count forward in time. Must be from 0 to 999,999,999 + /// inclusive. + #[prost(int32, tag = "2")] + pub nanos: i32, +} +impl ::prost::Name for Timestamp { + const NAME: &'static str = "Timestamp"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} +/// A Duration represents a signed, fixed-length span of time represented +/// as a count of seconds and fractions of seconds at nanosecond +/// resolution. It is independent of any calendar and concepts like "day" +/// or "month". It is related to Timestamp in that the difference between +/// two Timestamp values is a Duration and it can be added or subtracted +/// from a Timestamp. Range is approximately +-10,000 years. +/// +/// # Examples +/// +/// Example 1: Compute Duration from two Timestamps in pseudo code. +/// +/// Timestamp start = ...; +/// Timestamp end = ...; +/// Duration duration = ...; +/// +/// duration.seconds = end.seconds - start.seconds; +/// duration.nanos = end.nanos - start.nanos; +/// +/// if (duration.seconds < 0 && duration.nanos > 0) { +/// duration.seconds += 1; +/// duration.nanos -= 1000000000; +/// } else if (duration.seconds > 0 && duration.nanos < 0) { +/// duration.seconds -= 1; +/// duration.nanos += 1000000000; +/// } +/// +/// Example 2: Compute Timestamp from Timestamp + Duration in pseudo code. +/// +/// Timestamp start = ...; +/// Duration duration = ...; +/// Timestamp end = ...; +/// +/// end.seconds = start.seconds + duration.seconds; +/// end.nanos = start.nanos + duration.nanos; +/// +/// if (end.nanos < 0) { +/// end.seconds -= 1; +/// end.nanos += 1000000000; +/// } else if (end.nanos >= 1000000000) { +/// end.seconds += 1; +/// end.nanos -= 1000000000; +/// } +/// +/// Example 3: Compute Duration from datetime.timedelta in Python. +/// +/// td = datetime.timedelta(days=3, minutes=10) +/// duration = Duration() +/// duration.FromTimedelta(td) +/// +/// # JSON Mapping +/// +/// In JSON format, the Duration type is encoded as a string rather than an +/// object, where the string ends in the suffix "s" (indicating seconds) and +/// is preceded by the number of seconds, with nanoseconds expressed as +/// fractional seconds. For example, 3 seconds with 0 nanoseconds should be +/// encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should +/// be expressed in JSON format as "3.000000001s", and 3 seconds and 1 +/// microsecond should be expressed in JSON format as "3.000001s". +/// +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Duration { + /// Signed seconds of the span of time. Must be from -315,576,000,000 + /// to +315,576,000,000 inclusive. Note: these bounds are computed from: + /// 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years + #[prost(int64, tag = "1")] + pub seconds: i64, + /// Signed fractions of a second at nanosecond resolution of the span + /// of time. Durations less than one second are represented with a 0 + /// `seconds` field and a positive or negative `nanos` field. For durations + /// of one second or more, a non-zero value for the `nanos` field must be + /// of the same sign as the `seconds` field. Must be from -999,999,999 + /// to +999,999,999 inclusive. + #[prost(int32, tag = "2")] + pub nanos: i32, +} +impl ::prost::Name for Duration { + const NAME: &'static str = "Duration"; + const PACKAGE: &'static str = "google.protobuf"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("google.protobuf.{}", Self::NAME) + } +} diff --git a/src/prost/google.protobuf.serde.rs b/src/prost/google.protobuf.serde.rs new file mode 100644 index 00000000..6413ff09 --- /dev/null +++ b/src/prost/google.protobuf.serde.rs @@ -0,0 +1,5085 @@ +impl serde::Serialize for Any { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.type_url.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.Any", len)?; + if !self.type_url.is_empty() { + struct_ser.serialize_field("typeUrl", &self.type_url)?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Any { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "type_url", + "typeUrl", + "value", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + TypeUrl, + Value, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "typeUrl" | "type_url" => Ok(GeneratedField::TypeUrl), + "value" => Ok(GeneratedField::Value), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Any; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.Any") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut type_url__ = None; + let mut value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::TypeUrl => { + if type_url__.is_some() { + return Err(serde::de::Error::duplicate_field("typeUrl")); + } + type_url__ = Some(map_.next_value()?); + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(Any { + type_url: type_url__.unwrap_or_default(), + value: value__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.Any", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if !self.field.is_empty() { + len += 1; + } + if !self.extension.is_empty() { + len += 1; + } + if !self.nested_type.is_empty() { + len += 1; + } + if !self.enum_type.is_empty() { + len += 1; + } + if !self.extension_range.is_empty() { + len += 1; + } + if !self.oneof_decl.is_empty() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + if !self.reserved_range.is_empty() { + len += 1; + } + if !self.reserved_name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.DescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if !self.field.is_empty() { + struct_ser.serialize_field("field", &self.field)?; + } + if !self.extension.is_empty() { + struct_ser.serialize_field("extension", &self.extension)?; + } + if !self.nested_type.is_empty() { + struct_ser.serialize_field("nestedType", &self.nested_type)?; + } + if !self.enum_type.is_empty() { + struct_ser.serialize_field("enumType", &self.enum_type)?; + } + if !self.extension_range.is_empty() { + struct_ser.serialize_field("extensionRange", &self.extension_range)?; + } + if !self.oneof_decl.is_empty() { + struct_ser.serialize_field("oneofDecl", &self.oneof_decl)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + if !self.reserved_range.is_empty() { + struct_ser.serialize_field("reservedRange", &self.reserved_range)?; + } + if !self.reserved_name.is_empty() { + struct_ser.serialize_field("reservedName", &self.reserved_name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "field", + "extension", + "nested_type", + "nestedType", + "enum_type", + "enumType", + "extension_range", + "extensionRange", + "oneof_decl", + "oneofDecl", + "options", + "reserved_range", + "reservedRange", + "reserved_name", + "reservedName", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Field, + Extension, + NestedType, + EnumType, + ExtensionRange, + OneofDecl, + Options, + ReservedRange, + ReservedName, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "field" => Ok(GeneratedField::Field), + "extension" => Ok(GeneratedField::Extension), + "nestedType" | "nested_type" => Ok(GeneratedField::NestedType), + "enumType" | "enum_type" => Ok(GeneratedField::EnumType), + "extensionRange" | "extension_range" => Ok(GeneratedField::ExtensionRange), + "oneofDecl" | "oneof_decl" => Ok(GeneratedField::OneofDecl), + "options" => Ok(GeneratedField::Options), + "reservedRange" | "reserved_range" => Ok(GeneratedField::ReservedRange), + "reservedName" | "reserved_name" => Ok(GeneratedField::ReservedName), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.DescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut field__ = None; + let mut extension__ = None; + let mut nested_type__ = None; + let mut enum_type__ = None; + let mut extension_range__ = None; + let mut oneof_decl__ = None; + let mut options__ = None; + let mut reserved_range__ = None; + let mut reserved_name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Field => { + if field__.is_some() { + return Err(serde::de::Error::duplicate_field("field")); + } + field__ = Some(map_.next_value()?); + } + GeneratedField::Extension => { + if extension__.is_some() { + return Err(serde::de::Error::duplicate_field("extension")); + } + extension__ = Some(map_.next_value()?); + } + GeneratedField::NestedType => { + if nested_type__.is_some() { + return Err(serde::de::Error::duplicate_field("nestedType")); + } + nested_type__ = Some(map_.next_value()?); + } + GeneratedField::EnumType => { + if enum_type__.is_some() { + return Err(serde::de::Error::duplicate_field("enumType")); + } + enum_type__ = Some(map_.next_value()?); + } + GeneratedField::ExtensionRange => { + if extension_range__.is_some() { + return Err(serde::de::Error::duplicate_field("extensionRange")); + } + extension_range__ = Some(map_.next_value()?); + } + GeneratedField::OneofDecl => { + if oneof_decl__.is_some() { + return Err(serde::de::Error::duplicate_field("oneofDecl")); + } + oneof_decl__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + GeneratedField::ReservedRange => { + if reserved_range__.is_some() { + return Err(serde::de::Error::duplicate_field("reservedRange")); + } + reserved_range__ = Some(map_.next_value()?); + } + GeneratedField::ReservedName => { + if reserved_name__.is_some() { + return Err(serde::de::Error::duplicate_field("reservedName")); + } + reserved_name__ = Some(map_.next_value()?); + } + } + } + Ok(DescriptorProto { + name: name__, + field: field__.unwrap_or_default(), + extension: extension__.unwrap_or_default(), + nested_type: nested_type__.unwrap_or_default(), + enum_type: enum_type__.unwrap_or_default(), + extension_range: extension_range__.unwrap_or_default(), + oneof_decl: oneof_decl__.unwrap_or_default(), + options: options__, + reserved_range: reserved_range__.unwrap_or_default(), + reserved_name: reserved_name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.DescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for descriptor_proto::ExtensionRange { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.start.is_some() { + len += 1; + } + if self.end.is_some() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.DescriptorProto.ExtensionRange", len)?; + if let Some(v) = self.start.as_ref() { + struct_ser.serialize_field("start", v)?; + } + if let Some(v) = self.end.as_ref() { + struct_ser.serialize_field("end", v)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "start", + "end", + "options", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Start, + End, + Options, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "start" => Ok(GeneratedField::Start), + "end" => Ok(GeneratedField::End), + "options" => Ok(GeneratedField::Options), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = descriptor_proto::ExtensionRange; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.DescriptorProto.ExtensionRange") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut start__ = None; + let mut end__ = None; + let mut options__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Start => { + if start__.is_some() { + return Err(serde::de::Error::duplicate_field("start")); + } + start__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::End => { + if end__.is_some() { + return Err(serde::de::Error::duplicate_field("end")); + } + end__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + } + } + Ok(descriptor_proto::ExtensionRange { + start: start__, + end: end__, + options: options__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.DescriptorProto.ExtensionRange", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for descriptor_proto::ReservedRange { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.start.is_some() { + len += 1; + } + if self.end.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.DescriptorProto.ReservedRange", len)?; + if let Some(v) = self.start.as_ref() { + struct_ser.serialize_field("start", v)?; + } + if let Some(v) = self.end.as_ref() { + struct_ser.serialize_field("end", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "start", + "end", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Start, + End, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "start" => Ok(GeneratedField::Start), + "end" => Ok(GeneratedField::End), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = descriptor_proto::ReservedRange; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.DescriptorProto.ReservedRange") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut start__ = None; + let mut end__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Start => { + if start__.is_some() { + return Err(serde::de::Error::duplicate_field("start")); + } + start__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::End => { + if end__.is_some() { + return Err(serde::de::Error::duplicate_field("end")); + } + end__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + } + } + Ok(descriptor_proto::ReservedRange { + start: start__, + end: end__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.DescriptorProto.ReservedRange", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Duration { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.seconds != 0 { + len += 1; + } + if self.nanos != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.Duration", len)?; + if self.seconds != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("seconds", ToString::to_string(&self.seconds).as_str())?; + } + if self.nanos != 0 { + struct_ser.serialize_field("nanos", &self.nanos)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Duration { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "seconds", + "nanos", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Seconds, + Nanos, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "seconds" => Ok(GeneratedField::Seconds), + "nanos" => Ok(GeneratedField::Nanos), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Duration; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.Duration") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut seconds__ = None; + let mut nanos__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Seconds => { + if seconds__.is_some() { + return Err(serde::de::Error::duplicate_field("seconds")); + } + seconds__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Nanos => { + if nanos__.is_some() { + return Err(serde::de::Error::duplicate_field("nanos")); + } + nanos__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Duration { + seconds: seconds__.unwrap_or_default(), + nanos: nanos__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.Duration", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for EnumDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + if !self.reserved_range.is_empty() { + len += 1; + } + if !self.reserved_name.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if !self.value.is_empty() { + struct_ser.serialize_field("value", &self.value)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + if !self.reserved_range.is_empty() { + struct_ser.serialize_field("reservedRange", &self.reserved_range)?; + } + if !self.reserved_name.is_empty() { + struct_ser.serialize_field("reservedName", &self.reserved_name)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "value", + "options", + "reserved_range", + "reservedRange", + "reserved_name", + "reservedName", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Value, + Options, + ReservedRange, + ReservedName, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "value" => Ok(GeneratedField::Value), + "options" => Ok(GeneratedField::Options), + "reservedRange" | "reserved_range" => Ok(GeneratedField::ReservedRange), + "reservedName" | "reserved_name" => Ok(GeneratedField::ReservedName), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = EnumDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.EnumDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut value__ = None; + let mut options__ = None; + let mut reserved_range__ = None; + let mut reserved_name__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + GeneratedField::ReservedRange => { + if reserved_range__.is_some() { + return Err(serde::de::Error::duplicate_field("reservedRange")); + } + reserved_range__ = Some(map_.next_value()?); + } + GeneratedField::ReservedName => { + if reserved_name__.is_some() { + return Err(serde::de::Error::duplicate_field("reservedName")); + } + reserved_name__ = Some(map_.next_value()?); + } + } + } + Ok(EnumDescriptorProto { + name: name__, + value: value__.unwrap_or_default(), + options: options__, + reserved_range: reserved_range__.unwrap_or_default(), + reserved_name: reserved_name__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.EnumDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for enum_descriptor_proto::EnumReservedRange { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.start.is_some() { + len += 1; + } + if self.end.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumDescriptorProto.EnumReservedRange", len)?; + if let Some(v) = self.start.as_ref() { + struct_ser.serialize_field("start", v)?; + } + if let Some(v) = self.end.as_ref() { + struct_ser.serialize_field("end", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "start", + "end", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Start, + End, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "start" => Ok(GeneratedField::Start), + "end" => Ok(GeneratedField::End), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = enum_descriptor_proto::EnumReservedRange; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.EnumDescriptorProto.EnumReservedRange") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut start__ = None; + let mut end__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Start => { + if start__.is_some() { + return Err(serde::de::Error::duplicate_field("start")); + } + start__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::End => { + if end__.is_some() { + return Err(serde::de::Error::duplicate_field("end")); + } + end__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + } + } + Ok(enum_descriptor_proto::EnumReservedRange { + start: start__, + end: end__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.EnumDescriptorProto.EnumReservedRange", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for EnumOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.allow_alias.is_some() { + len += 1; + } + if self.deprecated.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumOptions", len)?; + if let Some(v) = self.allow_alias.as_ref() { + struct_ser.serialize_field("allowAlias", v)?; + } + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for EnumOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "allow_alias", + "allowAlias", + "deprecated", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AllowAlias, + Deprecated, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "allowAlias" | "allow_alias" => Ok(GeneratedField::AllowAlias), + "deprecated" => Ok(GeneratedField::Deprecated), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = EnumOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.EnumOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut allow_alias__ = None; + let mut deprecated__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AllowAlias => { + if allow_alias__.is_some() { + return Err(serde::de::Error::duplicate_field("allowAlias")); + } + allow_alias__ = map_.next_value()?; + } + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(EnumOptions { + allow_alias: allow_alias__, + deprecated: deprecated__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.EnumOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for EnumValueDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if self.number.is_some() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumValueDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if let Some(v) = self.number.as_ref() { + struct_ser.serialize_field("number", v)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for EnumValueDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "number", + "options", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Number, + Options, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "number" => Ok(GeneratedField::Number), + "options" => Ok(GeneratedField::Options), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = EnumValueDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.EnumValueDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut number__ = None; + let mut options__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Number => { + if number__.is_some() { + return Err(serde::de::Error::duplicate_field("number")); + } + number__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + } + } + Ok(EnumValueDescriptorProto { + name: name__, + number: number__, + options: options__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.EnumValueDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for EnumValueOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.deprecated.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumValueOptions", len)?; + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for EnumValueOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deprecated", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deprecated, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deprecated" => Ok(GeneratedField::Deprecated), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = EnumValueOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.EnumValueOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deprecated__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(EnumValueOptions { + deprecated: deprecated__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.EnumValueOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ExtensionRangeOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.ExtensionRangeOptions", len)?; + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ExtensionRangeOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ExtensionRangeOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.ExtensionRangeOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(ExtensionRangeOptions { + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.ExtensionRangeOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for FieldDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if self.number.is_some() { + len += 1; + } + if self.label.is_some() { + len += 1; + } + if self.r#type.is_some() { + len += 1; + } + if self.type_name.is_some() { + len += 1; + } + if self.extendee.is_some() { + len += 1; + } + if self.default_value.is_some() { + len += 1; + } + if self.oneof_index.is_some() { + len += 1; + } + if self.json_name.is_some() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + if self.proto3_optional.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.FieldDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if let Some(v) = self.number.as_ref() { + struct_ser.serialize_field("number", v)?; + } + if let Some(v) = self.label.as_ref() { + let v = field_descriptor_proto::Label::try_from(*v) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + struct_ser.serialize_field("label", &v)?; + } + if let Some(v) = self.r#type.as_ref() { + let v = field_descriptor_proto::Type::try_from(*v) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + struct_ser.serialize_field("type", &v)?; + } + if let Some(v) = self.type_name.as_ref() { + struct_ser.serialize_field("typeName", v)?; + } + if let Some(v) = self.extendee.as_ref() { + struct_ser.serialize_field("extendee", v)?; + } + if let Some(v) = self.default_value.as_ref() { + struct_ser.serialize_field("defaultValue", v)?; + } + if let Some(v) = self.oneof_index.as_ref() { + struct_ser.serialize_field("oneofIndex", v)?; + } + if let Some(v) = self.json_name.as_ref() { + struct_ser.serialize_field("jsonName", v)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + if let Some(v) = self.proto3_optional.as_ref() { + struct_ser.serialize_field("proto3Optional", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "number", + "label", + "type", + "type_name", + "typeName", + "extendee", + "default_value", + "defaultValue", + "oneof_index", + "oneofIndex", + "json_name", + "jsonName", + "options", + "proto3_optional", + "proto3Optional", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Number, + Label, + Type, + TypeName, + Extendee, + DefaultValue, + OneofIndex, + JsonName, + Options, + Proto3Optional, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "number" => Ok(GeneratedField::Number), + "label" => Ok(GeneratedField::Label), + "type" => Ok(GeneratedField::Type), + "typeName" | "type_name" => Ok(GeneratedField::TypeName), + "extendee" => Ok(GeneratedField::Extendee), + "defaultValue" | "default_value" => Ok(GeneratedField::DefaultValue), + "oneofIndex" | "oneof_index" => Ok(GeneratedField::OneofIndex), + "jsonName" | "json_name" => Ok(GeneratedField::JsonName), + "options" => Ok(GeneratedField::Options), + "proto3Optional" | "proto3_optional" => Ok(GeneratedField::Proto3Optional), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FieldDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.FieldDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut number__ = None; + let mut label__ = None; + let mut r#type__ = None; + let mut type_name__ = None; + let mut extendee__ = None; + let mut default_value__ = None; + let mut oneof_index__ = None; + let mut json_name__ = None; + let mut options__ = None; + let mut proto3_optional__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Number => { + if number__.is_some() { + return Err(serde::de::Error::duplicate_field("number")); + } + number__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::Label => { + if label__.is_some() { + return Err(serde::de::Error::duplicate_field("label")); + } + label__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + } + GeneratedField::Type => { + if r#type__.is_some() { + return Err(serde::de::Error::duplicate_field("type")); + } + r#type__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + } + GeneratedField::TypeName => { + if type_name__.is_some() { + return Err(serde::de::Error::duplicate_field("typeName")); + } + type_name__ = map_.next_value()?; + } + GeneratedField::Extendee => { + if extendee__.is_some() { + return Err(serde::de::Error::duplicate_field("extendee")); + } + extendee__ = map_.next_value()?; + } + GeneratedField::DefaultValue => { + if default_value__.is_some() { + return Err(serde::de::Error::duplicate_field("defaultValue")); + } + default_value__ = map_.next_value()?; + } + GeneratedField::OneofIndex => { + if oneof_index__.is_some() { + return Err(serde::de::Error::duplicate_field("oneofIndex")); + } + oneof_index__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::JsonName => { + if json_name__.is_some() { + return Err(serde::de::Error::duplicate_field("jsonName")); + } + json_name__ = map_.next_value()?; + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + GeneratedField::Proto3Optional => { + if proto3_optional__.is_some() { + return Err(serde::de::Error::duplicate_field("proto3Optional")); + } + proto3_optional__ = map_.next_value()?; + } + } + } + Ok(FieldDescriptorProto { + name: name__, + number: number__, + label: label__, + r#type: r#type__, + type_name: type_name__, + extendee: extendee__, + default_value: default_value__, + oneof_index: oneof_index__, + json_name: json_name__, + options: options__, + proto3_optional: proto3_optional__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.FieldDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for field_descriptor_proto::Label { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Optional => "LABEL_OPTIONAL", + Self::Required => "LABEL_REQUIRED", + Self::Repeated => "LABEL_REPEATED", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Label { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "LABEL_OPTIONAL", + "LABEL_REQUIRED", + "LABEL_REPEATED", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = field_descriptor_proto::Label; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "LABEL_OPTIONAL" => Ok(field_descriptor_proto::Label::Optional), + "LABEL_REQUIRED" => Ok(field_descriptor_proto::Label::Required), + "LABEL_REPEATED" => Ok(field_descriptor_proto::Label::Repeated), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for field_descriptor_proto::Type { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Double => "TYPE_DOUBLE", + Self::Float => "TYPE_FLOAT", + Self::Int64 => "TYPE_INT64", + Self::Uint64 => "TYPE_UINT64", + Self::Int32 => "TYPE_INT32", + Self::Fixed64 => "TYPE_FIXED64", + Self::Fixed32 => "TYPE_FIXED32", + Self::Bool => "TYPE_BOOL", + Self::String => "TYPE_STRING", + Self::Group => "TYPE_GROUP", + Self::Message => "TYPE_MESSAGE", + Self::Bytes => "TYPE_BYTES", + Self::Uint32 => "TYPE_UINT32", + Self::Enum => "TYPE_ENUM", + Self::Sfixed32 => "TYPE_SFIXED32", + Self::Sfixed64 => "TYPE_SFIXED64", + Self::Sint32 => "TYPE_SINT32", + Self::Sint64 => "TYPE_SINT64", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Type { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "TYPE_DOUBLE", + "TYPE_FLOAT", + "TYPE_INT64", + "TYPE_UINT64", + "TYPE_INT32", + "TYPE_FIXED64", + "TYPE_FIXED32", + "TYPE_BOOL", + "TYPE_STRING", + "TYPE_GROUP", + "TYPE_MESSAGE", + "TYPE_BYTES", + "TYPE_UINT32", + "TYPE_ENUM", + "TYPE_SFIXED32", + "TYPE_SFIXED64", + "TYPE_SINT32", + "TYPE_SINT64", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = field_descriptor_proto::Type; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "TYPE_DOUBLE" => Ok(field_descriptor_proto::Type::Double), + "TYPE_FLOAT" => Ok(field_descriptor_proto::Type::Float), + "TYPE_INT64" => Ok(field_descriptor_proto::Type::Int64), + "TYPE_UINT64" => Ok(field_descriptor_proto::Type::Uint64), + "TYPE_INT32" => Ok(field_descriptor_proto::Type::Int32), + "TYPE_FIXED64" => Ok(field_descriptor_proto::Type::Fixed64), + "TYPE_FIXED32" => Ok(field_descriptor_proto::Type::Fixed32), + "TYPE_BOOL" => Ok(field_descriptor_proto::Type::Bool), + "TYPE_STRING" => Ok(field_descriptor_proto::Type::String), + "TYPE_GROUP" => Ok(field_descriptor_proto::Type::Group), + "TYPE_MESSAGE" => Ok(field_descriptor_proto::Type::Message), + "TYPE_BYTES" => Ok(field_descriptor_proto::Type::Bytes), + "TYPE_UINT32" => Ok(field_descriptor_proto::Type::Uint32), + "TYPE_ENUM" => Ok(field_descriptor_proto::Type::Enum), + "TYPE_SFIXED32" => Ok(field_descriptor_proto::Type::Sfixed32), + "TYPE_SFIXED64" => Ok(field_descriptor_proto::Type::Sfixed64), + "TYPE_SINT32" => Ok(field_descriptor_proto::Type::Sint32), + "TYPE_SINT64" => Ok(field_descriptor_proto::Type::Sint64), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for FieldOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.ctype.is_some() { + len += 1; + } + if self.packed.is_some() { + len += 1; + } + if self.jstype.is_some() { + len += 1; + } + if self.lazy.is_some() { + len += 1; + } + if self.unverified_lazy.is_some() { + len += 1; + } + if self.deprecated.is_some() { + len += 1; + } + if self.weak.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.FieldOptions", len)?; + if let Some(v) = self.ctype.as_ref() { + let v = field_options::CType::try_from(*v) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + struct_ser.serialize_field("ctype", &v)?; + } + if let Some(v) = self.packed.as_ref() { + struct_ser.serialize_field("packed", v)?; + } + if let Some(v) = self.jstype.as_ref() { + let v = field_options::JsType::try_from(*v) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + struct_ser.serialize_field("jstype", &v)?; + } + if let Some(v) = self.lazy.as_ref() { + struct_ser.serialize_field("lazy", v)?; + } + if let Some(v) = self.unverified_lazy.as_ref() { + struct_ser.serialize_field("unverifiedLazy", v)?; + } + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if let Some(v) = self.weak.as_ref() { + struct_ser.serialize_field("weak", v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FieldOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "ctype", + "packed", + "jstype", + "lazy", + "unverified_lazy", + "unverifiedLazy", + "deprecated", + "weak", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Ctype, + Packed, + Jstype, + Lazy, + UnverifiedLazy, + Deprecated, + Weak, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "ctype" => Ok(GeneratedField::Ctype), + "packed" => Ok(GeneratedField::Packed), + "jstype" => Ok(GeneratedField::Jstype), + "lazy" => Ok(GeneratedField::Lazy), + "unverifiedLazy" | "unverified_lazy" => Ok(GeneratedField::UnverifiedLazy), + "deprecated" => Ok(GeneratedField::Deprecated), + "weak" => Ok(GeneratedField::Weak), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FieldOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.FieldOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut ctype__ = None; + let mut packed__ = None; + let mut jstype__ = None; + let mut lazy__ = None; + let mut unverified_lazy__ = None; + let mut deprecated__ = None; + let mut weak__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Ctype => { + if ctype__.is_some() { + return Err(serde::de::Error::duplicate_field("ctype")); + } + ctype__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + } + GeneratedField::Packed => { + if packed__.is_some() { + return Err(serde::de::Error::duplicate_field("packed")); + } + packed__ = map_.next_value()?; + } + GeneratedField::Jstype => { + if jstype__.is_some() { + return Err(serde::de::Error::duplicate_field("jstype")); + } + jstype__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + } + GeneratedField::Lazy => { + if lazy__.is_some() { + return Err(serde::de::Error::duplicate_field("lazy")); + } + lazy__ = map_.next_value()?; + } + GeneratedField::UnverifiedLazy => { + if unverified_lazy__.is_some() { + return Err(serde::de::Error::duplicate_field("unverifiedLazy")); + } + unverified_lazy__ = map_.next_value()?; + } + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::Weak => { + if weak__.is_some() { + return Err(serde::de::Error::duplicate_field("weak")); + } + weak__ = map_.next_value()?; + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(FieldOptions { + ctype: ctype__, + packed: packed__, + jstype: jstype__, + lazy: lazy__, + unverified_lazy: unverified_lazy__, + deprecated: deprecated__, + weak: weak__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.FieldOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for field_options::CType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::String => "STRING", + Self::Cord => "CORD", + Self::StringPiece => "STRING_PIECE", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for field_options::CType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "STRING", + "CORD", + "STRING_PIECE", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = field_options::CType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "STRING" => Ok(field_options::CType::String), + "CORD" => Ok(field_options::CType::Cord), + "STRING_PIECE" => Ok(field_options::CType::StringPiece), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for field_options::JsType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::JsNormal => "JS_NORMAL", + Self::JsString => "JS_STRING", + Self::JsNumber => "JS_NUMBER", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for field_options::JsType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "JS_NORMAL", + "JS_STRING", + "JS_NUMBER", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = field_options::JsType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "JS_NORMAL" => Ok(field_options::JsType::JsNormal), + "JS_STRING" => Ok(field_options::JsType::JsString), + "JS_NUMBER" => Ok(field_options::JsType::JsNumber), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for FileDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if self.package.is_some() { + len += 1; + } + if !self.dependency.is_empty() { + len += 1; + } + if !self.public_dependency.is_empty() { + len += 1; + } + if !self.weak_dependency.is_empty() { + len += 1; + } + if !self.message_type.is_empty() { + len += 1; + } + if !self.enum_type.is_empty() { + len += 1; + } + if !self.service.is_empty() { + len += 1; + } + if !self.extension.is_empty() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + if self.source_code_info.is_some() { + len += 1; + } + if self.syntax.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.FileDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if let Some(v) = self.package.as_ref() { + struct_ser.serialize_field("package", v)?; + } + if !self.dependency.is_empty() { + struct_ser.serialize_field("dependency", &self.dependency)?; + } + if !self.public_dependency.is_empty() { + struct_ser.serialize_field("publicDependency", &self.public_dependency)?; + } + if !self.weak_dependency.is_empty() { + struct_ser.serialize_field("weakDependency", &self.weak_dependency)?; + } + if !self.message_type.is_empty() { + struct_ser.serialize_field("messageType", &self.message_type)?; + } + if !self.enum_type.is_empty() { + struct_ser.serialize_field("enumType", &self.enum_type)?; + } + if !self.service.is_empty() { + struct_ser.serialize_field("service", &self.service)?; + } + if !self.extension.is_empty() { + struct_ser.serialize_field("extension", &self.extension)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + if let Some(v) = self.source_code_info.as_ref() { + struct_ser.serialize_field("sourceCodeInfo", v)?; + } + if let Some(v) = self.syntax.as_ref() { + struct_ser.serialize_field("syntax", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FileDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "package", + "dependency", + "public_dependency", + "publicDependency", + "weak_dependency", + "weakDependency", + "message_type", + "messageType", + "enum_type", + "enumType", + "service", + "extension", + "options", + "source_code_info", + "sourceCodeInfo", + "syntax", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Package, + Dependency, + PublicDependency, + WeakDependency, + MessageType, + EnumType, + Service, + Extension, + Options, + SourceCodeInfo, + Syntax, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "package" => Ok(GeneratedField::Package), + "dependency" => Ok(GeneratedField::Dependency), + "publicDependency" | "public_dependency" => Ok(GeneratedField::PublicDependency), + "weakDependency" | "weak_dependency" => Ok(GeneratedField::WeakDependency), + "messageType" | "message_type" => Ok(GeneratedField::MessageType), + "enumType" | "enum_type" => Ok(GeneratedField::EnumType), + "service" => Ok(GeneratedField::Service), + "extension" => Ok(GeneratedField::Extension), + "options" => Ok(GeneratedField::Options), + "sourceCodeInfo" | "source_code_info" => Ok(GeneratedField::SourceCodeInfo), + "syntax" => Ok(GeneratedField::Syntax), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FileDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.FileDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut package__ = None; + let mut dependency__ = None; + let mut public_dependency__ = None; + let mut weak_dependency__ = None; + let mut message_type__ = None; + let mut enum_type__ = None; + let mut service__ = None; + let mut extension__ = None; + let mut options__ = None; + let mut source_code_info__ = None; + let mut syntax__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Package => { + if package__.is_some() { + return Err(serde::de::Error::duplicate_field("package")); + } + package__ = map_.next_value()?; + } + GeneratedField::Dependency => { + if dependency__.is_some() { + return Err(serde::de::Error::duplicate_field("dependency")); + } + dependency__ = Some(map_.next_value()?); + } + GeneratedField::PublicDependency => { + if public_dependency__.is_some() { + return Err(serde::de::Error::duplicate_field("publicDependency")); + } + public_dependency__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::WeakDependency => { + if weak_dependency__.is_some() { + return Err(serde::de::Error::duplicate_field("weakDependency")); + } + weak_dependency__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::MessageType => { + if message_type__.is_some() { + return Err(serde::de::Error::duplicate_field("messageType")); + } + message_type__ = Some(map_.next_value()?); + } + GeneratedField::EnumType => { + if enum_type__.is_some() { + return Err(serde::de::Error::duplicate_field("enumType")); + } + enum_type__ = Some(map_.next_value()?); + } + GeneratedField::Service => { + if service__.is_some() { + return Err(serde::de::Error::duplicate_field("service")); + } + service__ = Some(map_.next_value()?); + } + GeneratedField::Extension => { + if extension__.is_some() { + return Err(serde::de::Error::duplicate_field("extension")); + } + extension__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + GeneratedField::SourceCodeInfo => { + if source_code_info__.is_some() { + return Err(serde::de::Error::duplicate_field("sourceCodeInfo")); + } + source_code_info__ = map_.next_value()?; + } + GeneratedField::Syntax => { + if syntax__.is_some() { + return Err(serde::de::Error::duplicate_field("syntax")); + } + syntax__ = map_.next_value()?; + } + } + } + Ok(FileDescriptorProto { + name: name__, + package: package__, + dependency: dependency__.unwrap_or_default(), + public_dependency: public_dependency__.unwrap_or_default(), + weak_dependency: weak_dependency__.unwrap_or_default(), + message_type: message_type__.unwrap_or_default(), + enum_type: enum_type__.unwrap_or_default(), + service: service__.unwrap_or_default(), + extension: extension__.unwrap_or_default(), + options: options__, + source_code_info: source_code_info__, + syntax: syntax__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.FileDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for FileDescriptorSet { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.file.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.FileDescriptorSet", len)?; + if !self.file.is_empty() { + struct_ser.serialize_field("file", &self.file)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FileDescriptorSet { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "file", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + File, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "file" => Ok(GeneratedField::File), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FileDescriptorSet; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.FileDescriptorSet") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut file__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::File => { + if file__.is_some() { + return Err(serde::de::Error::duplicate_field("file")); + } + file__ = Some(map_.next_value()?); + } + } + } + Ok(FileDescriptorSet { + file: file__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.FileDescriptorSet", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for FileOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.java_package.is_some() { + len += 1; + } + if self.java_outer_classname.is_some() { + len += 1; + } + if self.java_multiple_files.is_some() { + len += 1; + } + if self.java_generate_equals_and_hash.is_some() { + len += 1; + } + if self.java_string_check_utf8.is_some() { + len += 1; + } + if self.optimize_for.is_some() { + len += 1; + } + if self.go_package.is_some() { + len += 1; + } + if self.cc_generic_services.is_some() { + len += 1; + } + if self.java_generic_services.is_some() { + len += 1; + } + if self.py_generic_services.is_some() { + len += 1; + } + if self.php_generic_services.is_some() { + len += 1; + } + if self.deprecated.is_some() { + len += 1; + } + if self.cc_enable_arenas.is_some() { + len += 1; + } + if self.objc_class_prefix.is_some() { + len += 1; + } + if self.csharp_namespace.is_some() { + len += 1; + } + if self.swift_prefix.is_some() { + len += 1; + } + if self.php_class_prefix.is_some() { + len += 1; + } + if self.php_namespace.is_some() { + len += 1; + } + if self.php_metadata_namespace.is_some() { + len += 1; + } + if self.ruby_package.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.FileOptions", len)?; + if let Some(v) = self.java_package.as_ref() { + struct_ser.serialize_field("javaPackage", v)?; + } + if let Some(v) = self.java_outer_classname.as_ref() { + struct_ser.serialize_field("javaOuterClassname", v)?; + } + if let Some(v) = self.java_multiple_files.as_ref() { + struct_ser.serialize_field("javaMultipleFiles", v)?; + } + if let Some(v) = self.java_generate_equals_and_hash.as_ref() { + struct_ser.serialize_field("javaGenerateEqualsAndHash", v)?; + } + if let Some(v) = self.java_string_check_utf8.as_ref() { + struct_ser.serialize_field("javaStringCheckUtf8", v)?; + } + if let Some(v) = self.optimize_for.as_ref() { + let v = file_options::OptimizeMode::try_from(*v) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + struct_ser.serialize_field("optimizeFor", &v)?; + } + if let Some(v) = self.go_package.as_ref() { + struct_ser.serialize_field("goPackage", v)?; + } + if let Some(v) = self.cc_generic_services.as_ref() { + struct_ser.serialize_field("ccGenericServices", v)?; + } + if let Some(v) = self.java_generic_services.as_ref() { + struct_ser.serialize_field("javaGenericServices", v)?; + } + if let Some(v) = self.py_generic_services.as_ref() { + struct_ser.serialize_field("pyGenericServices", v)?; + } + if let Some(v) = self.php_generic_services.as_ref() { + struct_ser.serialize_field("phpGenericServices", v)?; + } + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if let Some(v) = self.cc_enable_arenas.as_ref() { + struct_ser.serialize_field("ccEnableArenas", v)?; + } + if let Some(v) = self.objc_class_prefix.as_ref() { + struct_ser.serialize_field("objcClassPrefix", v)?; + } + if let Some(v) = self.csharp_namespace.as_ref() { + struct_ser.serialize_field("csharpNamespace", v)?; + } + if let Some(v) = self.swift_prefix.as_ref() { + struct_ser.serialize_field("swiftPrefix", v)?; + } + if let Some(v) = self.php_class_prefix.as_ref() { + struct_ser.serialize_field("phpClassPrefix", v)?; + } + if let Some(v) = self.php_namespace.as_ref() { + struct_ser.serialize_field("phpNamespace", v)?; + } + if let Some(v) = self.php_metadata_namespace.as_ref() { + struct_ser.serialize_field("phpMetadataNamespace", v)?; + } + if let Some(v) = self.ruby_package.as_ref() { + struct_ser.serialize_field("rubyPackage", v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FileOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "java_package", + "javaPackage", + "java_outer_classname", + "javaOuterClassname", + "java_multiple_files", + "javaMultipleFiles", + "java_generate_equals_and_hash", + "javaGenerateEqualsAndHash", + "java_string_check_utf8", + "javaStringCheckUtf8", + "optimize_for", + "optimizeFor", + "go_package", + "goPackage", + "cc_generic_services", + "ccGenericServices", + "java_generic_services", + "javaGenericServices", + "py_generic_services", + "pyGenericServices", + "php_generic_services", + "phpGenericServices", + "deprecated", + "cc_enable_arenas", + "ccEnableArenas", + "objc_class_prefix", + "objcClassPrefix", + "csharp_namespace", + "csharpNamespace", + "swift_prefix", + "swiftPrefix", + "php_class_prefix", + "phpClassPrefix", + "php_namespace", + "phpNamespace", + "php_metadata_namespace", + "phpMetadataNamespace", + "ruby_package", + "rubyPackage", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + JavaPackage, + JavaOuterClassname, + JavaMultipleFiles, + JavaGenerateEqualsAndHash, + JavaStringCheckUtf8, + OptimizeFor, + GoPackage, + CcGenericServices, + JavaGenericServices, + PyGenericServices, + PhpGenericServices, + Deprecated, + CcEnableArenas, + ObjcClassPrefix, + CsharpNamespace, + SwiftPrefix, + PhpClassPrefix, + PhpNamespace, + PhpMetadataNamespace, + RubyPackage, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "javaPackage" | "java_package" => Ok(GeneratedField::JavaPackage), + "javaOuterClassname" | "java_outer_classname" => Ok(GeneratedField::JavaOuterClassname), + "javaMultipleFiles" | "java_multiple_files" => Ok(GeneratedField::JavaMultipleFiles), + "javaGenerateEqualsAndHash" | "java_generate_equals_and_hash" => Ok(GeneratedField::JavaGenerateEqualsAndHash), + "javaStringCheckUtf8" | "java_string_check_utf8" => Ok(GeneratedField::JavaStringCheckUtf8), + "optimizeFor" | "optimize_for" => Ok(GeneratedField::OptimizeFor), + "goPackage" | "go_package" => Ok(GeneratedField::GoPackage), + "ccGenericServices" | "cc_generic_services" => Ok(GeneratedField::CcGenericServices), + "javaGenericServices" | "java_generic_services" => Ok(GeneratedField::JavaGenericServices), + "pyGenericServices" | "py_generic_services" => Ok(GeneratedField::PyGenericServices), + "phpGenericServices" | "php_generic_services" => Ok(GeneratedField::PhpGenericServices), + "deprecated" => Ok(GeneratedField::Deprecated), + "ccEnableArenas" | "cc_enable_arenas" => Ok(GeneratedField::CcEnableArenas), + "objcClassPrefix" | "objc_class_prefix" => Ok(GeneratedField::ObjcClassPrefix), + "csharpNamespace" | "csharp_namespace" => Ok(GeneratedField::CsharpNamespace), + "swiftPrefix" | "swift_prefix" => Ok(GeneratedField::SwiftPrefix), + "phpClassPrefix" | "php_class_prefix" => Ok(GeneratedField::PhpClassPrefix), + "phpNamespace" | "php_namespace" => Ok(GeneratedField::PhpNamespace), + "phpMetadataNamespace" | "php_metadata_namespace" => Ok(GeneratedField::PhpMetadataNamespace), + "rubyPackage" | "ruby_package" => Ok(GeneratedField::RubyPackage), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FileOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.FileOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut java_package__ = None; + let mut java_outer_classname__ = None; + let mut java_multiple_files__ = None; + let mut java_generate_equals_and_hash__ = None; + let mut java_string_check_utf8__ = None; + let mut optimize_for__ = None; + let mut go_package__ = None; + let mut cc_generic_services__ = None; + let mut java_generic_services__ = None; + let mut py_generic_services__ = None; + let mut php_generic_services__ = None; + let mut deprecated__ = None; + let mut cc_enable_arenas__ = None; + let mut objc_class_prefix__ = None; + let mut csharp_namespace__ = None; + let mut swift_prefix__ = None; + let mut php_class_prefix__ = None; + let mut php_namespace__ = None; + let mut php_metadata_namespace__ = None; + let mut ruby_package__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::JavaPackage => { + if java_package__.is_some() { + return Err(serde::de::Error::duplicate_field("javaPackage")); + } + java_package__ = map_.next_value()?; + } + GeneratedField::JavaOuterClassname => { + if java_outer_classname__.is_some() { + return Err(serde::de::Error::duplicate_field("javaOuterClassname")); + } + java_outer_classname__ = map_.next_value()?; + } + GeneratedField::JavaMultipleFiles => { + if java_multiple_files__.is_some() { + return Err(serde::de::Error::duplicate_field("javaMultipleFiles")); + } + java_multiple_files__ = map_.next_value()?; + } + GeneratedField::JavaGenerateEqualsAndHash => { + if java_generate_equals_and_hash__.is_some() { + return Err(serde::de::Error::duplicate_field("javaGenerateEqualsAndHash")); + } + java_generate_equals_and_hash__ = map_.next_value()?; + } + GeneratedField::JavaStringCheckUtf8 => { + if java_string_check_utf8__.is_some() { + return Err(serde::de::Error::duplicate_field("javaStringCheckUtf8")); + } + java_string_check_utf8__ = map_.next_value()?; + } + GeneratedField::OptimizeFor => { + if optimize_for__.is_some() { + return Err(serde::de::Error::duplicate_field("optimizeFor")); + } + optimize_for__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + } + GeneratedField::GoPackage => { + if go_package__.is_some() { + return Err(serde::de::Error::duplicate_field("goPackage")); + } + go_package__ = map_.next_value()?; + } + GeneratedField::CcGenericServices => { + if cc_generic_services__.is_some() { + return Err(serde::de::Error::duplicate_field("ccGenericServices")); + } + cc_generic_services__ = map_.next_value()?; + } + GeneratedField::JavaGenericServices => { + if java_generic_services__.is_some() { + return Err(serde::de::Error::duplicate_field("javaGenericServices")); + } + java_generic_services__ = map_.next_value()?; + } + GeneratedField::PyGenericServices => { + if py_generic_services__.is_some() { + return Err(serde::de::Error::duplicate_field("pyGenericServices")); + } + py_generic_services__ = map_.next_value()?; + } + GeneratedField::PhpGenericServices => { + if php_generic_services__.is_some() { + return Err(serde::de::Error::duplicate_field("phpGenericServices")); + } + php_generic_services__ = map_.next_value()?; + } + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::CcEnableArenas => { + if cc_enable_arenas__.is_some() { + return Err(serde::de::Error::duplicate_field("ccEnableArenas")); + } + cc_enable_arenas__ = map_.next_value()?; + } + GeneratedField::ObjcClassPrefix => { + if objc_class_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("objcClassPrefix")); + } + objc_class_prefix__ = map_.next_value()?; + } + GeneratedField::CsharpNamespace => { + if csharp_namespace__.is_some() { + return Err(serde::de::Error::duplicate_field("csharpNamespace")); + } + csharp_namespace__ = map_.next_value()?; + } + GeneratedField::SwiftPrefix => { + if swift_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("swiftPrefix")); + } + swift_prefix__ = map_.next_value()?; + } + GeneratedField::PhpClassPrefix => { + if php_class_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("phpClassPrefix")); + } + php_class_prefix__ = map_.next_value()?; + } + GeneratedField::PhpNamespace => { + if php_namespace__.is_some() { + return Err(serde::de::Error::duplicate_field("phpNamespace")); + } + php_namespace__ = map_.next_value()?; + } + GeneratedField::PhpMetadataNamespace => { + if php_metadata_namespace__.is_some() { + return Err(serde::de::Error::duplicate_field("phpMetadataNamespace")); + } + php_metadata_namespace__ = map_.next_value()?; + } + GeneratedField::RubyPackage => { + if ruby_package__.is_some() { + return Err(serde::de::Error::duplicate_field("rubyPackage")); + } + ruby_package__ = map_.next_value()?; + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(FileOptions { + java_package: java_package__, + java_outer_classname: java_outer_classname__, + java_multiple_files: java_multiple_files__, + java_generate_equals_and_hash: java_generate_equals_and_hash__, + java_string_check_utf8: java_string_check_utf8__, + optimize_for: optimize_for__, + go_package: go_package__, + cc_generic_services: cc_generic_services__, + java_generic_services: java_generic_services__, + py_generic_services: py_generic_services__, + php_generic_services: php_generic_services__, + deprecated: deprecated__, + cc_enable_arenas: cc_enable_arenas__, + objc_class_prefix: objc_class_prefix__, + csharp_namespace: csharp_namespace__, + swift_prefix: swift_prefix__, + php_class_prefix: php_class_prefix__, + php_namespace: php_namespace__, + php_metadata_namespace: php_metadata_namespace__, + ruby_package: ruby_package__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.FileOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for file_options::OptimizeMode { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Speed => "SPEED", + Self::CodeSize => "CODE_SIZE", + Self::LiteRuntime => "LITE_RUNTIME", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for file_options::OptimizeMode { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "SPEED", + "CODE_SIZE", + "LITE_RUNTIME", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = file_options::OptimizeMode; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "SPEED" => Ok(file_options::OptimizeMode::Speed), + "CODE_SIZE" => Ok(file_options::OptimizeMode::CodeSize), + "LITE_RUNTIME" => Ok(file_options::OptimizeMode::LiteRuntime), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for GeneratedCodeInfo { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.annotation.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.GeneratedCodeInfo", len)?; + if !self.annotation.is_empty() { + struct_ser.serialize_field("annotation", &self.annotation)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GeneratedCodeInfo { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "annotation", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Annotation, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "annotation" => Ok(GeneratedField::Annotation), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedCodeInfo; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.GeneratedCodeInfo") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut annotation__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Annotation => { + if annotation__.is_some() { + return Err(serde::de::Error::duplicate_field("annotation")); + } + annotation__ = Some(map_.next_value()?); + } + } + } + Ok(GeneratedCodeInfo { + annotation: annotation__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.GeneratedCodeInfo", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for generated_code_info::Annotation { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.source_file.is_some() { + len += 1; + } + if self.begin.is_some() { + len += 1; + } + if self.end.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.GeneratedCodeInfo.Annotation", len)?; + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + if let Some(v) = self.source_file.as_ref() { + struct_ser.serialize_field("sourceFile", v)?; + } + if let Some(v) = self.begin.as_ref() { + struct_ser.serialize_field("begin", v)?; + } + if let Some(v) = self.end.as_ref() { + struct_ser.serialize_field("end", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "source_file", + "sourceFile", + "begin", + "end", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + SourceFile, + Begin, + End, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "sourceFile" | "source_file" => Ok(GeneratedField::SourceFile), + "begin" => Ok(GeneratedField::Begin), + "end" => Ok(GeneratedField::End), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = generated_code_info::Annotation; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.GeneratedCodeInfo.Annotation") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut source_file__ = None; + let mut begin__ = None; + let mut end__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::SourceFile => { + if source_file__.is_some() { + return Err(serde::de::Error::duplicate_field("sourceFile")); + } + source_file__ = map_.next_value()?; + } + GeneratedField::Begin => { + if begin__.is_some() { + return Err(serde::de::Error::duplicate_field("begin")); + } + begin__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::End => { + if end__.is_some() { + return Err(serde::de::Error::duplicate_field("end")); + } + end__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + } + } + Ok(generated_code_info::Annotation { + path: path__.unwrap_or_default(), + source_file: source_file__, + begin: begin__, + end: end__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.GeneratedCodeInfo.Annotation", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MessageOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.message_set_wire_format.is_some() { + len += 1; + } + if self.no_standard_descriptor_accessor.is_some() { + len += 1; + } + if self.deprecated.is_some() { + len += 1; + } + if self.map_entry.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.MessageOptions", len)?; + if let Some(v) = self.message_set_wire_format.as_ref() { + struct_ser.serialize_field("messageSetWireFormat", v)?; + } + if let Some(v) = self.no_standard_descriptor_accessor.as_ref() { + struct_ser.serialize_field("noStandardDescriptorAccessor", v)?; + } + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if let Some(v) = self.map_entry.as_ref() { + struct_ser.serialize_field("mapEntry", v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MessageOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "message_set_wire_format", + "messageSetWireFormat", + "no_standard_descriptor_accessor", + "noStandardDescriptorAccessor", + "deprecated", + "map_entry", + "mapEntry", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MessageSetWireFormat, + NoStandardDescriptorAccessor, + Deprecated, + MapEntry, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "messageSetWireFormat" | "message_set_wire_format" => Ok(GeneratedField::MessageSetWireFormat), + "noStandardDescriptorAccessor" | "no_standard_descriptor_accessor" => Ok(GeneratedField::NoStandardDescriptorAccessor), + "deprecated" => Ok(GeneratedField::Deprecated), + "mapEntry" | "map_entry" => Ok(GeneratedField::MapEntry), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MessageOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.MessageOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut message_set_wire_format__ = None; + let mut no_standard_descriptor_accessor__ = None; + let mut deprecated__ = None; + let mut map_entry__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MessageSetWireFormat => { + if message_set_wire_format__.is_some() { + return Err(serde::de::Error::duplicate_field("messageSetWireFormat")); + } + message_set_wire_format__ = map_.next_value()?; + } + GeneratedField::NoStandardDescriptorAccessor => { + if no_standard_descriptor_accessor__.is_some() { + return Err(serde::de::Error::duplicate_field("noStandardDescriptorAccessor")); + } + no_standard_descriptor_accessor__ = map_.next_value()?; + } + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::MapEntry => { + if map_entry__.is_some() { + return Err(serde::de::Error::duplicate_field("mapEntry")); + } + map_entry__ = map_.next_value()?; + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(MessageOptions { + message_set_wire_format: message_set_wire_format__, + no_standard_descriptor_accessor: no_standard_descriptor_accessor__, + deprecated: deprecated__, + map_entry: map_entry__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.MessageOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MethodDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if self.input_type.is_some() { + len += 1; + } + if self.output_type.is_some() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + if self.client_streaming.is_some() { + len += 1; + } + if self.server_streaming.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.MethodDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if let Some(v) = self.input_type.as_ref() { + struct_ser.serialize_field("inputType", v)?; + } + if let Some(v) = self.output_type.as_ref() { + struct_ser.serialize_field("outputType", v)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + if let Some(v) = self.client_streaming.as_ref() { + struct_ser.serialize_field("clientStreaming", v)?; + } + if let Some(v) = self.server_streaming.as_ref() { + struct_ser.serialize_field("serverStreaming", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "input_type", + "inputType", + "output_type", + "outputType", + "options", + "client_streaming", + "clientStreaming", + "server_streaming", + "serverStreaming", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + InputType, + OutputType, + Options, + ClientStreaming, + ServerStreaming, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "inputType" | "input_type" => Ok(GeneratedField::InputType), + "outputType" | "output_type" => Ok(GeneratedField::OutputType), + "options" => Ok(GeneratedField::Options), + "clientStreaming" | "client_streaming" => Ok(GeneratedField::ClientStreaming), + "serverStreaming" | "server_streaming" => Ok(GeneratedField::ServerStreaming), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MethodDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.MethodDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut input_type__ = None; + let mut output_type__ = None; + let mut options__ = None; + let mut client_streaming__ = None; + let mut server_streaming__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::InputType => { + if input_type__.is_some() { + return Err(serde::de::Error::duplicate_field("inputType")); + } + input_type__ = map_.next_value()?; + } + GeneratedField::OutputType => { + if output_type__.is_some() { + return Err(serde::de::Error::duplicate_field("outputType")); + } + output_type__ = map_.next_value()?; + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + GeneratedField::ClientStreaming => { + if client_streaming__.is_some() { + return Err(serde::de::Error::duplicate_field("clientStreaming")); + } + client_streaming__ = map_.next_value()?; + } + GeneratedField::ServerStreaming => { + if server_streaming__.is_some() { + return Err(serde::de::Error::duplicate_field("serverStreaming")); + } + server_streaming__ = map_.next_value()?; + } + } + } + Ok(MethodDescriptorProto { + name: name__, + input_type: input_type__, + output_type: output_type__, + options: options__, + client_streaming: client_streaming__, + server_streaming: server_streaming__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.MethodDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MethodOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.deprecated.is_some() { + len += 1; + } + if self.idempotency_level.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.MethodOptions", len)?; + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if let Some(v) = self.idempotency_level.as_ref() { + let v = method_options::IdempotencyLevel::try_from(*v) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + struct_ser.serialize_field("idempotencyLevel", &v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MethodOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deprecated", + "idempotency_level", + "idempotencyLevel", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deprecated, + IdempotencyLevel, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deprecated" => Ok(GeneratedField::Deprecated), + "idempotencyLevel" | "idempotency_level" => Ok(GeneratedField::IdempotencyLevel), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MethodOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.MethodOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deprecated__ = None; + let mut idempotency_level__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::IdempotencyLevel => { + if idempotency_level__.is_some() { + return Err(serde::de::Error::duplicate_field("idempotencyLevel")); + } + idempotency_level__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(MethodOptions { + deprecated: deprecated__, + idempotency_level: idempotency_level__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.MethodOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for method_options::IdempotencyLevel { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::IdempotencyUnknown => "IDEMPOTENCY_UNKNOWN", + Self::NoSideEffects => "NO_SIDE_EFFECTS", + Self::Idempotent => "IDEMPOTENT", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for method_options::IdempotencyLevel { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "IDEMPOTENCY_UNKNOWN", + "NO_SIDE_EFFECTS", + "IDEMPOTENT", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = method_options::IdempotencyLevel; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "IDEMPOTENCY_UNKNOWN" => Ok(method_options::IdempotencyLevel::IdempotencyUnknown), + "NO_SIDE_EFFECTS" => Ok(method_options::IdempotencyLevel::NoSideEffects), + "IDEMPOTENT" => Ok(method_options::IdempotencyLevel::Idempotent), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for OneofDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.OneofDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for OneofDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "options", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Options, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "options" => Ok(GeneratedField::Options), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = OneofDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.OneofDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut options__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + } + } + Ok(OneofDescriptorProto { + name: name__, + options: options__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.OneofDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for OneofOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.OneofOptions", len)?; + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for OneofOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = OneofOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.OneofOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(OneofOptions { + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.OneofOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ServiceDescriptorProto { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.name.is_some() { + len += 1; + } + if !self.method.is_empty() { + len += 1; + } + if self.options.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.ServiceDescriptorProto", len)?; + if let Some(v) = self.name.as_ref() { + struct_ser.serialize_field("name", v)?; + } + if !self.method.is_empty() { + struct_ser.serialize_field("method", &self.method)?; + } + if let Some(v) = self.options.as_ref() { + struct_ser.serialize_field("options", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ServiceDescriptorProto { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "method", + "options", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + Method, + Options, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "method" => Ok(GeneratedField::Method), + "options" => Ok(GeneratedField::Options), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ServiceDescriptorProto; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.ServiceDescriptorProto") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut method__ = None; + let mut options__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = map_.next_value()?; + } + GeneratedField::Method => { + if method__.is_some() { + return Err(serde::de::Error::duplicate_field("method")); + } + method__ = Some(map_.next_value()?); + } + GeneratedField::Options => { + if options__.is_some() { + return Err(serde::de::Error::duplicate_field("options")); + } + options__ = map_.next_value()?; + } + } + } + Ok(ServiceDescriptorProto { + name: name__, + method: method__.unwrap_or_default(), + options: options__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.ServiceDescriptorProto", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ServiceOptions { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.deprecated.is_some() { + len += 1; + } + if !self.uninterpreted_option.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.ServiceOptions", len)?; + if let Some(v) = self.deprecated.as_ref() { + struct_ser.serialize_field("deprecated", v)?; + } + if !self.uninterpreted_option.is_empty() { + struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ServiceOptions { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "deprecated", + "uninterpreted_option", + "uninterpretedOption", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Deprecated, + UninterpretedOption, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "deprecated" => Ok(GeneratedField::Deprecated), + "uninterpretedOption" | "uninterpreted_option" => Ok(GeneratedField::UninterpretedOption), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ServiceOptions; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.ServiceOptions") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut deprecated__ = None; + let mut uninterpreted_option__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Deprecated => { + if deprecated__.is_some() { + return Err(serde::de::Error::duplicate_field("deprecated")); + } + deprecated__ = map_.next_value()?; + } + GeneratedField::UninterpretedOption => { + if uninterpreted_option__.is_some() { + return Err(serde::de::Error::duplicate_field("uninterpretedOption")); + } + uninterpreted_option__ = Some(map_.next_value()?); + } + } + } + Ok(ServiceOptions { + deprecated: deprecated__, + uninterpreted_option: uninterpreted_option__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.ServiceOptions", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SourceCodeInfo { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.location.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.SourceCodeInfo", len)?; + if !self.location.is_empty() { + struct_ser.serialize_field("location", &self.location)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SourceCodeInfo { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "location", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Location, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "location" => Ok(GeneratedField::Location), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SourceCodeInfo; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.SourceCodeInfo") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut location__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Location => { + if location__.is_some() { + return Err(serde::de::Error::duplicate_field("location")); + } + location__ = Some(map_.next_value()?); + } + } + } + Ok(SourceCodeInfo { + location: location__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.SourceCodeInfo", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for source_code_info::Location { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if !self.span.is_empty() { + len += 1; + } + if self.leading_comments.is_some() { + len += 1; + } + if self.trailing_comments.is_some() { + len += 1; + } + if !self.leading_detached_comments.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.SourceCodeInfo.Location", len)?; + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + if !self.span.is_empty() { + struct_ser.serialize_field("span", &self.span)?; + } + if let Some(v) = self.leading_comments.as_ref() { + struct_ser.serialize_field("leadingComments", v)?; + } + if let Some(v) = self.trailing_comments.as_ref() { + struct_ser.serialize_field("trailingComments", v)?; + } + if !self.leading_detached_comments.is_empty() { + struct_ser.serialize_field("leadingDetachedComments", &self.leading_detached_comments)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for source_code_info::Location { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "span", + "leading_comments", + "leadingComments", + "trailing_comments", + "trailingComments", + "leading_detached_comments", + "leadingDetachedComments", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + Span, + LeadingComments, + TrailingComments, + LeadingDetachedComments, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "span" => Ok(GeneratedField::Span), + "leadingComments" | "leading_comments" => Ok(GeneratedField::LeadingComments), + "trailingComments" | "trailing_comments" => Ok(GeneratedField::TrailingComments), + "leadingDetachedComments" | "leading_detached_comments" => Ok(GeneratedField::LeadingDetachedComments), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = source_code_info::Location; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.SourceCodeInfo.Location") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut span__ = None; + let mut leading_comments__ = None; + let mut trailing_comments__ = None; + let mut leading_detached_comments__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::Span => { + if span__.is_some() { + return Err(serde::de::Error::duplicate_field("span")); + } + span__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::LeadingComments => { + if leading_comments__.is_some() { + return Err(serde::de::Error::duplicate_field("leadingComments")); + } + leading_comments__ = map_.next_value()?; + } + GeneratedField::TrailingComments => { + if trailing_comments__.is_some() { + return Err(serde::de::Error::duplicate_field("trailingComments")); + } + trailing_comments__ = map_.next_value()?; + } + GeneratedField::LeadingDetachedComments => { + if leading_detached_comments__.is_some() { + return Err(serde::de::Error::duplicate_field("leadingDetachedComments")); + } + leading_detached_comments__ = Some(map_.next_value()?); + } + } + } + Ok(source_code_info::Location { + path: path__.unwrap_or_default(), + span: span__.unwrap_or_default(), + leading_comments: leading_comments__, + trailing_comments: trailing_comments__, + leading_detached_comments: leading_detached_comments__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.SourceCodeInfo.Location", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Timestamp { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.seconds != 0 { + len += 1; + } + if self.nanos != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.Timestamp", len)?; + if self.seconds != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("seconds", ToString::to_string(&self.seconds).as_str())?; + } + if self.nanos != 0 { + struct_ser.serialize_field("nanos", &self.nanos)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Timestamp { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "seconds", + "nanos", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Seconds, + Nanos, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "seconds" => Ok(GeneratedField::Seconds), + "nanos" => Ok(GeneratedField::Nanos), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Timestamp; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.Timestamp") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut seconds__ = None; + let mut nanos__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Seconds => { + if seconds__.is_some() { + return Err(serde::de::Error::duplicate_field("seconds")); + } + seconds__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Nanos => { + if nanos__.is_some() { + return Err(serde::de::Error::duplicate_field("nanos")); + } + nanos__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Timestamp { + seconds: seconds__.unwrap_or_default(), + nanos: nanos__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("google.protobuf.Timestamp", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for UninterpretedOption { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.name.is_empty() { + len += 1; + } + if self.identifier_value.is_some() { + len += 1; + } + if self.positive_int_value.is_some() { + len += 1; + } + if self.negative_int_value.is_some() { + len += 1; + } + if self.double_value.is_some() { + len += 1; + } + if self.string_value.is_some() { + len += 1; + } + if self.aggregate_value.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("google.protobuf.UninterpretedOption", len)?; + if !self.name.is_empty() { + struct_ser.serialize_field("name", &self.name)?; + } + if let Some(v) = self.identifier_value.as_ref() { + struct_ser.serialize_field("identifierValue", v)?; + } + if let Some(v) = self.positive_int_value.as_ref() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("positiveIntValue", ToString::to_string(&v).as_str())?; + } + if let Some(v) = self.negative_int_value.as_ref() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("negativeIntValue", ToString::to_string(&v).as_str())?; + } + if let Some(v) = self.double_value.as_ref() { + struct_ser.serialize_field("doubleValue", v)?; + } + if let Some(v) = self.string_value.as_ref() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("stringValue", pbjson::private::base64::encode(&v).as_str())?; + } + if let Some(v) = self.aggregate_value.as_ref() { + struct_ser.serialize_field("aggregateValue", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for UninterpretedOption { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name", + "identifier_value", + "identifierValue", + "positive_int_value", + "positiveIntValue", + "negative_int_value", + "negativeIntValue", + "double_value", + "doubleValue", + "string_value", + "stringValue", + "aggregate_value", + "aggregateValue", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Name, + IdentifierValue, + PositiveIntValue, + NegativeIntValue, + DoubleValue, + StringValue, + AggregateValue, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "name" => Ok(GeneratedField::Name), + "identifierValue" | "identifier_value" => Ok(GeneratedField::IdentifierValue), + "positiveIntValue" | "positive_int_value" => Ok(GeneratedField::PositiveIntValue), + "negativeIntValue" | "negative_int_value" => Ok(GeneratedField::NegativeIntValue), + "doubleValue" | "double_value" => Ok(GeneratedField::DoubleValue), + "stringValue" | "string_value" => Ok(GeneratedField::StringValue), + "aggregateValue" | "aggregate_value" => Ok(GeneratedField::AggregateValue), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = UninterpretedOption; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.UninterpretedOption") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name__ = None; + let mut identifier_value__ = None; + let mut positive_int_value__ = None; + let mut negative_int_value__ = None; + let mut double_value__ = None; + let mut string_value__ = None; + let mut aggregate_value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Name => { + if name__.is_some() { + return Err(serde::de::Error::duplicate_field("name")); + } + name__ = Some(map_.next_value()?); + } + GeneratedField::IdentifierValue => { + if identifier_value__.is_some() { + return Err(serde::de::Error::duplicate_field("identifierValue")); + } + identifier_value__ = map_.next_value()?; + } + GeneratedField::PositiveIntValue => { + if positive_int_value__.is_some() { + return Err(serde::de::Error::duplicate_field("positiveIntValue")); + } + positive_int_value__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::NegativeIntValue => { + if negative_int_value__.is_some() { + return Err(serde::de::Error::duplicate_field("negativeIntValue")); + } + negative_int_value__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::DoubleValue => { + if double_value__.is_some() { + return Err(serde::de::Error::duplicate_field("doubleValue")); + } + double_value__ = + map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::StringValue => { + if string_value__.is_some() { + return Err(serde::de::Error::duplicate_field("stringValue")); + } + string_value__ = + map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) + ; + } + GeneratedField::AggregateValue => { + if aggregate_value__.is_some() { + return Err(serde::de::Error::duplicate_field("aggregateValue")); + } + aggregate_value__ = map_.next_value()?; + } + } + } + Ok(UninterpretedOption { + name: name__.unwrap_or_default(), + identifier_value: identifier_value__, + positive_int_value: positive_int_value__, + negative_int_value: negative_int_value__, + double_value: double_value__, + string_value: string_value__, + aggregate_value: aggregate_value__, + }) + } + } + deserializer.deserialize_struct("google.protobuf.UninterpretedOption", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for uninterpreted_option::NamePart { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 2; + let mut struct_ser = serializer.serialize_struct("google.protobuf.UninterpretedOption.NamePart", len)?; + struct_ser.serialize_field("namePart", &self.name_part)?; + struct_ser.serialize_field("isExtension", &self.is_extension)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for uninterpreted_option::NamePart { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "name_part", + "namePart", + "is_extension", + "isExtension", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NamePart, + IsExtension, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "namePart" | "name_part" => Ok(GeneratedField::NamePart), + "isExtension" | "is_extension" => Ok(GeneratedField::IsExtension), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = uninterpreted_option::NamePart; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct google.protobuf.UninterpretedOption.NamePart") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut name_part__ = None; + let mut is_extension__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NamePart => { + if name_part__.is_some() { + return Err(serde::de::Error::duplicate_field("namePart")); + } + name_part__ = Some(map_.next_value()?); + } + GeneratedField::IsExtension => { + if is_extension__.is_some() { + return Err(serde::de::Error::duplicate_field("isExtension")); + } + is_extension__ = Some(map_.next_value()?); + } + } + } + Ok(uninterpreted_option::NamePart { + name_part: name_part__.ok_or_else(|| serde::de::Error::missing_field("namePart"))?, + is_extension: is_extension__.ok_or_else(|| serde::de::Error::missing_field("isExtension"))?, + }) + } + } + deserializer.deserialize_struct("google.protobuf.UninterpretedOption.NamePart", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.fee.v1.rs b/src/prost/ibc.applications.fee.v1.rs new file mode 100644 index 00000000..9d798dce --- /dev/null +++ b/src/prost/ibc.applications.fee.v1.rs @@ -0,0 +1,2367 @@ +/// Fee defines the ICS29 receive, acknowledgement and timeout fees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fee { + /// the packet receive fee + #[prost(message, repeated, tag = "1")] + pub recv_fee: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, + /// the packet acknowledgement fee + #[prost(message, repeated, tag = "2")] + pub ack_fee: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, + /// the packet timeout fee + #[prost(message, repeated, tag = "3")] + pub timeout_fee: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for Fee { + const NAME: &'static str = "Fee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// PacketFee contains ICS29 relayer fees, refund address and optional list of permitted relayers +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketFee { + /// fee encapsulates the recv, ack and timeout fees associated with an IBC packet + #[prost(message, optional, tag = "1")] + pub fee: ::core::option::Option, + /// the refund address for unspent fees + #[prost(string, tag = "2")] + pub refund_address: ::prost::alloc::string::String, + /// optional list of relayers permitted to receive fees + #[prost(string, repeated, tag = "3")] + pub relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for PacketFee { + const NAME: &'static str = "PacketFee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// PacketFees contains a list of type PacketFee +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketFees { + /// list of packet fees + #[prost(message, repeated, tag = "1")] + pub packet_fees: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PacketFees { + const NAME: &'static str = "PacketFees"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// IdentifiedPacketFees contains a list of type PacketFee and associated PacketId +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IdentifiedPacketFees { + /// unique packet identifier comprised of the channel ID, port ID and sequence + #[prost(message, optional, tag = "1")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, + /// list of packet fees + #[prost(message, repeated, tag = "2")] + pub packet_fees: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for IdentifiedPacketFees { + const NAME: &'static str = "IdentifiedPacketFees"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgRegisterPayee defines the request type for the RegisterPayee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRegisterPayee { + /// unique port identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// unique channel identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// the relayer address + #[prost(string, tag = "3")] + pub relayer: ::prost::alloc::string::String, + /// the payee address + #[prost(string, tag = "4")] + pub payee: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgRegisterPayee { + const NAME: &'static str = "MsgRegisterPayee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgRegisterPayeeResponse defines the response type for the RegisterPayee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRegisterPayeeResponse {} +impl ::prost::Name for MsgRegisterPayeeResponse { + const NAME: &'static str = "MsgRegisterPayeeResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgRegisterCounterpartyPayee defines the request type for the RegisterCounterpartyPayee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRegisterCounterpartyPayee { + /// unique port identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// unique channel identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// the relayer address + #[prost(string, tag = "3")] + pub relayer: ::prost::alloc::string::String, + /// the counterparty payee address + #[prost(string, tag = "4")] + pub counterparty_payee: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgRegisterCounterpartyPayee { + const NAME: &'static str = "MsgRegisterCounterpartyPayee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgRegisterCounterpartyPayeeResponse defines the response type for the RegisterCounterpartyPayee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRegisterCounterpartyPayeeResponse {} +impl ::prost::Name for MsgRegisterCounterpartyPayeeResponse { + const NAME: &'static str = "MsgRegisterCounterpartyPayeeResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgPayPacketFee defines the request type for the PayPacketFee rpc +/// This Msg can be used to pay for a packet at the next sequence send & should be combined with the Msg that will be +/// paid for +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgPayPacketFee { + /// fee encapsulates the recv, ack and timeout fees associated with an IBC packet + #[prost(message, optional, tag = "1")] + pub fee: ::core::option::Option, + /// the source port unique identifier + #[prost(string, tag = "2")] + pub source_port_id: ::prost::alloc::string::String, + /// the source channel unique identifer + #[prost(string, tag = "3")] + pub source_channel_id: ::prost::alloc::string::String, + /// account address to refund fee if necessary + #[prost(string, tag = "4")] + pub signer: ::prost::alloc::string::String, + /// optional list of relayers permitted to the receive packet fees + #[prost(string, repeated, tag = "5")] + pub relayers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for MsgPayPacketFee { + const NAME: &'static str = "MsgPayPacketFee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgPayPacketFeeResponse defines the response type for the PayPacketFee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgPayPacketFeeResponse {} +impl ::prost::Name for MsgPayPacketFeeResponse { + const NAME: &'static str = "MsgPayPacketFeeResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgPayPacketFeeAsync defines the request type for the PayPacketFeeAsync rpc +/// This Msg can be used to pay for a packet at a specified sequence (instead of the next sequence send) +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgPayPacketFeeAsync { + /// unique packet identifier comprised of the channel ID, port ID and sequence + #[prost(message, optional, tag = "1")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, + /// the packet fee associated with a particular IBC packet + #[prost(message, optional, tag = "2")] + pub packet_fee: ::core::option::Option, +} +impl ::prost::Name for MsgPayPacketFeeAsync { + const NAME: &'static str = "MsgPayPacketFeeAsync"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// MsgPayPacketFeeAsyncResponse defines the response type for the PayPacketFeeAsync rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgPayPacketFeeAsyncResponse {} +impl ::prost::Name for MsgPayPacketFeeAsyncResponse { + const NAME: &'static str = "MsgPayPacketFeeAsyncResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the ICS29 Msg service. + #[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 + } + /// RegisterPayee defines a rpc handler method for MsgRegisterPayee + /// RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional + /// payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on + /// the source chain from which packets originate as this is where fee distribution takes place. This function may be + /// called more than once by a relayer, in which case, the latest payee is always used. + pub async fn register_payee( + &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.applications.fee.v1.Msg/RegisterPayee", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.applications.fee.v1.Msg", "RegisterPayee")); + self.inner.unary(req, path, codec).await + } + /// RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee + /// RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty + /// payee address before relaying. This ensures they will be properly compensated for forward relaying since + /// the destination chain must include the registered counterparty payee address in the acknowledgement. This function + /// may be called more than once by a relayer, in which case, the latest counterparty payee address is always used. + pub async fn register_counterparty_payee( + &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.applications.fee.v1.Msg/RegisterCounterpartyPayee", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.fee.v1.Msg", + "RegisterCounterpartyPayee", + ), + ); + self.inner.unary(req, path, codec).await + } + /// PayPacketFee defines a rpc handler method for MsgPayPacketFee + /// PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to + /// incentivize the relaying of the packet at the next sequence + /// NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows + /// initiates the lifecycle of the incentivized packet + pub async fn pay_packet_fee( + &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.applications.fee.v1.Msg/PayPacketFee", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.applications.fee.v1.Msg", "PayPacketFee")); + self.inner.unary(req, path, codec).await + } + /// PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync + /// PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to + /// incentivize the relaying of a known packet (i.e. at a particular sequence) + pub async fn pay_packet_fee_async( + &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.applications.fee.v1.Msg/PayPacketFeeAsync", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.fee.v1.Msg", "PayPacketFeeAsync"), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// RegisterPayee defines a rpc handler method for MsgRegisterPayee + /// RegisterPayee is called by the relayer on each channelEnd and allows them to set an optional + /// payee to which reverse and timeout relayer packet fees will be paid out. The payee should be registered on + /// the source chain from which packets originate as this is where fee distribution takes place. This function may be + /// called more than once by a relayer, in which case, the latest payee is always used. + async fn register_payee( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// RegisterCounterpartyPayee defines a rpc handler method for MsgRegisterCounterpartyPayee + /// RegisterCounterpartyPayee is called by the relayer on each channelEnd and allows them to specify the counterparty + /// payee address before relaying. This ensures they will be properly compensated for forward relaying since + /// the destination chain must include the registered counterparty payee address in the acknowledgement. This function + /// may be called more than once by a relayer, in which case, the latest counterparty payee address is always used. + async fn register_counterparty_payee( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PayPacketFee defines a rpc handler method for MsgPayPacketFee + /// PayPacketFee is an open callback that may be called by any module/user that wishes to escrow funds in order to + /// incentivize the relaying of the packet at the next sequence + /// NOTE: This method is intended to be used within a multi msg transaction, where the subsequent msg that follows + /// initiates the lifecycle of the incentivized packet + async fn pay_packet_fee( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PayPacketFeeAsync defines a rpc handler method for MsgPayPacketFeeAsync + /// PayPacketFeeAsync is an open callback that may be called by any module/user that wishes to escrow funds in order to + /// incentivize the relaying of a known packet (i.e. at a particular sequence) + async fn pay_packet_fee_async( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the ICS29 Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.fee.v1.Msg/RegisterPayee" => { + #[allow(non_camel_case_types)] + struct RegisterPayeeSvc(pub Arc); + impl tonic::server::UnaryService + for RegisterPayeeSvc { + type Response = super::MsgRegisterPayeeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::register_payee(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = RegisterPayeeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee" => { + #[allow(non_camel_case_types)] + struct RegisterCounterpartyPayeeSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for RegisterCounterpartyPayeeSvc { + type Response = super::MsgRegisterCounterpartyPayeeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::register_counterparty_payee(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = RegisterCounterpartyPayeeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Msg/PayPacketFee" => { + #[allow(non_camel_case_types)] + struct PayPacketFeeSvc(pub Arc); + impl tonic::server::UnaryService + for PayPacketFeeSvc { + type Response = super::MsgPayPacketFeeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::pay_packet_fee(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PayPacketFeeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Msg/PayPacketFeeAsync" => { + #[allow(non_camel_case_types)] + struct PayPacketFeeAsyncSvc(pub Arc); + impl tonic::server::UnaryService + for PayPacketFeeAsyncSvc { + type Response = super::MsgPayPacketFeeAsyncResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::pay_packet_fee_async(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PayPacketFeeAsyncSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.applications.fee.v1.Msg"; + } +} +/// IncentivizedAcknowledgement is the acknowledgement format to be used by applications wrapped in the fee middleware +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IncentivizedAcknowledgement { + /// the underlying app acknowledgement bytes + #[prost(bytes = "vec", tag = "1")] + pub app_acknowledgement: ::prost::alloc::vec::Vec, + /// the relayer address which submits the recv packet message + #[prost(string, tag = "2")] + pub forward_relayer_address: ::prost::alloc::string::String, + /// success flag of the base application callback + #[prost(bool, tag = "3")] + pub underlying_app_success: bool, +} +impl ::prost::Name for IncentivizedAcknowledgement { + const NAME: &'static str = "IncentivizedAcknowledgement"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// GenesisState defines the ICS29 fee middleware genesis state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// list of identified packet fees + #[prost(message, repeated, tag = "1")] + pub identified_fees: ::prost::alloc::vec::Vec, + /// list of fee enabled channels + #[prost(message, repeated, tag = "2")] + pub fee_enabled_channels: ::prost::alloc::vec::Vec, + /// list of registered payees + #[prost(message, repeated, tag = "3")] + pub registered_payees: ::prost::alloc::vec::Vec, + /// list of registered counterparty payees + #[prost(message, repeated, tag = "4")] + pub registered_counterparty_payees: ::prost::alloc::vec::Vec< + RegisteredCounterpartyPayee, + >, + /// list of forward relayer addresses + #[prost(message, repeated, tag = "5")] + pub forward_relayers: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// FeeEnabledChannel contains the PortID & ChannelID for a fee enabled channel +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FeeEnabledChannel { + /// unique port identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// unique channel identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, +} +impl ::prost::Name for FeeEnabledChannel { + const NAME: &'static str = "FeeEnabledChannel"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// RegisteredPayee contains the relayer address and payee address for a specific channel +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegisteredPayee { + /// unique channel identifier + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + /// the relayer address + #[prost(string, tag = "2")] + pub relayer: ::prost::alloc::string::String, + /// the payee address + #[prost(string, tag = "3")] + pub payee: ::prost::alloc::string::String, +} +impl ::prost::Name for RegisteredPayee { + const NAME: &'static str = "RegisteredPayee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// RegisteredCounterpartyPayee contains the relayer address and counterparty payee address for a specific channel (used +/// for recv fee distribution) +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegisteredCounterpartyPayee { + /// unique channel identifier + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + /// the relayer address + #[prost(string, tag = "2")] + pub relayer: ::prost::alloc::string::String, + /// the counterparty payee address + #[prost(string, tag = "3")] + pub counterparty_payee: ::prost::alloc::string::String, +} +impl ::prost::Name for RegisteredCounterpartyPayee { + const NAME: &'static str = "RegisteredCounterpartyPayee"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// ForwardRelayerAddress contains the forward relayer address and PacketId used for async acknowledgements +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ForwardRelayerAddress { + /// the forward relayer address + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// unique packet identifer comprised of the channel ID, port ID and sequence + #[prost(message, optional, tag = "2")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, +} +impl ::prost::Name for ForwardRelayerAddress { + const NAME: &'static str = "ForwardRelayerAddress"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryIncentivizedPacketsRequest defines the request type for the IncentivizedPackets rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryIncentivizedPacketsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + /// block height at which to query + #[prost(uint64, tag = "2")] + pub query_height: u64, +} +impl ::prost::Name for QueryIncentivizedPacketsRequest { + const NAME: &'static str = "QueryIncentivizedPacketsRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPackets rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryIncentivizedPacketsResponse { + /// list of identified fees for incentivized packets + #[prost(message, repeated, tag = "1")] + pub incentivized_packets: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryIncentivizedPacketsResponse { + const NAME: &'static str = "QueryIncentivizedPacketsResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryIncentivizedPacketRequest defines the request type for the IncentivizedPacket rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryIncentivizedPacketRequest { + /// unique packet identifier comprised of channel ID, port ID and sequence + #[prost(message, optional, tag = "1")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, + /// block height at which to query + #[prost(uint64, tag = "2")] + pub query_height: u64, +} +impl ::prost::Name for QueryIncentivizedPacketRequest { + const NAME: &'static str = "QueryIncentivizedPacketRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryIncentivizedPacketsResponse defines the response type for the IncentivizedPacket rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryIncentivizedPacketResponse { + /// the identified fees for the incentivized packet + #[prost(message, optional, tag = "1")] + pub incentivized_packet: ::core::option::Option, +} +impl ::prost::Name for QueryIncentivizedPacketResponse { + const NAME: &'static str = "QueryIncentivizedPacketResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryIncentivizedPacketsForChannelRequest defines the request type for querying for all incentivized packets +/// for a specific channel +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryIncentivizedPacketsForChannelRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + #[prost(string, tag = "2")] + pub port_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub channel_id: ::prost::alloc::string::String, + /// Height to query at + #[prost(uint64, tag = "4")] + pub query_height: u64, +} +impl ::prost::Name for QueryIncentivizedPacketsForChannelRequest { + const NAME: &'static str = "QueryIncentivizedPacketsForChannelRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryIncentivizedPacketsResponse defines the response type for the incentivized packets RPC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryIncentivizedPacketsForChannelResponse { + /// Map of all incentivized_packets + #[prost(message, repeated, tag = "1")] + pub incentivized_packets: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryIncentivizedPacketsForChannelResponse { + const NAME: &'static str = "QueryIncentivizedPacketsForChannelResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryTotalRecvFeesRequest defines the request type for the TotalRecvFees rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalRecvFeesRequest { + /// the packet identifier for the associated fees + #[prost(message, optional, tag = "1")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, +} +impl ::prost::Name for QueryTotalRecvFeesRequest { + const NAME: &'static str = "QueryTotalRecvFeesRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryTotalRecvFeesResponse defines the response type for the TotalRecvFees rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalRecvFeesResponse { + /// the total packet receive fees + #[prost(message, repeated, tag = "1")] + pub recv_fees: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for QueryTotalRecvFeesResponse { + const NAME: &'static str = "QueryTotalRecvFeesResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryTotalAckFeesRequest defines the request type for the TotalAckFees rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalAckFeesRequest { + /// the packet identifier for the associated fees + #[prost(message, optional, tag = "1")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, +} +impl ::prost::Name for QueryTotalAckFeesRequest { + const NAME: &'static str = "QueryTotalAckFeesRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryTotalAckFeesResponse defines the response type for the TotalAckFees rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalAckFeesResponse { + /// the total packet acknowledgement fees + #[prost(message, repeated, tag = "1")] + pub ack_fees: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for QueryTotalAckFeesResponse { + const NAME: &'static str = "QueryTotalAckFeesResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryTotalTimeoutFeesRequest defines the request type for the TotalTimeoutFees rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalTimeoutFeesRequest { + /// the packet identifier for the associated fees + #[prost(message, optional, tag = "1")] + pub packet_id: ::core::option::Option< + super::super::super::core::channel::v1::PacketId, + >, +} +impl ::prost::Name for QueryTotalTimeoutFeesRequest { + const NAME: &'static str = "QueryTotalTimeoutFeesRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryTotalTimeoutFeesResponse defines the response type for the TotalTimeoutFees rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalTimeoutFeesResponse { + /// the total packet timeout fees + #[prost(message, repeated, tag = "1")] + pub timeout_fees: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for QueryTotalTimeoutFeesResponse { + const NAME: &'static str = "QueryTotalTimeoutFeesResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryPayeeRequest defines the request type for the Payee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryPayeeRequest { + /// unique channel identifier + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + /// the relayer address to which the distribution address is registered + #[prost(string, tag = "2")] + pub relayer: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryPayeeRequest { + const NAME: &'static str = "QueryPayeeRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryPayeeResponse defines the response type for the Payee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryPayeeResponse { + /// the payee address to which packet fees are paid out + #[prost(string, tag = "1")] + pub payee_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryPayeeResponse { + const NAME: &'static str = "QueryPayeeResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryCounterpartyPayeeRequest defines the request type for the CounterpartyPayee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryCounterpartyPayeeRequest { + /// unique channel identifier + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + /// the relayer address to which the counterparty is registered + #[prost(string, tag = "2")] + pub relayer: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryCounterpartyPayeeRequest { + const NAME: &'static str = "QueryCounterpartyPayeeRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryCounterpartyPayeeResponse defines the response type for the CounterpartyPayee rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryCounterpartyPayeeResponse { + /// the counterparty payee address used to compensate forward relaying + #[prost(string, tag = "1")] + pub counterparty_payee: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryCounterpartyPayeeResponse { + const NAME: &'static str = "QueryCounterpartyPayeeResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryFeeEnabledChannelsRequest defines the request type for the FeeEnabledChannels rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryFeeEnabledChannelsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + /// block height at which to query + #[prost(uint64, tag = "2")] + pub query_height: u64, +} +impl ::prost::Name for QueryFeeEnabledChannelsRequest { + const NAME: &'static str = "QueryFeeEnabledChannelsRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryFeeEnabledChannelsResponse defines the response type for the FeeEnabledChannels rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryFeeEnabledChannelsResponse { + /// list of fee enabled channels + #[prost(message, repeated, tag = "1")] + pub fee_enabled_channels: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryFeeEnabledChannelsResponse { + const NAME: &'static str = "QueryFeeEnabledChannelsResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryFeeEnabledChannelRequest defines the request type for the FeeEnabledChannel rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryFeeEnabledChannelRequest { + /// unique port identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// unique channel identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryFeeEnabledChannelRequest { + const NAME: &'static str = "QueryFeeEnabledChannelRequest"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// QueryFeeEnabledChannelResponse defines the response type for the FeeEnabledChannel rpc +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryFeeEnabledChannelResponse { + /// boolean flag representing the fee enabled channel status + #[prost(bool, tag = "1")] + pub fee_enabled: bool, +} +impl ::prost::Name for QueryFeeEnabledChannelResponse { + const NAME: &'static str = "QueryFeeEnabledChannelResponse"; + const PACKAGE: &'static str = "ibc.applications.fee.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.fee.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query defines the ICS29 gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// IncentivizedPackets returns all incentivized packets and their associated fees + pub async fn incentivized_packets( + &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.applications.fee.v1.Query/IncentivizedPackets", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.fee.v1.Query", + "IncentivizedPackets", + ), + ); + self.inner.unary(req, path, codec).await + } + /// IncentivizedPacket returns all packet fees for a packet given its identifier + pub async fn incentivized_packet( + &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.applications.fee.v1.Query/IncentivizedPacket", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.fee.v1.Query", + "IncentivizedPacket", + ), + ); + self.inner.unary(req, path, codec).await + } + /// Gets all incentivized packets for a specific channel + pub async fn incentivized_packets_for_channel( + &mut self, + request: impl tonic::IntoRequest< + super::QueryIncentivizedPacketsForChannelRequest, + >, + ) -> 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.applications.fee.v1.Query/IncentivizedPacketsForChannel", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.fee.v1.Query", + "IncentivizedPacketsForChannel", + ), + ); + self.inner.unary(req, path, codec).await + } + /// TotalRecvFees returns the total receive fees for a packet given its identifier + pub async fn total_recv_fees( + &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.applications.fee.v1.Query/TotalRecvFees", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.fee.v1.Query", "TotalRecvFees"), + ); + self.inner.unary(req, path, codec).await + } + /// TotalAckFees returns the total acknowledgement fees for a packet given its identifier + pub async fn total_ack_fees( + &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.applications.fee.v1.Query/TotalAckFees", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.fee.v1.Query", "TotalAckFees"), + ); + self.inner.unary(req, path, codec).await + } + /// TotalTimeoutFees returns the total timeout fees for a packet given its identifier + pub async fn total_timeout_fees( + &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.applications.fee.v1.Query/TotalTimeoutFees", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.fee.v1.Query", "TotalTimeoutFees"), + ); + self.inner.unary(req, path, codec).await + } + /// Payee returns the registered payee address for a specific channel given the relayer address + pub async fn payee( + &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.applications.fee.v1.Query/Payee", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.applications.fee.v1.Query", "Payee")); + self.inner.unary(req, path, codec).await + } + /// CounterpartyPayee returns the registered counterparty payee for forward relaying + pub async fn counterparty_payee( + &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.applications.fee.v1.Query/CounterpartyPayee", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.fee.v1.Query", "CounterpartyPayee"), + ); + self.inner.unary(req, path, codec).await + } + /// FeeEnabledChannels returns a list of all fee enabled channels + pub async fn fee_enabled_channels( + &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.applications.fee.v1.Query/FeeEnabledChannels", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.fee.v1.Query", + "FeeEnabledChannels", + ), + ); + self.inner.unary(req, path, codec).await + } + /// FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel + pub async fn fee_enabled_channel( + &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.applications.fee.v1.Query/FeeEnabledChannel", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.fee.v1.Query", "FeeEnabledChannel"), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// IncentivizedPackets returns all incentivized packets and their associated fees + async fn incentivized_packets( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// IncentivizedPacket returns all packet fees for a packet given its identifier + async fn incentivized_packet( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Gets all incentivized packets for a specific channel + async fn incentivized_packets_for_channel( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TotalRecvFees returns the total receive fees for a packet given its identifier + async fn total_recv_fees( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TotalAckFees returns the total acknowledgement fees for a packet given its identifier + async fn total_ack_fees( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TotalTimeoutFees returns the total timeout fees for a packet given its identifier + async fn total_timeout_fees( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Payee returns the registered payee address for a specific channel given the relayer address + async fn payee( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// CounterpartyPayee returns the registered counterparty payee for forward relaying + async fn counterparty_payee( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// FeeEnabledChannels returns a list of all fee enabled channels + async fn fee_enabled_channels( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// FeeEnabledChannel returns true if the provided port and channel identifiers belong to a fee enabled channel + async fn fee_enabled_channel( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query defines the ICS29 gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.fee.v1.Query/IncentivizedPackets" => { + #[allow(non_camel_case_types)] + struct IncentivizedPacketsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for IncentivizedPacketsSvc { + type Response = super::QueryIncentivizedPacketsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryIncentivizedPacketsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::incentivized_packets(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = IncentivizedPacketsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/IncentivizedPacket" => { + #[allow(non_camel_case_types)] + struct IncentivizedPacketSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for IncentivizedPacketSvc { + type Response = super::QueryIncentivizedPacketResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryIncentivizedPacketRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::incentivized_packet(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = IncentivizedPacketSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/IncentivizedPacketsForChannel" => { + #[allow(non_camel_case_types)] + struct IncentivizedPacketsForChannelSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryIncentivizedPacketsForChannelRequest, + > for IncentivizedPacketsForChannelSvc { + type Response = super::QueryIncentivizedPacketsForChannelResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryIncentivizedPacketsForChannelRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::incentivized_packets_for_channel( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = IncentivizedPacketsForChannelSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/TotalRecvFees" => { + #[allow(non_camel_case_types)] + struct TotalRecvFeesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TotalRecvFeesSvc { + type Response = super::QueryTotalRecvFeesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::total_recv_fees(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TotalRecvFeesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/TotalAckFees" => { + #[allow(non_camel_case_types)] + struct TotalAckFeesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TotalAckFeesSvc { + type Response = super::QueryTotalAckFeesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::total_ack_fees(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TotalAckFeesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/TotalTimeoutFees" => { + #[allow(non_camel_case_types)] + struct TotalTimeoutFeesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TotalTimeoutFeesSvc { + type Response = super::QueryTotalTimeoutFeesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::total_timeout_fees(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TotalTimeoutFeesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/Payee" => { + #[allow(non_camel_case_types)] + struct PayeeSvc(pub Arc); + impl tonic::server::UnaryService + for PayeeSvc { + type Response = super::QueryPayeeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::payee(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PayeeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/CounterpartyPayee" => { + #[allow(non_camel_case_types)] + struct CounterpartyPayeeSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for CounterpartyPayeeSvc { + type Response = super::QueryCounterpartyPayeeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::counterparty_payee(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CounterpartyPayeeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/FeeEnabledChannels" => { + #[allow(non_camel_case_types)] + struct FeeEnabledChannelsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for FeeEnabledChannelsSvc { + type Response = super::QueryFeeEnabledChannelsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryFeeEnabledChannelsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::fee_enabled_channels(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = FeeEnabledChannelsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.fee.v1.Query/FeeEnabledChannel" => { + #[allow(non_camel_case_types)] + struct FeeEnabledChannelSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for FeeEnabledChannelSvc { + type Response = super::QueryFeeEnabledChannelResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::fee_enabled_channel(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = FeeEnabledChannelSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.applications.fee.v1.Query"; + } +} +/// 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) + } +} diff --git a/src/prost/ibc.applications.fee.v1.serde.rs b/src/prost/ibc.applications.fee.v1.serde.rs new file mode 100644 index 00000000..9fdd5b96 --- /dev/null +++ b/src/prost/ibc.applications.fee.v1.serde.rs @@ -0,0 +1,4237 @@ +impl serde::Serialize for Fee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.recv_fee.is_empty() { + len += 1; + } + if !self.ack_fee.is_empty() { + len += 1; + } + if !self.timeout_fee.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.Fee", len)?; + if !self.recv_fee.is_empty() { + struct_ser.serialize_field("recvFee", &self.recv_fee)?; + } + if !self.ack_fee.is_empty() { + struct_ser.serialize_field("ackFee", &self.ack_fee)?; + } + if !self.timeout_fee.is_empty() { + struct_ser.serialize_field("timeoutFee", &self.timeout_fee)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Fee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "recv_fee", + "recvFee", + "ack_fee", + "ackFee", + "timeout_fee", + "timeoutFee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + RecvFee, + AckFee, + TimeoutFee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "recvFee" | "recv_fee" => Ok(GeneratedField::RecvFee), + "ackFee" | "ack_fee" => Ok(GeneratedField::AckFee), + "timeoutFee" | "timeout_fee" => Ok(GeneratedField::TimeoutFee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Fee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.Fee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut recv_fee__ = None; + let mut ack_fee__ = None; + let mut timeout_fee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::RecvFee => { + if recv_fee__.is_some() { + return Err(serde::de::Error::duplicate_field("recvFee")); + } + recv_fee__ = Some(map_.next_value()?); + } + GeneratedField::AckFee => { + if ack_fee__.is_some() { + return Err(serde::de::Error::duplicate_field("ackFee")); + } + ack_fee__ = Some(map_.next_value()?); + } + GeneratedField::TimeoutFee => { + if timeout_fee__.is_some() { + return Err(serde::de::Error::duplicate_field("timeoutFee")); + } + timeout_fee__ = Some(map_.next_value()?); + } + } + } + Ok(Fee { + recv_fee: recv_fee__.unwrap_or_default(), + ack_fee: ack_fee__.unwrap_or_default(), + timeout_fee: timeout_fee__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.Fee", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for FeeEnabledChannel { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.FeeEnabledChannel", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FeeEnabledChannel { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FeeEnabledChannel; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.FeeEnabledChannel") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(FeeEnabledChannel { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.FeeEnabledChannel", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ForwardRelayerAddress { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + if self.packet_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.ForwardRelayerAddress", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ForwardRelayerAddress { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + "packet_id", + "packetId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + PacketId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ForwardRelayerAddress; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.ForwardRelayerAddress") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + let mut packet_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + } + } + Ok(ForwardRelayerAddress { + address: address__.unwrap_or_default(), + packet_id: packet_id__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.ForwardRelayerAddress", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.identified_fees.is_empty() { + len += 1; + } + if !self.fee_enabled_channels.is_empty() { + len += 1; + } + if !self.registered_payees.is_empty() { + len += 1; + } + if !self.registered_counterparty_payees.is_empty() { + len += 1; + } + if !self.forward_relayers.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.GenesisState", len)?; + if !self.identified_fees.is_empty() { + struct_ser.serialize_field("identifiedFees", &self.identified_fees)?; + } + if !self.fee_enabled_channels.is_empty() { + struct_ser.serialize_field("feeEnabledChannels", &self.fee_enabled_channels)?; + } + if !self.registered_payees.is_empty() { + struct_ser.serialize_field("registeredPayees", &self.registered_payees)?; + } + if !self.registered_counterparty_payees.is_empty() { + struct_ser.serialize_field("registeredCounterpartyPayees", &self.registered_counterparty_payees)?; + } + if !self.forward_relayers.is_empty() { + struct_ser.serialize_field("forwardRelayers", &self.forward_relayers)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "identified_fees", + "identifiedFees", + "fee_enabled_channels", + "feeEnabledChannels", + "registered_payees", + "registeredPayees", + "registered_counterparty_payees", + "registeredCounterpartyPayees", + "forward_relayers", + "forwardRelayers", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + IdentifiedFees, + FeeEnabledChannels, + RegisteredPayees, + RegisteredCounterpartyPayees, + ForwardRelayers, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "identifiedFees" | "identified_fees" => Ok(GeneratedField::IdentifiedFees), + "feeEnabledChannels" | "fee_enabled_channels" => Ok(GeneratedField::FeeEnabledChannels), + "registeredPayees" | "registered_payees" => Ok(GeneratedField::RegisteredPayees), + "registeredCounterpartyPayees" | "registered_counterparty_payees" => Ok(GeneratedField::RegisteredCounterpartyPayees), + "forwardRelayers" | "forward_relayers" => Ok(GeneratedField::ForwardRelayers), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut identified_fees__ = None; + let mut fee_enabled_channels__ = None; + let mut registered_payees__ = None; + let mut registered_counterparty_payees__ = None; + let mut forward_relayers__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::IdentifiedFees => { + if identified_fees__.is_some() { + return Err(serde::de::Error::duplicate_field("identifiedFees")); + } + identified_fees__ = Some(map_.next_value()?); + } + GeneratedField::FeeEnabledChannels => { + if fee_enabled_channels__.is_some() { + return Err(serde::de::Error::duplicate_field("feeEnabledChannels")); + } + fee_enabled_channels__ = Some(map_.next_value()?); + } + GeneratedField::RegisteredPayees => { + if registered_payees__.is_some() { + return Err(serde::de::Error::duplicate_field("registeredPayees")); + } + registered_payees__ = Some(map_.next_value()?); + } + GeneratedField::RegisteredCounterpartyPayees => { + if registered_counterparty_payees__.is_some() { + return Err(serde::de::Error::duplicate_field("registeredCounterpartyPayees")); + } + registered_counterparty_payees__ = Some(map_.next_value()?); + } + GeneratedField::ForwardRelayers => { + if forward_relayers__.is_some() { + return Err(serde::de::Error::duplicate_field("forwardRelayers")); + } + forward_relayers__ = Some(map_.next_value()?); + } + } + } + Ok(GenesisState { + identified_fees: identified_fees__.unwrap_or_default(), + fee_enabled_channels: fee_enabled_channels__.unwrap_or_default(), + registered_payees: registered_payees__.unwrap_or_default(), + registered_counterparty_payees: registered_counterparty_payees__.unwrap_or_default(), + forward_relayers: forward_relayers__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IdentifiedPacketFees { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet_id.is_some() { + len += 1; + } + if !self.packet_fees.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.IdentifiedPacketFees", len)?; + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + if !self.packet_fees.is_empty() { + struct_ser.serialize_field("packetFees", &self.packet_fees)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IdentifiedPacketFees { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_id", + "packetId", + "packet_fees", + "packetFees", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketId, + PacketFees, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + "packetFees" | "packet_fees" => Ok(GeneratedField::PacketFees), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IdentifiedPacketFees; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.IdentifiedPacketFees") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_id__ = None; + let mut packet_fees__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + GeneratedField::PacketFees => { + if packet_fees__.is_some() { + return Err(serde::de::Error::duplicate_field("packetFees")); + } + packet_fees__ = Some(map_.next_value()?); + } + } + } + Ok(IdentifiedPacketFees { + packet_id: packet_id__, + packet_fees: packet_fees__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.IdentifiedPacketFees", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IncentivizedAcknowledgement { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.app_acknowledgement.is_empty() { + len += 1; + } + if !self.forward_relayer_address.is_empty() { + len += 1; + } + if self.underlying_app_success { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.IncentivizedAcknowledgement", len)?; + if !self.app_acknowledgement.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("appAcknowledgement", pbjson::private::base64::encode(&self.app_acknowledgement).as_str())?; + } + if !self.forward_relayer_address.is_empty() { + struct_ser.serialize_field("forwardRelayerAddress", &self.forward_relayer_address)?; + } + if self.underlying_app_success { + struct_ser.serialize_field("underlyingAppSuccess", &self.underlying_app_success)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IncentivizedAcknowledgement { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "app_acknowledgement", + "appAcknowledgement", + "forward_relayer_address", + "forwardRelayerAddress", + "underlying_app_success", + "underlyingAppSuccess", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AppAcknowledgement, + ForwardRelayerAddress, + UnderlyingAppSuccess, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "appAcknowledgement" | "app_acknowledgement" => Ok(GeneratedField::AppAcknowledgement), + "forwardRelayerAddress" | "forward_relayer_address" => Ok(GeneratedField::ForwardRelayerAddress), + "underlyingAppSuccess" | "underlying_app_success" => Ok(GeneratedField::UnderlyingAppSuccess), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IncentivizedAcknowledgement; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.IncentivizedAcknowledgement") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut app_acknowledgement__ = None; + let mut forward_relayer_address__ = None; + let mut underlying_app_success__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AppAcknowledgement => { + if app_acknowledgement__.is_some() { + return Err(serde::de::Error::duplicate_field("appAcknowledgement")); + } + app_acknowledgement__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ForwardRelayerAddress => { + if forward_relayer_address__.is_some() { + return Err(serde::de::Error::duplicate_field("forwardRelayerAddress")); + } + forward_relayer_address__ = Some(map_.next_value()?); + } + GeneratedField::UnderlyingAppSuccess => { + if underlying_app_success__.is_some() { + return Err(serde::de::Error::duplicate_field("underlyingAppSuccess")); + } + underlying_app_success__ = Some(map_.next_value()?); + } + } + } + Ok(IncentivizedAcknowledgement { + app_acknowledgement: app_acknowledgement__.unwrap_or_default(), + forward_relayer_address: forward_relayer_address__.unwrap_or_default(), + underlying_app_success: underlying_app_success__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.IncentivizedAcknowledgement", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Metadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fee_version.is_empty() { + len += 1; + } + if !self.app_version.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.Metadata", len)?; + if !self.fee_version.is_empty() { + struct_ser.serialize_field("feeVersion", &self.fee_version)?; + } + if !self.app_version.is_empty() { + struct_ser.serialize_field("appVersion", &self.app_version)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Metadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fee_version", + "feeVersion", + "app_version", + "appVersion", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + FeeVersion, + AppVersion, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "feeVersion" | "fee_version" => Ok(GeneratedField::FeeVersion), + "appVersion" | "app_version" => Ok(GeneratedField::AppVersion), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Metadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.Metadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fee_version__ = None; + let mut app_version__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::FeeVersion => { + if fee_version__.is_some() { + return Err(serde::de::Error::duplicate_field("feeVersion")); + } + fee_version__ = Some(map_.next_value()?); + } + GeneratedField::AppVersion => { + if app_version__.is_some() { + return Err(serde::de::Error::duplicate_field("appVersion")); + } + app_version__ = Some(map_.next_value()?); + } + } + } + Ok(Metadata { + fee_version: fee_version__.unwrap_or_default(), + app_version: app_version__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.Metadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgPayPacketFee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.fee.is_some() { + len += 1; + } + if !self.source_port_id.is_empty() { + len += 1; + } + if !self.source_channel_id.is_empty() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + if !self.relayers.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgPayPacketFee", len)?; + if let Some(v) = self.fee.as_ref() { + struct_ser.serialize_field("fee", v)?; + } + if !self.source_port_id.is_empty() { + struct_ser.serialize_field("sourcePortId", &self.source_port_id)?; + } + if !self.source_channel_id.is_empty() { + struct_ser.serialize_field("sourceChannelId", &self.source_channel_id)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if !self.relayers.is_empty() { + struct_ser.serialize_field("relayers", &self.relayers)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fee", + "source_port_id", + "sourcePortId", + "source_channel_id", + "sourceChannelId", + "signer", + "relayers", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fee, + SourcePortId, + SourceChannelId, + Signer, + Relayers, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fee" => Ok(GeneratedField::Fee), + "sourcePortId" | "source_port_id" => Ok(GeneratedField::SourcePortId), + "sourceChannelId" | "source_channel_id" => Ok(GeneratedField::SourceChannelId), + "signer" => Ok(GeneratedField::Signer), + "relayers" => Ok(GeneratedField::Relayers), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgPayPacketFee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fee__ = None; + let mut source_port_id__ = None; + let mut source_channel_id__ = None; + let mut signer__ = None; + let mut relayers__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fee => { + if fee__.is_some() { + return Err(serde::de::Error::duplicate_field("fee")); + } + fee__ = map_.next_value()?; + } + GeneratedField::SourcePortId => { + if source_port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("sourcePortId")); + } + source_port_id__ = Some(map_.next_value()?); + } + GeneratedField::SourceChannelId => { + if source_channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("sourceChannelId")); + } + source_channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::Relayers => { + if relayers__.is_some() { + return Err(serde::de::Error::duplicate_field("relayers")); + } + relayers__ = Some(map_.next_value()?); + } + } + } + Ok(MsgPayPacketFee { + fee: fee__, + source_port_id: source_port_id__.unwrap_or_default(), + source_channel_id: source_channel_id__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + relayers: relayers__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgPayPacketFee", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgPayPacketFeeAsync { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet_id.is_some() { + len += 1; + } + if self.packet_fee.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeAsync", len)?; + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + if let Some(v) = self.packet_fee.as_ref() { + struct_ser.serialize_field("packetFee", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsync { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_id", + "packetId", + "packet_fee", + "packetFee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketId, + PacketFee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + "packetFee" | "packet_fee" => Ok(GeneratedField::PacketFee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgPayPacketFeeAsync; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFeeAsync") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_id__ = None; + let mut packet_fee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + GeneratedField::PacketFee => { + if packet_fee__.is_some() { + return Err(serde::de::Error::duplicate_field("packetFee")); + } + packet_fee__ = map_.next_value()?; + } + } + } + Ok(MsgPayPacketFeeAsync { + packet_id: packet_id__, + packet_fee: packet_fee__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeAsync", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgPayPacketFeeAsyncResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsyncResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgPayPacketFeeAsyncResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgPayPacketFeeAsyncResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgPayPacketFeeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgPayPacketFeeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFeeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgPayPacketFeeResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRegisterCounterpartyPayee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.relayer.is_empty() { + len += 1; + } + if !self.counterparty_payee.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgRegisterCounterpartyPayee", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.relayer.is_empty() { + struct_ser.serialize_field("relayer", &self.relayer)?; + } + if !self.counterparty_payee.is_empty() { + struct_ser.serialize_field("counterpartyPayee", &self.counterparty_payee)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "relayer", + "counterparty_payee", + "counterpartyPayee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Relayer, + CounterpartyPayee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "relayer" => Ok(GeneratedField::Relayer), + "counterpartyPayee" | "counterparty_payee" => Ok(GeneratedField::CounterpartyPayee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRegisterCounterpartyPayee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterCounterpartyPayee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut relayer__ = None; + let mut counterparty_payee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Relayer => { + if relayer__.is_some() { + return Err(serde::de::Error::duplicate_field("relayer")); + } + relayer__ = Some(map_.next_value()?); + } + GeneratedField::CounterpartyPayee => { + if counterparty_payee__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyPayee")); + } + counterparty_payee__ = Some(map_.next_value()?); + } + } + } + Ok(MsgRegisterCounterpartyPayee { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + relayer: relayer__.unwrap_or_default(), + counterparty_payee: counterparty_payee__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgRegisterCounterpartyPayee", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRegisterCounterpartyPayeeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayeeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRegisterCounterpartyPayeeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgRegisterCounterpartyPayeeResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRegisterPayee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.relayer.is_empty() { + len += 1; + } + if !self.payee.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgRegisterPayee", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.relayer.is_empty() { + struct_ser.serialize_field("relayer", &self.relayer)?; + } + if !self.payee.is_empty() { + struct_ser.serialize_field("payee", &self.payee)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "relayer", + "payee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Relayer, + Payee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "relayer" => Ok(GeneratedField::Relayer), + "payee" => Ok(GeneratedField::Payee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRegisterPayee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterPayee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut relayer__ = None; + let mut payee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Relayer => { + if relayer__.is_some() { + return Err(serde::de::Error::duplicate_field("relayer")); + } + relayer__ = Some(map_.next_value()?); + } + GeneratedField::Payee => { + if payee__.is_some() { + return Err(serde::de::Error::duplicate_field("payee")); + } + payee__ = Some(map_.next_value()?); + } + } + } + Ok(MsgRegisterPayee { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + relayer: relayer__.unwrap_or_default(), + payee: payee__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgRegisterPayee", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRegisterPayeeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgRegisterPayeeResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRegisterPayeeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRegisterPayeeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterPayeeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgRegisterPayeeResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.MsgRegisterPayeeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketFee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.fee.is_some() { + len += 1; + } + if !self.refund_address.is_empty() { + len += 1; + } + if !self.relayers.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.PacketFee", len)?; + if let Some(v) = self.fee.as_ref() { + struct_ser.serialize_field("fee", v)?; + } + if !self.refund_address.is_empty() { + struct_ser.serialize_field("refundAddress", &self.refund_address)?; + } + if !self.relayers.is_empty() { + struct_ser.serialize_field("relayers", &self.relayers)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketFee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fee", + "refund_address", + "refundAddress", + "relayers", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Fee, + RefundAddress, + Relayers, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "fee" => Ok(GeneratedField::Fee), + "refundAddress" | "refund_address" => Ok(GeneratedField::RefundAddress), + "relayers" => Ok(GeneratedField::Relayers), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketFee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.PacketFee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fee__ = None; + let mut refund_address__ = None; + let mut relayers__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Fee => { + if fee__.is_some() { + return Err(serde::de::Error::duplicate_field("fee")); + } + fee__ = map_.next_value()?; + } + GeneratedField::RefundAddress => { + if refund_address__.is_some() { + return Err(serde::de::Error::duplicate_field("refundAddress")); + } + refund_address__ = Some(map_.next_value()?); + } + GeneratedField::Relayers => { + if relayers__.is_some() { + return Err(serde::de::Error::duplicate_field("relayers")); + } + relayers__ = Some(map_.next_value()?); + } + } + } + Ok(PacketFee { + fee: fee__, + refund_address: refund_address__.unwrap_or_default(), + relayers: relayers__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.PacketFee", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketFees { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.packet_fees.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.PacketFees", len)?; + if !self.packet_fees.is_empty() { + struct_ser.serialize_field("packetFees", &self.packet_fees)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketFees { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_fees", + "packetFees", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketFees, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetFees" | "packet_fees" => Ok(GeneratedField::PacketFees), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketFees; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.PacketFees") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_fees__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketFees => { + if packet_fees__.is_some() { + return Err(serde::de::Error::duplicate_field("packetFees")); + } + packet_fees__ = Some(map_.next_value()?); + } + } + } + Ok(PacketFees { + packet_fees: packet_fees__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.PacketFees", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryCounterpartyPayeeRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channel_id.is_empty() { + len += 1; + } + if !self.relayer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryCounterpartyPayeeRequest", len)?; + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.relayer.is_empty() { + struct_ser.serialize_field("relayer", &self.relayer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel_id", + "channelId", + "relayer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChannelId, + Relayer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "relayer" => Ok(GeneratedField::Relayer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryCounterpartyPayeeRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryCounterpartyPayeeRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel_id__ = None; + let mut relayer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Relayer => { + if relayer__.is_some() { + return Err(serde::de::Error::duplicate_field("relayer")); + } + relayer__ = Some(map_.next_value()?); + } + } + } + Ok(QueryCounterpartyPayeeRequest { + channel_id: channel_id__.unwrap_or_default(), + relayer: relayer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryCounterpartyPayeeRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryCounterpartyPayeeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.counterparty_payee.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryCounterpartyPayeeResponse", len)?; + if !self.counterparty_payee.is_empty() { + struct_ser.serialize_field("counterpartyPayee", &self.counterparty_payee)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "counterparty_payee", + "counterpartyPayee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CounterpartyPayee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "counterpartyPayee" | "counterparty_payee" => Ok(GeneratedField::CounterpartyPayee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryCounterpartyPayeeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryCounterpartyPayeeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut counterparty_payee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CounterpartyPayee => { + if counterparty_payee__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyPayee")); + } + counterparty_payee__ = Some(map_.next_value()?); + } + } + } + Ok(QueryCounterpartyPayeeResponse { + counterparty_payee: counterparty_payee__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryCounterpartyPayeeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryFeeEnabledChannelRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryFeeEnabledChannelRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryFeeEnabledChannelRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryFeeEnabledChannelResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.fee_enabled { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelResponse", len)?; + if self.fee_enabled { + struct_ser.serialize_field("feeEnabled", &self.fee_enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fee_enabled", + "feeEnabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + FeeEnabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "feeEnabled" | "fee_enabled" => Ok(GeneratedField::FeeEnabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryFeeEnabledChannelResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fee_enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::FeeEnabled => { + if fee_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("feeEnabled")); + } + fee_enabled__ = Some(map_.next_value()?); + } + } + } + Ok(QueryFeeEnabledChannelResponse { + fee_enabled: fee_enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryFeeEnabledChannelsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + if self.query_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelsRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if self.query_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + "query_height", + "queryHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + QueryHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + "queryHeight" | "query_height" => Ok(GeneratedField::QueryHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryFeeEnabledChannelsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + let mut query_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::QueryHeight => { + if query_height__.is_some() { + return Err(serde::de::Error::duplicate_field("queryHeight")); + } + query_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryFeeEnabledChannelsRequest { + pagination: pagination__, + query_height: query_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryFeeEnabledChannelsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.fee_enabled_channels.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse", len)?; + if !self.fee_enabled_channels.is_empty() { + struct_ser.serialize_field("feeEnabledChannels", &self.fee_enabled_channels)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "fee_enabled_channels", + "feeEnabledChannels", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + FeeEnabledChannels, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "feeEnabledChannels" | "fee_enabled_channels" => Ok(GeneratedField::FeeEnabledChannels), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryFeeEnabledChannelsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut fee_enabled_channels__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::FeeEnabledChannels => { + if fee_enabled_channels__.is_some() { + return Err(serde::de::Error::duplicate_field("feeEnabledChannels")); + } + fee_enabled_channels__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryFeeEnabledChannelsResponse { + fee_enabled_channels: fee_enabled_channels__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryIncentivizedPacketRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet_id.is_some() { + len += 1; + } + if self.query_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketRequest", len)?; + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + if self.query_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_id", + "packetId", + "query_height", + "queryHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketId, + QueryHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + "queryHeight" | "query_height" => Ok(GeneratedField::QueryHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryIncentivizedPacketRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_id__ = None; + let mut query_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + GeneratedField::QueryHeight => { + if query_height__.is_some() { + return Err(serde::de::Error::duplicate_field("queryHeight")); + } + query_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryIncentivizedPacketRequest { + packet_id: packet_id__, + query_height: query_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryIncentivizedPacketResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.incentivized_packet.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketResponse", len)?; + if let Some(v) = self.incentivized_packet.as_ref() { + struct_ser.serialize_field("incentivizedPacket", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "incentivized_packet", + "incentivizedPacket", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + IncentivizedPacket, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "incentivizedPacket" | "incentivized_packet" => Ok(GeneratedField::IncentivizedPacket), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryIncentivizedPacketResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut incentivized_packet__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::IncentivizedPacket => { + if incentivized_packet__.is_some() { + return Err(serde::de::Error::duplicate_field("incentivizedPacket")); + } + incentivized_packet__ = map_.next_value()?; + } + } + } + Ok(QueryIncentivizedPacketResponse { + incentivized_packet: incentivized_packet__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryIncentivizedPacketsForChannelRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.query_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.query_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + "port_id", + "portId", + "channel_id", + "channelId", + "query_height", + "queryHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + PortId, + ChannelId, + QueryHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "queryHeight" | "query_height" => Ok(GeneratedField::QueryHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryIncentivizedPacketsForChannelRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + let mut port_id__ = None; + let mut channel_id__ = None; + let mut query_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::QueryHeight => { + if query_height__.is_some() { + return Err(serde::de::Error::duplicate_field("queryHeight")); + } + query_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryIncentivizedPacketsForChannelRequest { + pagination: pagination__, + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + query_height: query_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryIncentivizedPacketsForChannelResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.incentivized_packets.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse", len)?; + if !self.incentivized_packets.is_empty() { + struct_ser.serialize_field("incentivizedPackets", &self.incentivized_packets)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "incentivized_packets", + "incentivizedPackets", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + IncentivizedPackets, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "incentivizedPackets" | "incentivized_packets" => Ok(GeneratedField::IncentivizedPackets), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryIncentivizedPacketsForChannelResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut incentivized_packets__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::IncentivizedPackets => { + if incentivized_packets__.is_some() { + return Err(serde::de::Error::duplicate_field("incentivizedPackets")); + } + incentivized_packets__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryIncentivizedPacketsForChannelResponse { + incentivized_packets: incentivized_packets__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryIncentivizedPacketsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + if self.query_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if self.query_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + "query_height", + "queryHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + QueryHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + "queryHeight" | "query_height" => Ok(GeneratedField::QueryHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryIncentivizedPacketsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + let mut query_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::QueryHeight => { + if query_height__.is_some() { + return Err(serde::de::Error::duplicate_field("queryHeight")); + } + query_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryIncentivizedPacketsRequest { + pagination: pagination__, + query_height: query_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryIncentivizedPacketsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.incentivized_packets.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsResponse", len)?; + if !self.incentivized_packets.is_empty() { + struct_ser.serialize_field("incentivizedPackets", &self.incentivized_packets)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "incentivized_packets", + "incentivizedPackets", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + IncentivizedPackets, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "incentivizedPackets" | "incentivized_packets" => Ok(GeneratedField::IncentivizedPackets), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryIncentivizedPacketsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut incentivized_packets__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::IncentivizedPackets => { + if incentivized_packets__.is_some() { + return Err(serde::de::Error::duplicate_field("incentivizedPackets")); + } + incentivized_packets__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryIncentivizedPacketsResponse { + incentivized_packets: incentivized_packets__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPayeeRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channel_id.is_empty() { + len += 1; + } + if !self.relayer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryPayeeRequest", len)?; + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.relayer.is_empty() { + struct_ser.serialize_field("relayer", &self.relayer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPayeeRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel_id", + "channelId", + "relayer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChannelId, + Relayer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "relayer" => Ok(GeneratedField::Relayer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPayeeRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryPayeeRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel_id__ = None; + let mut relayer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Relayer => { + if relayer__.is_some() { + return Err(serde::de::Error::duplicate_field("relayer")); + } + relayer__ = Some(map_.next_value()?); + } + } + } + Ok(QueryPayeeRequest { + channel_id: channel_id__.unwrap_or_default(), + relayer: relayer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryPayeeRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPayeeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.payee_address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryPayeeResponse", len)?; + if !self.payee_address.is_empty() { + struct_ser.serialize_field("payeeAddress", &self.payee_address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPayeeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "payee_address", + "payeeAddress", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PayeeAddress, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "payeeAddress" | "payee_address" => Ok(GeneratedField::PayeeAddress), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPayeeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryPayeeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut payee_address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PayeeAddress => { + if payee_address__.is_some() { + return Err(serde::de::Error::duplicate_field("payeeAddress")); + } + payee_address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryPayeeResponse { + payee_address: payee_address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryPayeeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalAckFeesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalAckFeesRequest", len)?; + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_id", + "packetId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalAckFeesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryTotalAckFeesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + } + } + Ok(QueryTotalAckFeesRequest { + packet_id: packet_id__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryTotalAckFeesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalAckFeesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.ack_fees.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalAckFeesResponse", len)?; + if !self.ack_fees.is_empty() { + struct_ser.serialize_field("ackFees", &self.ack_fees)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "ack_fees", + "ackFees", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AckFees, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "ackFees" | "ack_fees" => Ok(GeneratedField::AckFees), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalAckFeesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryTotalAckFeesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut ack_fees__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AckFees => { + if ack_fees__.is_some() { + return Err(serde::de::Error::duplicate_field("ackFees")); + } + ack_fees__ = Some(map_.next_value()?); + } + } + } + Ok(QueryTotalAckFeesResponse { + ack_fees: ack_fees__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryTotalAckFeesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalRecvFeesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalRecvFeesRequest", len)?; + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_id", + "packetId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalRecvFeesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryTotalRecvFeesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + } + } + Ok(QueryTotalRecvFeesRequest { + packet_id: packet_id__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryTotalRecvFeesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalRecvFeesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.recv_fees.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalRecvFeesResponse", len)?; + if !self.recv_fees.is_empty() { + struct_ser.serialize_field("recvFees", &self.recv_fees)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "recv_fees", + "recvFees", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + RecvFees, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "recvFees" | "recv_fees" => Ok(GeneratedField::RecvFees), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalRecvFeesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryTotalRecvFeesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut recv_fees__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::RecvFees => { + if recv_fees__.is_some() { + return Err(serde::de::Error::duplicate_field("recvFees")); + } + recv_fees__ = Some(map_.next_value()?); + } + } + } + Ok(QueryTotalRecvFeesResponse { + recv_fees: recv_fees__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryTotalRecvFeesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalTimeoutFeesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet_id.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalTimeoutFeesRequest", len)?; + if let Some(v) = self.packet_id.as_ref() { + struct_ser.serialize_field("packetId", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet_id", + "packetId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PacketId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packetId" | "packet_id" => Ok(GeneratedField::PacketId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalTimeoutFeesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryTotalTimeoutFeesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PacketId => { + if packet_id__.is_some() { + return Err(serde::de::Error::duplicate_field("packetId")); + } + packet_id__ = map_.next_value()?; + } + } + } + Ok(QueryTotalTimeoutFeesRequest { + packet_id: packet_id__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryTotalTimeoutFeesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalTimeoutFeesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.timeout_fees.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse", len)?; + if !self.timeout_fees.is_empty() { + struct_ser.serialize_field("timeoutFees", &self.timeout_fees)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "timeout_fees", + "timeoutFees", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + TimeoutFees, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "timeoutFees" | "timeout_fees" => Ok(GeneratedField::TimeoutFees), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalTimeoutFeesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut timeout_fees__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::TimeoutFees => { + if timeout_fees__.is_some() { + return Err(serde::de::Error::duplicate_field("timeoutFees")); + } + timeout_fees__ = Some(map_.next_value()?); + } + } + } + Ok(QueryTotalTimeoutFeesResponse { + timeout_fees: timeout_fees__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for RegisteredCounterpartyPayee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channel_id.is_empty() { + len += 1; + } + if !self.relayer.is_empty() { + len += 1; + } + if !self.counterparty_payee.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.RegisteredCounterpartyPayee", len)?; + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.relayer.is_empty() { + struct_ser.serialize_field("relayer", &self.relayer)?; + } + if !self.counterparty_payee.is_empty() { + struct_ser.serialize_field("counterpartyPayee", &self.counterparty_payee)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for RegisteredCounterpartyPayee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel_id", + "channelId", + "relayer", + "counterparty_payee", + "counterpartyPayee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChannelId, + Relayer, + CounterpartyPayee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "relayer" => Ok(GeneratedField::Relayer), + "counterpartyPayee" | "counterparty_payee" => Ok(GeneratedField::CounterpartyPayee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RegisteredCounterpartyPayee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.RegisteredCounterpartyPayee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel_id__ = None; + let mut relayer__ = None; + let mut counterparty_payee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Relayer => { + if relayer__.is_some() { + return Err(serde::de::Error::duplicate_field("relayer")); + } + relayer__ = Some(map_.next_value()?); + } + GeneratedField::CounterpartyPayee => { + if counterparty_payee__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyPayee")); + } + counterparty_payee__ = Some(map_.next_value()?); + } + } + } + Ok(RegisteredCounterpartyPayee { + channel_id: channel_id__.unwrap_or_default(), + relayer: relayer__.unwrap_or_default(), + counterparty_payee: counterparty_payee__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.RegisteredCounterpartyPayee", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for RegisteredPayee { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channel_id.is_empty() { + len += 1; + } + if !self.relayer.is_empty() { + len += 1; + } + if !self.payee.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.RegisteredPayee", len)?; + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.relayer.is_empty() { + struct_ser.serialize_field("relayer", &self.relayer)?; + } + if !self.payee.is_empty() { + struct_ser.serialize_field("payee", &self.payee)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for RegisteredPayee { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel_id", + "channelId", + "relayer", + "payee", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChannelId, + Relayer, + Payee, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "relayer" => Ok(GeneratedField::Relayer), + "payee" => Ok(GeneratedField::Payee), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RegisteredPayee; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.fee.v1.RegisteredPayee") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel_id__ = None; + let mut relayer__ = None; + let mut payee__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Relayer => { + if relayer__.is_some() { + return Err(serde::de::Error::duplicate_field("relayer")); + } + relayer__ = Some(map_.next_value()?); + } + GeneratedField::Payee => { + if payee__.is_some() { + return Err(serde::de::Error::duplicate_field("payee")); + } + payee__ = Some(map_.next_value()?); + } + } + } + Ok(RegisteredPayee { + channel_id: channel_id__.unwrap_or_default(), + relayer: relayer__.unwrap_or_default(), + payee: payee__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.fee.v1.RegisteredPayee", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.controller.v1.rs b/src/prost/ibc.applications.interchain_accounts.controller.v1.rs new file mode 100644 index 00000000..00e306a3 --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.controller.v1.rs @@ -0,0 +1,1055 @@ +/// Params defines the set of on-chain interchain accounts parameters. +/// The following parameters may be used to disable the controller submodule. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// controller_enabled enables or disables the controller submodule. + #[prost(bool, tag = "1")] + pub controller_enabled: bool, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// MsgRegisterInterchainAccount defines the payload for Msg/RegisterAccount +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRegisterInterchainAccount { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub connection_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub version: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgRegisterInterchainAccount { + const NAME: &'static str = "MsgRegisterInterchainAccount"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// MsgRegisterInterchainAccountResponse defines the response for Msg/RegisterAccount +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRegisterInterchainAccountResponse { + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub port_id: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgRegisterInterchainAccountResponse { + const NAME: &'static str = "MsgRegisterInterchainAccountResponse"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// MsgSendTx defines the payload for Msg/SendTx +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSendTx { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub connection_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub packet_data: ::core::option::Option< + super::super::v1::InterchainAccountPacketData, + >, + /// Relative timeout timestamp provided will be added to the current block time during transaction execution. + /// The timeout timestamp must be non-zero. + #[prost(uint64, tag = "4")] + pub relative_timeout: u64, +} +impl ::prost::Name for MsgSendTx { + const NAME: &'static str = "MsgSendTx"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// MsgSendTxResponse defines the response for MsgSendTx +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSendTxResponse { + #[prost(uint64, tag = "1")] + pub sequence: u64, +} +impl ::prost::Name for MsgSendTxResponse { + const NAME: &'static str = "MsgSendTxResponse"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// MsgUpdateParams defines the payload for Msg/UpdateParams +#[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 27-interchain-accounts/controller 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 = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// MsgUpdateParamsResponse defines the response for Msg/UpdateParams +#[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.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the 27-interchain-accounts/controller Msg service. + #[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 + } + /// RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount. + pub async fn register_interchain_account( + &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.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.controller.v1.Msg", + "RegisterInterchainAccount", + ), + ); + self.inner.unary(req, path, codec).await + } + /// SendTx defines a rpc handler for MsgSendTx. + pub async fn send_tx( + &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.applications.interchain_accounts.controller.v1.Msg/SendTx", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.controller.v1.Msg", + "SendTx", + ), + ); + self.inner.unary(req, path, codec).await + } + /// UpdateParams defines a rpc handler for MsgUpdateParams. + pub async fn update_params( + &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.applications.interchain_accounts.controller.v1.Msg/UpdateParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.controller.v1.Msg", + "UpdateParams", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// RegisterInterchainAccount defines a rpc handler for MsgRegisterInterchainAccount. + async fn register_interchain_account( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SendTx defines a rpc handler for MsgSendTx. + async fn send_tx( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateParams defines a rpc handler for MsgUpdateParams. + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the 27-interchain-accounts/controller Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.interchain_accounts.controller.v1.Msg/RegisterInterchainAccount" => { + #[allow(non_camel_case_types)] + struct RegisterInterchainAccountSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for RegisterInterchainAccountSvc { + type Response = super::MsgRegisterInterchainAccountResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::register_interchain_account(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = RegisterInterchainAccountSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.interchain_accounts.controller.v1.Msg/SendTx" => { + #[allow(non_camel_case_types)] + struct SendTxSvc(pub Arc); + impl tonic::server::UnaryService + for SendTxSvc { + type Response = super::MsgSendTxResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::send_tx(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SendTxSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.interchain_accounts.controller.v1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.applications.interchain_accounts.controller.v1.Msg"; + } +} +/// QueryInterchainAccountRequest is the request type for the Query/InterchainAccount RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryInterchainAccountRequest { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub connection_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryInterchainAccountRequest { + const NAME: &'static str = "QueryInterchainAccountRequest"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// QueryInterchainAccountResponse the response type for the Query/InterchainAccount RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryInterchainAccountResponse { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryInterchainAccountResponse { + const NAME: &'static str = "QueryInterchainAccountResponse"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", 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 = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", 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 = "ibc.applications.interchain_accounts.controller.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.controller.v1.{}", Self::NAME + ) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query provides defines the gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// InterchainAccount returns the interchain account address for a given owner address on a given connection + pub async fn interchain_account( + &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.applications.interchain_accounts.controller.v1.Query/InterchainAccount", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.controller.v1.Query", + "InterchainAccount", + ), + ); + self.inner.unary(req, path, codec).await + } + /// Params queries all parameters of the ICA controller submodule. + pub async fn params( + &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.applications.interchain_accounts.controller.v1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.controller.v1.Query", + "Params", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// InterchainAccount returns the interchain account address for a given owner address on a given connection + async fn interchain_account( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Params queries all parameters of the ICA controller submodule. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query provides defines the gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.interchain_accounts.controller.v1.Query/InterchainAccount" => { + #[allow(non_camel_case_types)] + struct InterchainAccountSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for InterchainAccountSvc { + type Response = super::QueryInterchainAccountResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::interchain_account(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = InterchainAccountSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.interchain_accounts.controller.v1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.applications.interchain_accounts.controller.v1.Query"; + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs new file mode 100644 index 00000000..7968bb9a --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs @@ -0,0 +1,1111 @@ +impl serde::Serialize for MsgRegisterInterchainAccount { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.owner.is_empty() { + len += 1; + } + if !self.connection_id.is_empty() { + len += 1; + } + if !self.version.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount", len)?; + if !self.owner.is_empty() { + struct_ser.serialize_field("owner", &self.owner)?; + } + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if !self.version.is_empty() { + struct_ser.serialize_field("version", &self.version)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccount { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "owner", + "connection_id", + "connectionId", + "version", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Owner, + ConnectionId, + Version, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "owner" => Ok(GeneratedField::Owner), + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "version" => Ok(GeneratedField::Version), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRegisterInterchainAccount; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut owner__ = None; + let mut connection_id__ = None; + let mut version__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Owner => { + if owner__.is_some() { + return Err(serde::de::Error::duplicate_field("owner")); + } + owner__ = Some(map_.next_value()?); + } + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = Some(map_.next_value()?); + } + } + } + Ok(MsgRegisterInterchainAccount { + owner: owner__.unwrap_or_default(), + connection_id: connection_id__.unwrap_or_default(), + version: version__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRegisterInterchainAccountResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channel_id.is_empty() { + len += 1; + } + if !self.port_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse", len)?; + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccountResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel_id", + "channelId", + "port_id", + "portId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChannelId, + PortId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "portId" | "port_id" => Ok(GeneratedField::PortId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRegisterInterchainAccountResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel_id__ = None; + let mut port_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + } + } + Ok(MsgRegisterInterchainAccountResponse { + channel_id: channel_id__.unwrap_or_default(), + port_id: port_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSendTx { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.owner.is_empty() { + len += 1; + } + if !self.connection_id.is_empty() { + len += 1; + } + if self.packet_data.is_some() { + len += 1; + } + if self.relative_timeout != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTx", len)?; + if !self.owner.is_empty() { + struct_ser.serialize_field("owner", &self.owner)?; + } + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if let Some(v) = self.packet_data.as_ref() { + struct_ser.serialize_field("packetData", v)?; + } + if self.relative_timeout != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("relativeTimeout", ToString::to_string(&self.relative_timeout).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSendTx { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "owner", + "connection_id", + "connectionId", + "packet_data", + "packetData", + "relative_timeout", + "relativeTimeout", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Owner, + ConnectionId, + PacketData, + RelativeTimeout, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "owner" => Ok(GeneratedField::Owner), + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "packetData" | "packet_data" => Ok(GeneratedField::PacketData), + "relativeTimeout" | "relative_timeout" => Ok(GeneratedField::RelativeTimeout), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSendTx; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgSendTx") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut owner__ = None; + let mut connection_id__ = None; + let mut packet_data__ = None; + let mut relative_timeout__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Owner => { + if owner__.is_some() { + return Err(serde::de::Error::duplicate_field("owner")); + } + owner__ = Some(map_.next_value()?); + } + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::PacketData => { + if packet_data__.is_some() { + return Err(serde::de::Error::duplicate_field("packetData")); + } + packet_data__ = map_.next_value()?; + } + GeneratedField::RelativeTimeout => { + if relative_timeout__.is_some() { + return Err(serde::de::Error::duplicate_field("relativeTimeout")); + } + relative_timeout__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgSendTx { + owner: owner__.unwrap_or_default(), + connection_id: connection_id__.unwrap_or_default(), + packet_data: packet_data__, + relative_timeout: relative_timeout__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTx", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSendTxResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSendTxResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSendTxResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgSendTxResponse { + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signer.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams", len)?; + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signer", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signer, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signer" => Ok(GeneratedField::Signer), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signer__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + signer: signer__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.controller_enabled { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.Params", len)?; + if self.controller_enabled { + struct_ser.serialize_field("controllerEnabled", &self.controller_enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "controller_enabled", + "controllerEnabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ControllerEnabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "controllerEnabled" | "controller_enabled" => Ok(GeneratedField::ControllerEnabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut controller_enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ControllerEnabled => { + if controller_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("controllerEnabled")); + } + controller_enabled__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + controller_enabled: controller_enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryInterchainAccountRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.owner.is_empty() { + len += 1; + } + if !self.connection_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest", len)?; + if !self.owner.is_empty() { + struct_ser.serialize_field("owner", &self.owner)?; + } + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryInterchainAccountRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "owner", + "connection_id", + "connectionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Owner, + ConnectionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "owner" => Ok(GeneratedField::Owner), + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryInterchainAccountRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut owner__ = None; + let mut connection_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Owner => { + if owner__.is_some() { + return Err(serde::de::Error::duplicate_field("owner")); + } + owner__ = Some(map_.next_value()?); + } + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryInterchainAccountRequest { + owner: owner__.unwrap_or_default(), + connection_id: connection_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryInterchainAccountResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse", len)?; + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryInterchainAccountResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "address", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Address, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "address" => Ok(GeneratedField::Address), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryInterchainAccountResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryInterchainAccountResponse { + address: address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryParamsRequest { + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.genesis.v1.rs b/src/prost/ibc.applications.interchain_accounts.genesis.v1.rs new file mode 100644 index 00000000..10b5ab8c --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.genesis.v1.rs @@ -0,0 +1,105 @@ +/// GenesisState defines the interchain accounts genesis state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + #[prost(message, optional, tag = "1")] + pub controller_genesis_state: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub host_genesis_state: ::core::option::Option, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME + ) + } +} +/// ControllerGenesisState defines the interchain accounts controller genesis state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ControllerGenesisState { + #[prost(message, repeated, tag = "1")] + pub active_channels: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub interchain_accounts: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "3")] + pub ports: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub params: ::core::option::Option, +} +impl ::prost::Name for ControllerGenesisState { + const NAME: &'static str = "ControllerGenesisState"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME + ) + } +} +/// HostGenesisState defines the interchain accounts host genesis state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HostGenesisState { + #[prost(message, repeated, tag = "1")] + pub active_channels: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub interchain_accounts: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub port: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub params: ::core::option::Option, +} +impl ::prost::Name for HostGenesisState { + const NAME: &'static str = "HostGenesisState"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME + ) + } +} +/// ActiveChannel contains a connection ID, port ID and associated active channel ID, as well as a boolean flag to +/// indicate if the channel is middleware enabled +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActiveChannel { + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub port_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub channel_id: ::prost::alloc::string::String, + #[prost(bool, tag = "4")] + pub is_middleware_enabled: bool, +} +impl ::prost::Name for ActiveChannel { + const NAME: &'static str = "ActiveChannel"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME + ) + } +} +/// RegisteredInterchainAccount contains a connection ID, port ID and associated interchain account address +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RegisteredInterchainAccount { + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub port_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub account_address: ::prost::alloc::string::String, +} +impl ::prost::Name for RegisteredInterchainAccount { + const NAME: &'static str = "RegisteredInterchainAccount"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.genesis.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.genesis.v1.{}", Self::NAME + ) + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs new file mode 100644 index 00000000..fcf5dce7 --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs @@ -0,0 +1,672 @@ +impl serde::Serialize for ActiveChannel { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.is_middleware_enabled { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.ActiveChannel", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.is_middleware_enabled { + struct_ser.serialize_field("isMiddlewareEnabled", &self.is_middleware_enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ActiveChannel { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + "port_id", + "portId", + "channel_id", + "channelId", + "is_middleware_enabled", + "isMiddlewareEnabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + PortId, + ChannelId, + IsMiddlewareEnabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "isMiddlewareEnabled" | "is_middleware_enabled" => Ok(GeneratedField::IsMiddlewareEnabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ActiveChannel; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.ActiveChannel") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + let mut port_id__ = None; + let mut channel_id__ = None; + let mut is_middleware_enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::IsMiddlewareEnabled => { + if is_middleware_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("isMiddlewareEnabled")); + } + is_middleware_enabled__ = Some(map_.next_value()?); + } + } + } + Ok(ActiveChannel { + connection_id: connection_id__.unwrap_or_default(), + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + is_middleware_enabled: is_middleware_enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.genesis.v1.ActiveChannel", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ControllerGenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.active_channels.is_empty() { + len += 1; + } + if !self.interchain_accounts.is_empty() { + len += 1; + } + if !self.ports.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState", len)?; + if !self.active_channels.is_empty() { + struct_ser.serialize_field("activeChannels", &self.active_channels)?; + } + if !self.interchain_accounts.is_empty() { + struct_ser.serialize_field("interchainAccounts", &self.interchain_accounts)?; + } + if !self.ports.is_empty() { + struct_ser.serialize_field("ports", &self.ports)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ControllerGenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "active_channels", + "activeChannels", + "interchain_accounts", + "interchainAccounts", + "ports", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ActiveChannels, + InterchainAccounts, + Ports, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "activeChannels" | "active_channels" => Ok(GeneratedField::ActiveChannels), + "interchainAccounts" | "interchain_accounts" => Ok(GeneratedField::InterchainAccounts), + "ports" => Ok(GeneratedField::Ports), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ControllerGenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut active_channels__ = None; + let mut interchain_accounts__ = None; + let mut ports__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ActiveChannels => { + if active_channels__.is_some() { + return Err(serde::de::Error::duplicate_field("activeChannels")); + } + active_channels__ = Some(map_.next_value()?); + } + GeneratedField::InterchainAccounts => { + if interchain_accounts__.is_some() { + return Err(serde::de::Error::duplicate_field("interchainAccounts")); + } + interchain_accounts__ = Some(map_.next_value()?); + } + GeneratedField::Ports => { + if ports__.is_some() { + return Err(serde::de::Error::duplicate_field("ports")); + } + ports__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(ControllerGenesisState { + active_channels: active_channels__.unwrap_or_default(), + interchain_accounts: interchain_accounts__.unwrap_or_default(), + ports: ports__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.controller_genesis_state.is_some() { + len += 1; + } + if self.host_genesis_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.GenesisState", len)?; + if let Some(v) = self.controller_genesis_state.as_ref() { + struct_ser.serialize_field("controllerGenesisState", v)?; + } + if let Some(v) = self.host_genesis_state.as_ref() { + struct_ser.serialize_field("hostGenesisState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "controller_genesis_state", + "controllerGenesisState", + "host_genesis_state", + "hostGenesisState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ControllerGenesisState, + HostGenesisState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "controllerGenesisState" | "controller_genesis_state" => Ok(GeneratedField::ControllerGenesisState), + "hostGenesisState" | "host_genesis_state" => Ok(GeneratedField::HostGenesisState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut controller_genesis_state__ = None; + let mut host_genesis_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ControllerGenesisState => { + if controller_genesis_state__.is_some() { + return Err(serde::de::Error::duplicate_field("controllerGenesisState")); + } + controller_genesis_state__ = map_.next_value()?; + } + GeneratedField::HostGenesisState => { + if host_genesis_state__.is_some() { + return Err(serde::de::Error::duplicate_field("hostGenesisState")); + } + host_genesis_state__ = map_.next_value()?; + } + } + } + Ok(GenesisState { + controller_genesis_state: controller_genesis_state__, + host_genesis_state: host_genesis_state__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.genesis.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for HostGenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.active_channels.is_empty() { + len += 1; + } + if !self.interchain_accounts.is_empty() { + len += 1; + } + if !self.port.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.HostGenesisState", len)?; + if !self.active_channels.is_empty() { + struct_ser.serialize_field("activeChannels", &self.active_channels)?; + } + if !self.interchain_accounts.is_empty() { + struct_ser.serialize_field("interchainAccounts", &self.interchain_accounts)?; + } + if !self.port.is_empty() { + struct_ser.serialize_field("port", &self.port)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for HostGenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "active_channels", + "activeChannels", + "interchain_accounts", + "interchainAccounts", + "port", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ActiveChannels, + InterchainAccounts, + Port, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "activeChannels" | "active_channels" => Ok(GeneratedField::ActiveChannels), + "interchainAccounts" | "interchain_accounts" => Ok(GeneratedField::InterchainAccounts), + "port" => Ok(GeneratedField::Port), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = HostGenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.HostGenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut active_channels__ = None; + let mut interchain_accounts__ = None; + let mut port__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ActiveChannels => { + if active_channels__.is_some() { + return Err(serde::de::Error::duplicate_field("activeChannels")); + } + active_channels__ = Some(map_.next_value()?); + } + GeneratedField::InterchainAccounts => { + if interchain_accounts__.is_some() { + return Err(serde::de::Error::duplicate_field("interchainAccounts")); + } + interchain_accounts__ = Some(map_.next_value()?); + } + GeneratedField::Port => { + if port__.is_some() { + return Err(serde::de::Error::duplicate_field("port")); + } + port__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(HostGenesisState { + active_channels: active_channels__.unwrap_or_default(), + interchain_accounts: interchain_accounts__.unwrap_or_default(), + port: port__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.genesis.v1.HostGenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for RegisteredInterchainAccount { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + if !self.port_id.is_empty() { + len += 1; + } + if !self.account_address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.account_address.is_empty() { + struct_ser.serialize_field("accountAddress", &self.account_address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for RegisteredInterchainAccount { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + "port_id", + "portId", + "account_address", + "accountAddress", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + PortId, + AccountAddress, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "portId" | "port_id" => Ok(GeneratedField::PortId), + "accountAddress" | "account_address" => Ok(GeneratedField::AccountAddress), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RegisteredInterchainAccount; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + let mut port_id__ = None; + let mut account_address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::AccountAddress => { + if account_address__.is_some() { + return Err(serde::de::Error::duplicate_field("accountAddress")); + } + account_address__ = Some(map_.next_value()?); + } + } + } + Ok(RegisteredInterchainAccount { + connection_id: connection_id__.unwrap_or_default(), + port_id: port_id__.unwrap_or_default(), + account_address: account_address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.host.v1.rs b/src/prost/ibc.applications.interchain_accounts.host.v1.rs new file mode 100644 index 00000000..0cbc62ef --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.host.v1.rs @@ -0,0 +1,690 @@ +/// Params defines the set of on-chain interchain accounts parameters. +/// The following parameters may be used to disable the host submodule. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// host_enabled enables or disables the host submodule. + #[prost(bool, tag = "1")] + pub host_enabled: bool, + /// allow_messages defines a list of sdk message typeURLs allowed to be executed on a host chain. + #[prost(string, repeated, tag = "2")] + pub allow_messages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "ibc.applications.interchain_accounts.host.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME + ) + } +} +/// MsgUpdateParams defines the payload for Msg/UpdateParams +#[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 27-interchain-accounts/host 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 = "ibc.applications.interchain_accounts.host.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME + ) + } +} +/// MsgUpdateParamsResponse defines the response for Msg/UpdateParams +#[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.applications.interchain_accounts.host.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME + ) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the 27-interchain-accounts/host Msg service. + #[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 + } + /// UpdateParams defines a rpc handler for MsgUpdateParams. + pub async fn update_params( + &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.applications.interchain_accounts.host.v1.Msg/UpdateParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.host.v1.Msg", + "UpdateParams", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// UpdateParams defines a rpc handler for MsgUpdateParams. + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the 27-interchain-accounts/host Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.interchain_accounts.host.v1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.applications.interchain_accounts.host.v1.Msg"; + } +} +/// 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 = "ibc.applications.interchain_accounts.host.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.host.v1.{}", 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 = "ibc.applications.interchain_accounts.host.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!( + "ibc.applications.interchain_accounts.host.v1.{}", Self::NAME + ) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query provides defines the gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Params queries all parameters of the ICA host submodule. + pub async fn params( + &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.applications.interchain_accounts.host.v1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.interchain_accounts.host.v1.Query", + "Params", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Params queries all parameters of the ICA host submodule. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query provides defines the gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.interchain_accounts.host.v1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.applications.interchain_accounts.host.v1.Query"; + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs new file mode 100644 index 00000000..27c45678 --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs @@ -0,0 +1,451 @@ +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signer.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.MsgUpdateParams", len)?; + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signer", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signer, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signer" => Ok(GeneratedField::Signer), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signer__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + signer: signer__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.host.v1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.host_enabled { + len += 1; + } + if !self.allow_messages.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.Params", len)?; + if self.host_enabled { + struct_ser.serialize_field("hostEnabled", &self.host_enabled)?; + } + if !self.allow_messages.is_empty() { + struct_ser.serialize_field("allowMessages", &self.allow_messages)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "host_enabled", + "hostEnabled", + "allow_messages", + "allowMessages", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + HostEnabled, + AllowMessages, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hostEnabled" | "host_enabled" => Ok(GeneratedField::HostEnabled), + "allowMessages" | "allow_messages" => Ok(GeneratedField::AllowMessages), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut host_enabled__ = None; + let mut allow_messages__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::HostEnabled => { + if host_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("hostEnabled")); + } + host_enabled__ = Some(map_.next_value()?); + } + GeneratedField::AllowMessages => { + if allow_messages__.is_some() { + return Err(serde::de::Error::duplicate_field("allowMessages")); + } + allow_messages__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + host_enabled: host_enabled__.unwrap_or_default(), + allow_messages: allow_messages__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.host.v1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.QueryParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryParamsRequest { + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.host.v1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.QueryParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.host.v1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.v1.rs b/src/prost/ibc.applications.interchain_accounts.v1.rs new file mode 100644 index 00000000..045606e3 --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.v1.rs @@ -0,0 +1,114 @@ +/// An InterchainAccount is defined as a BaseAccount & the address of the account owner on the controller chain +#[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< + super::super::super::super::cosmos::auth::v1beta1::BaseAccount, + >, + #[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) + } +} +/// InterchainAccountPacketData is comprised of a raw transaction, type of transaction and optional memo field. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InterchainAccountPacketData { + #[prost(enumeration = "Type", tag = "1")] + pub r#type: i32, + #[prost(bytes = "vec", tag = "2")] + pub data: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub memo: ::prost::alloc::string::String, +} +impl ::prost::Name for InterchainAccountPacketData { + const NAME: &'static str = "InterchainAccountPacketData"; + 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) + } +} +/// CosmosTx contains a list of sdk.Msg's. It should be used when sending transactions to an SDK host chain. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CosmosTx { + #[prost(message, repeated, tag = "1")] + pub messages: ::prost::alloc::vec::Vec< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for CosmosTx { + const NAME: &'static str = "CosmosTx"; + 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) + } +} +/// Type defines a classification of message issued from a controller chain to its associated interchain accounts +/// host +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Type { + /// Default zero value enumeration + Unspecified = 0, + /// Execute a transaction on an interchain accounts host chain + ExecuteTx = 1, +} +impl Type { + /// 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 { + Type::Unspecified => "TYPE_UNSPECIFIED", + Type::ExecuteTx => "TYPE_EXECUTE_TX", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "TYPE_EXECUTE_TX" => Some(Self::ExecuteTx), + _ => None, + } + } +} +/// Metadata defines a set of protocol specific data encoded into the ICS27 channel version bytestring +/// See ICS004: +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Metadata { + /// version defines the ICS27 protocol version + #[prost(string, tag = "1")] + pub version: ::prost::alloc::string::String, + /// controller_connection_id is the connection identifier associated with the controller chain + #[prost(string, tag = "2")] + pub controller_connection_id: ::prost::alloc::string::String, + /// host_connection_id is the connection identifier associated with the host chain + #[prost(string, tag = "3")] + pub host_connection_id: ::prost::alloc::string::String, + /// address defines the interchain account address to be fulfilled upon the OnChanOpenTry handshake step + /// NOTE: the address field is empty on the OnChanOpenInit handshake step + #[prost(string, tag = "4")] + pub address: ::prost::alloc::string::String, + /// encoding defines the supported codec format + #[prost(string, tag = "5")] + pub encoding: ::prost::alloc::string::String, + /// tx_type defines the type of transactions the interchain account can execute + #[prost(string, tag = "6")] + pub tx_type: ::prost::alloc::string::String, +} +impl ::prost::Name for Metadata { + const NAME: &'static str = "Metadata"; + 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) + } +} diff --git a/src/prost/ibc.applications.interchain_accounts.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.v1.serde.rs new file mode 100644 index 00000000..84636c8e --- /dev/null +++ b/src/prost/ibc.applications.interchain_accounts.v1.serde.rs @@ -0,0 +1,581 @@ +impl serde::Serialize for CosmosTx { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.messages.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.CosmosTx", len)?; + if !self.messages.is_empty() { + struct_ser.serialize_field("messages", &self.messages)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CosmosTx { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "messages", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Messages, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "messages" => Ok(GeneratedField::Messages), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CosmosTx; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.v1.CosmosTx") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut messages__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Messages => { + if messages__.is_some() { + return Err(serde::de::Error::duplicate_field("messages")); + } + messages__ = Some(map_.next_value()?); + } + } + } + Ok(CosmosTx { + messages: messages__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.v1.CosmosTx", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for InterchainAccount { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.base_account.is_some() { + len += 1; + } + if !self.account_owner.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccount", len)?; + if let Some(v) = self.base_account.as_ref() { + struct_ser.serialize_field("baseAccount", v)?; + } + if !self.account_owner.is_empty() { + struct_ser.serialize_field("accountOwner", &self.account_owner)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InterchainAccount { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "base_account", + "baseAccount", + "account_owner", + "accountOwner", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + BaseAccount, + AccountOwner, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "baseAccount" | "base_account" => Ok(GeneratedField::BaseAccount), + "accountOwner" | "account_owner" => Ok(GeneratedField::AccountOwner), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InterchainAccount; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.v1.InterchainAccount") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut base_account__ = None; + let mut account_owner__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::BaseAccount => { + if base_account__.is_some() { + return Err(serde::de::Error::duplicate_field("baseAccount")); + } + base_account__ = map_.next_value()?; + } + GeneratedField::AccountOwner => { + if account_owner__.is_some() { + return Err(serde::de::Error::duplicate_field("accountOwner")); + } + account_owner__ = Some(map_.next_value()?); + } + } + } + Ok(InterchainAccount { + base_account: base_account__, + account_owner: account_owner__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccount", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for InterchainAccountPacketData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.r#type != 0 { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + if !self.memo.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccountPacketData", len)?; + if self.r#type != 0 { + let v = Type::try_from(self.r#type) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; + struct_ser.serialize_field("type", &v)?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + if !self.memo.is_empty() { + struct_ser.serialize_field("memo", &self.memo)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for InterchainAccountPacketData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "type", + "data", + "memo", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Type, + Data, + Memo, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "type" => Ok(GeneratedField::Type), + "data" => Ok(GeneratedField::Data), + "memo" => Ok(GeneratedField::Memo), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = InterchainAccountPacketData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.v1.InterchainAccountPacketData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut r#type__ = None; + let mut data__ = None; + let mut memo__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Type => { + if r#type__.is_some() { + return Err(serde::de::Error::duplicate_field("type")); + } + r#type__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Memo => { + if memo__.is_some() { + return Err(serde::de::Error::duplicate_field("memo")); + } + memo__ = Some(map_.next_value()?); + } + } + } + Ok(InterchainAccountPacketData { + r#type: r#type__.unwrap_or_default(), + data: data__.unwrap_or_default(), + memo: memo__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccountPacketData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Metadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.version.is_empty() { + len += 1; + } + if !self.controller_connection_id.is_empty() { + len += 1; + } + if !self.host_connection_id.is_empty() { + len += 1; + } + if !self.address.is_empty() { + len += 1; + } + if !self.encoding.is_empty() { + len += 1; + } + if !self.tx_type.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.Metadata", len)?; + if !self.version.is_empty() { + struct_ser.serialize_field("version", &self.version)?; + } + if !self.controller_connection_id.is_empty() { + struct_ser.serialize_field("controllerConnectionId", &self.controller_connection_id)?; + } + if !self.host_connection_id.is_empty() { + struct_ser.serialize_field("hostConnectionId", &self.host_connection_id)?; + } + if !self.address.is_empty() { + struct_ser.serialize_field("address", &self.address)?; + } + if !self.encoding.is_empty() { + struct_ser.serialize_field("encoding", &self.encoding)?; + } + if !self.tx_type.is_empty() { + struct_ser.serialize_field("txType", &self.tx_type)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Metadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "version", + "controller_connection_id", + "controllerConnectionId", + "host_connection_id", + "hostConnectionId", + "address", + "encoding", + "tx_type", + "txType", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Version, + ControllerConnectionId, + HostConnectionId, + Address, + Encoding, + TxType, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "version" => Ok(GeneratedField::Version), + "controllerConnectionId" | "controller_connection_id" => Ok(GeneratedField::ControllerConnectionId), + "hostConnectionId" | "host_connection_id" => Ok(GeneratedField::HostConnectionId), + "address" => Ok(GeneratedField::Address), + "encoding" => Ok(GeneratedField::Encoding), + "txType" | "tx_type" => Ok(GeneratedField::TxType), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Metadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.interchain_accounts.v1.Metadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut version__ = None; + let mut controller_connection_id__ = None; + let mut host_connection_id__ = None; + let mut address__ = None; + let mut encoding__ = None; + let mut tx_type__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = Some(map_.next_value()?); + } + GeneratedField::ControllerConnectionId => { + if controller_connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("controllerConnectionId")); + } + controller_connection_id__ = Some(map_.next_value()?); + } + GeneratedField::HostConnectionId => { + if host_connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("hostConnectionId")); + } + host_connection_id__ = Some(map_.next_value()?); + } + GeneratedField::Address => { + if address__.is_some() { + return Err(serde::de::Error::duplicate_field("address")); + } + address__ = Some(map_.next_value()?); + } + GeneratedField::Encoding => { + if encoding__.is_some() { + return Err(serde::de::Error::duplicate_field("encoding")); + } + encoding__ = Some(map_.next_value()?); + } + GeneratedField::TxType => { + if tx_type__.is_some() { + return Err(serde::de::Error::duplicate_field("txType")); + } + tx_type__ = Some(map_.next_value()?); + } + } + } + Ok(Metadata { + version: version__.unwrap_or_default(), + controller_connection_id: controller_connection_id__.unwrap_or_default(), + host_connection_id: host_connection_id__.unwrap_or_default(), + address: address__.unwrap_or_default(), + encoding: encoding__.unwrap_or_default(), + tx_type: tx_type__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.interchain_accounts.v1.Metadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Type { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "TYPE_UNSPECIFIED", + Self::ExecuteTx => "TYPE_EXECUTE_TX", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for Type { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "TYPE_UNSPECIFIED", + "TYPE_EXECUTE_TX", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Type; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "TYPE_UNSPECIFIED" => Ok(Type::Unspecified), + "TYPE_EXECUTE_TX" => Ok(Type::ExecuteTx), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.transfer.v1.rs b/src/prost/ibc.applications.transfer.v1.rs new file mode 100644 index 00000000..0c84ba34 --- /dev/null +++ b/src/prost/ibc.applications.transfer.v1.rs @@ -0,0 +1,1484 @@ +/// DenomTrace contains the base denomination for ICS20 fungible tokens and the +/// source tracing information path. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DenomTrace { + /// path defines the chain of port/channel identifiers used for tracing the + /// source of the fungible token. + #[prost(string, tag = "1")] + pub path: ::prost::alloc::string::String, + /// base denomination of the relayed fungible token. + #[prost(string, tag = "2")] + pub base_denom: ::prost::alloc::string::String, +} +impl ::prost::Name for DenomTrace { + const NAME: &'static str = "DenomTrace"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// Params defines the set of IBC transfer parameters. +/// NOTE: To prevent a single token from being transferred, set the +/// TransfersEnabled parameter to true and then set the bank module's SendEnabled +/// parameter for the denomination to false. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// send_enabled enables or disables all cross-chain token transfers from this + /// chain. + #[prost(bool, tag = "1")] + pub send_enabled: bool, + /// receive_enabled enables or disables all cross-chain token transfers to this + /// chain. + #[prost(bool, tag = "2")] + pub receive_enabled: bool, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between +/// ICS20 enabled chains. See ICS Spec here: +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgTransfer { + /// 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, + /// the tokens to be transferred + #[prost(message, optional, tag = "3")] + pub token: ::core::option::Option< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, + /// the sender address + #[prost(string, tag = "4")] + pub sender: ::prost::alloc::string::String, + /// the recipient address on the destination chain + #[prost(string, tag = "5")] + pub receiver: ::prost::alloc::string::String, + /// Timeout height relative to the current block height. + /// The timeout is disabled when set to 0. + #[prost(message, optional, tag = "6")] + pub timeout_height: ::core::option::Option< + super::super::super::core::client::v1::Height, + >, + /// Timeout timestamp in absolute nanoseconds since unix epoch. + /// The timeout is disabled when set to 0. + #[prost(uint64, tag = "7")] + pub timeout_timestamp: u64, + /// optional memo + #[prost(string, tag = "8")] + pub memo: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgTransfer { + const NAME: &'static str = "MsgTransfer"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// MsgTransferResponse defines the Msg/Transfer response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgTransferResponse { + /// sequence number of the transfer packet sent + #[prost(uint64, tag = "1")] + pub sequence: u64, +} +impl ::prost::Name for MsgTransferResponse { + const NAME: &'static str = "MsgTransferResponse"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// MsgUpdateParams is the Msg/UpdateParams request type. +#[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 transfer 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 = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// MsgUpdateParamsResponse defines the response structure for executing a +/// MsgUpdateParams message. +#[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.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the ibc/transfer Msg service. + #[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 + } + /// Transfer defines a rpc handler method for MsgTransfer. + pub async fn transfer( + &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.applications.transfer.v1.Msg/Transfer", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.applications.transfer.v1.Msg", "Transfer")); + self.inner.unary(req, path, codec).await + } + /// UpdateParams defines a rpc handler for MsgUpdateParams. + pub async fn update_params( + &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.applications.transfer.v1.Msg/UpdateParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.transfer.v1.Msg", "UpdateParams"), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// Transfer defines a rpc handler method for MsgTransfer. + async fn transfer( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateParams defines a rpc handler for MsgUpdateParams. + async fn update_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the ibc/transfer Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.transfer.v1.Msg/Transfer" => { + #[allow(non_camel_case_types)] + struct TransferSvc(pub Arc); + impl tonic::server::UnaryService + for TransferSvc { + type Response = super::MsgTransferResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::transfer(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TransferSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.transfer.v1.Msg/UpdateParams" => { + #[allow(non_camel_case_types)] + struct UpdateParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.applications.transfer.v1.Msg"; + } +} +/// QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC +/// method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomTraceRequest { + /// hash (in hex format) or denom (full denom with ibc prefix) of the denomination trace information. + #[prost(string, tag = "1")] + pub hash: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDenomTraceRequest { + const NAME: &'static str = "QueryDenomTraceRequest"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomTraceResponse { + /// denom_trace returns the requested denomination trace information. + #[prost(message, optional, tag = "1")] + pub denom_trace: ::core::option::Option, +} +impl ::prost::Name for QueryDenomTraceResponse { + const NAME: &'static str = "QueryDenomTraceResponse"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryConnectionsRequest is the request type for the Query/DenomTraces RPC +/// method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomTracesRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryDenomTracesRequest { + const NAME: &'static str = "QueryDenomTracesRequest"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryConnectionsResponse is the response type for the Query/DenomTraces RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomTracesResponse { + /// denom_traces returns all denominations trace information. + #[prost(message, repeated, tag = "1")] + pub denom_traces: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageResponse, + >, +} +impl ::prost::Name for QueryDenomTracesResponse { + const NAME: &'static str = "QueryDenomTracesResponse"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", 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 = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", 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 = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryDenomHashRequest is the request type for the Query/DenomHash RPC +/// method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomHashRequest { + /// The denomination trace `([port_id]/[channel_id])+/[denom]` + #[prost(string, tag = "1")] + pub trace: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDenomHashRequest { + const NAME: &'static str = "QueryDenomHashRequest"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryDenomHashResponse is the response type for the Query/DenomHash RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryDenomHashResponse { + /// hash (in hex format) of the denomination trace information. + #[prost(string, tag = "1")] + pub hash: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryDenomHashResponse { + const NAME: &'static str = "QueryDenomHashResponse"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryEscrowAddressRequest is the request type for the EscrowAddress RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryEscrowAddressRequest { + /// unique port identifier + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// unique channel identifier + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryEscrowAddressRequest { + const NAME: &'static str = "QueryEscrowAddressRequest"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryEscrowAddressResponse is the response type of the EscrowAddress RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryEscrowAddressResponse { + /// the escrow account address + #[prost(string, tag = "1")] + pub escrow_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryEscrowAddressResponse { + const NAME: &'static str = "QueryEscrowAddressResponse"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryTotalEscrowForDenomRequest is the request type for TotalEscrowForDenom RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalEscrowForDenomRequest { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryTotalEscrowForDenomRequest { + const NAME: &'static str = "QueryTotalEscrowForDenomRequest"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// QueryTotalEscrowForDenomResponse is the response type for TotalEscrowForDenom RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryTotalEscrowForDenomResponse { + #[prost(message, optional, tag = "1")] + pub amount: ::core::option::Option< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for QueryTotalEscrowForDenomResponse { + const NAME: &'static str = "QueryTotalEscrowForDenomResponse"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query provides defines the gRPC querier service. + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// DenomTraces queries all denomination traces. + pub async fn denom_traces( + &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.applications.transfer.v1.Query/DenomTraces", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.transfer.v1.Query", "DenomTraces"), + ); + self.inner.unary(req, path, codec).await + } + /// DenomTrace queries a denomination trace information. + pub async fn denom_trace( + &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.applications.transfer.v1.Query/DenomTrace", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.transfer.v1.Query", "DenomTrace"), + ); + self.inner.unary(req, path, codec).await + } + /// Params queries all parameters of the ibc-transfer module. + pub async fn params( + &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.applications.transfer.v1.Query/Params", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.applications.transfer.v1.Query", "Params")); + self.inner.unary(req, path, codec).await + } + /// DenomHash queries a denomination hash information. + pub async fn denom_hash( + &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.applications.transfer.v1.Query/DenomHash", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.applications.transfer.v1.Query", "DenomHash"), + ); + self.inner.unary(req, path, codec).await + } + /// EscrowAddress returns the escrow address for a particular port and channel id. + pub async fn escrow_address( + &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.applications.transfer.v1.Query/EscrowAddress", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.transfer.v1.Query", + "EscrowAddress", + ), + ); + self.inner.unary(req, path, codec).await + } + /// TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom. + pub async fn total_escrow_for_denom( + &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.applications.transfer.v1.Query/TotalEscrowForDenom", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.applications.transfer.v1.Query", + "TotalEscrowForDenom", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// DenomTraces queries all denomination traces. + async fn denom_traces( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DenomTrace queries a denomination trace information. + async fn denom_trace( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Params queries all parameters of the ibc-transfer module. + async fn params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// DenomHash queries a denomination hash information. + async fn denom_hash( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// EscrowAddress returns the escrow address for a particular port and channel id. + async fn escrow_address( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TotalEscrowForDenom returns the total amount of tokens in escrow based on the denom. + async fn total_escrow_for_denom( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query provides defines the gRPC querier service. + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.applications.transfer.v1.Query/DenomTraces" => { + #[allow(non_camel_case_types)] + struct DenomTracesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DenomTracesSvc { + type Response = super::QueryDenomTracesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::denom_traces(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DenomTracesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.transfer.v1.Query/DenomTrace" => { + #[allow(non_camel_case_types)] + struct DenomTraceSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DenomTraceSvc { + type Response = super::QueryDenomTraceResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::denom_trace(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DenomTraceSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.transfer.v1.Query/Params" => { + #[allow(non_camel_case_types)] + struct ParamsSvc(pub Arc); + impl tonic::server::UnaryService + for ParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.transfer.v1.Query/DenomHash" => { + #[allow(non_camel_case_types)] + struct DenomHashSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for DenomHashSvc { + type Response = super::QueryDenomHashResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::denom_hash(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = DenomHashSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.transfer.v1.Query/EscrowAddress" => { + #[allow(non_camel_case_types)] + struct EscrowAddressSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for EscrowAddressSvc { + type Response = super::QueryEscrowAddressResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::escrow_address(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = EscrowAddressSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.applications.transfer.v1.Query/TotalEscrowForDenom" => { + #[allow(non_camel_case_types)] + struct TotalEscrowForDenomSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for TotalEscrowForDenomSvc { + type Response = super::QueryTotalEscrowForDenomResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryTotalEscrowForDenomRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::total_escrow_for_denom(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TotalEscrowForDenomSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.applications.transfer.v1.Query"; + } +} +/// Allocation defines the spend limit for a particular port and channel +#[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< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, + /// 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>, +} +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 +#[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) + } +} +/// GenesisState defines the ibc-transfer genesis state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub denom_traces: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub params: ::core::option::Option, + /// total_escrowed contains the total amount of tokens escrowed + /// by the transfer module + #[prost(message, repeated, tag = "4")] + pub total_escrowed: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.applications.transfer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v1.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.applications.transfer.v1.serde.rs b/src/prost/ibc.applications.transfer.v1.serde.rs new file mode 100644 index 00000000..95e87a96 --- /dev/null +++ b/src/prost/ibc.applications.transfer.v1.serde.rs @@ -0,0 +1,2202 @@ +impl serde::Serialize for Allocation { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.source_port.is_empty() { + len += 1; + } + if !self.source_channel.is_empty() { + len += 1; + } + if !self.spend_limit.is_empty() { + len += 1; + } + if !self.allow_list.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.Allocation", len)?; + if !self.source_port.is_empty() { + struct_ser.serialize_field("sourcePort", &self.source_port)?; + } + if !self.source_channel.is_empty() { + struct_ser.serialize_field("sourceChannel", &self.source_channel)?; + } + if !self.spend_limit.is_empty() { + struct_ser.serialize_field("spendLimit", &self.spend_limit)?; + } + if !self.allow_list.is_empty() { + struct_ser.serialize_field("allowList", &self.allow_list)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Allocation { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "source_port", + "sourcePort", + "source_channel", + "sourceChannel", + "spend_limit", + "spendLimit", + "allow_list", + "allowList", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SourcePort, + SourceChannel, + SpendLimit, + AllowList, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sourcePort" | "source_port" => Ok(GeneratedField::SourcePort), + "sourceChannel" | "source_channel" => Ok(GeneratedField::SourceChannel), + "spendLimit" | "spend_limit" => Ok(GeneratedField::SpendLimit), + "allowList" | "allow_list" => Ok(GeneratedField::AllowList), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Allocation; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.Allocation") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut source_port__ = None; + let mut source_channel__ = None; + let mut spend_limit__ = None; + let mut allow_list__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SourcePort => { + if source_port__.is_some() { + return Err(serde::de::Error::duplicate_field("sourcePort")); + } + source_port__ = Some(map_.next_value()?); + } + GeneratedField::SourceChannel => { + if source_channel__.is_some() { + return Err(serde::de::Error::duplicate_field("sourceChannel")); + } + source_channel__ = Some(map_.next_value()?); + } + GeneratedField::SpendLimit => { + if spend_limit__.is_some() { + return Err(serde::de::Error::duplicate_field("spendLimit")); + } + spend_limit__ = Some(map_.next_value()?); + } + GeneratedField::AllowList => { + if allow_list__.is_some() { + return Err(serde::de::Error::duplicate_field("allowList")); + } + allow_list__ = Some(map_.next_value()?); + } + } + } + Ok(Allocation { + source_port: source_port__.unwrap_or_default(), + source_channel: source_channel__.unwrap_or_default(), + spend_limit: spend_limit__.unwrap_or_default(), + allow_list: allow_list__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.Allocation", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DenomTrace { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if !self.base_denom.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.DenomTrace", len)?; + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + if !self.base_denom.is_empty() { + struct_ser.serialize_field("baseDenom", &self.base_denom)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for DenomTrace { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "base_denom", + "baseDenom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + BaseDenom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "baseDenom" | "base_denom" => Ok(GeneratedField::BaseDenom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DenomTrace; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.DenomTrace") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut base_denom__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = Some(map_.next_value()?); + } + GeneratedField::BaseDenom => { + if base_denom__.is_some() { + return Err(serde::de::Error::duplicate_field("baseDenom")); + } + base_denom__ = Some(map_.next_value()?); + } + } + } + Ok(DenomTrace { + path: path__.unwrap_or_default(), + base_denom: base_denom__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.DenomTrace", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.denom_traces.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + if !self.total_escrowed.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.GenesisState", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.denom_traces.is_empty() { + struct_ser.serialize_field("denomTraces", &self.denom_traces)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + if !self.total_escrowed.is_empty() { + struct_ser.serialize_field("totalEscrowed", &self.total_escrowed)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "denom_traces", + "denomTraces", + "params", + "total_escrowed", + "totalEscrowed", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + DenomTraces, + Params, + TotalEscrowed, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "denomTraces" | "denom_traces" => Ok(GeneratedField::DenomTraces), + "params" => Ok(GeneratedField::Params), + "totalEscrowed" | "total_escrowed" => Ok(GeneratedField::TotalEscrowed), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut denom_traces__ = None; + let mut params__ = None; + let mut total_escrowed__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::DenomTraces => { + if denom_traces__.is_some() { + return Err(serde::de::Error::duplicate_field("denomTraces")); + } + denom_traces__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + GeneratedField::TotalEscrowed => { + if total_escrowed__.is_some() { + return Err(serde::de::Error::duplicate_field("totalEscrowed")); + } + total_escrowed__ = Some(map_.next_value()?); + } + } + } + Ok(GenesisState { + port_id: port_id__.unwrap_or_default(), + denom_traces: denom_traces__.unwrap_or_default(), + params: params__, + total_escrowed: total_escrowed__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgTransfer { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.source_port.is_empty() { + len += 1; + } + if !self.source_channel.is_empty() { + len += 1; + } + if self.token.is_some() { + len += 1; + } + if !self.sender.is_empty() { + len += 1; + } + if !self.receiver.is_empty() { + len += 1; + } + if self.timeout_height.is_some() { + len += 1; + } + if self.timeout_timestamp != 0 { + len += 1; + } + if !self.memo.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgTransfer", len)?; + if !self.source_port.is_empty() { + struct_ser.serialize_field("sourcePort", &self.source_port)?; + } + if !self.source_channel.is_empty() { + struct_ser.serialize_field("sourceChannel", &self.source_channel)?; + } + if let Some(v) = self.token.as_ref() { + struct_ser.serialize_field("token", v)?; + } + if !self.sender.is_empty() { + struct_ser.serialize_field("sender", &self.sender)?; + } + if !self.receiver.is_empty() { + struct_ser.serialize_field("receiver", &self.receiver)?; + } + if let Some(v) = self.timeout_height.as_ref() { + struct_ser.serialize_field("timeoutHeight", v)?; + } + if self.timeout_timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timeoutTimestamp", ToString::to_string(&self.timeout_timestamp).as_str())?; + } + if !self.memo.is_empty() { + struct_ser.serialize_field("memo", &self.memo)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgTransfer { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "source_port", + "sourcePort", + "source_channel", + "sourceChannel", + "token", + "sender", + "receiver", + "timeout_height", + "timeoutHeight", + "timeout_timestamp", + "timeoutTimestamp", + "memo", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SourcePort, + SourceChannel, + Token, + Sender, + Receiver, + TimeoutHeight, + TimeoutTimestamp, + Memo, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sourcePort" | "source_port" => Ok(GeneratedField::SourcePort), + "sourceChannel" | "source_channel" => Ok(GeneratedField::SourceChannel), + "token" => Ok(GeneratedField::Token), + "sender" => Ok(GeneratedField::Sender), + "receiver" => Ok(GeneratedField::Receiver), + "timeoutHeight" | "timeout_height" => Ok(GeneratedField::TimeoutHeight), + "timeoutTimestamp" | "timeout_timestamp" => Ok(GeneratedField::TimeoutTimestamp), + "memo" => Ok(GeneratedField::Memo), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgTransfer; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.MsgTransfer") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut source_port__ = None; + let mut source_channel__ = None; + let mut token__ = None; + let mut sender__ = None; + let mut receiver__ = None; + let mut timeout_height__ = None; + let mut timeout_timestamp__ = None; + let mut memo__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SourcePort => { + if source_port__.is_some() { + return Err(serde::de::Error::duplicate_field("sourcePort")); + } + source_port__ = Some(map_.next_value()?); + } + GeneratedField::SourceChannel => { + if source_channel__.is_some() { + return Err(serde::de::Error::duplicate_field("sourceChannel")); + } + source_channel__ = Some(map_.next_value()?); + } + GeneratedField::Token => { + if token__.is_some() { + return Err(serde::de::Error::duplicate_field("token")); + } + token__ = map_.next_value()?; + } + GeneratedField::Sender => { + if sender__.is_some() { + return Err(serde::de::Error::duplicate_field("sender")); + } + sender__ = Some(map_.next_value()?); + } + GeneratedField::Receiver => { + if receiver__.is_some() { + return Err(serde::de::Error::duplicate_field("receiver")); + } + receiver__ = Some(map_.next_value()?); + } + GeneratedField::TimeoutHeight => { + if timeout_height__.is_some() { + return Err(serde::de::Error::duplicate_field("timeoutHeight")); + } + timeout_height__ = map_.next_value()?; + } + GeneratedField::TimeoutTimestamp => { + if timeout_timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timeoutTimestamp")); + } + timeout_timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Memo => { + if memo__.is_some() { + return Err(serde::de::Error::duplicate_field("memo")); + } + memo__ = Some(map_.next_value()?); + } + } + } + Ok(MsgTransfer { + source_port: source_port__.unwrap_or_default(), + source_channel: source_channel__.unwrap_or_default(), + token: token__, + sender: sender__.unwrap_or_default(), + receiver: receiver__.unwrap_or_default(), + timeout_height: timeout_height__, + timeout_timestamp: timeout_timestamp__.unwrap_or_default(), + memo: memo__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.MsgTransfer", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgTransferResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgTransferResponse", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgTransferResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgTransferResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.MsgTransferResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgTransferResponse { + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.MsgTransferResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signer.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgUpdateParams", len)?; + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signer", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signer, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signer" => Ok(GeneratedField::Signer), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signer__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + signer: signer__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.send_enabled { + len += 1; + } + if self.receive_enabled { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.Params", len)?; + if self.send_enabled { + struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; + } + if self.receive_enabled { + struct_ser.serialize_field("receiveEnabled", &self.receive_enabled)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "send_enabled", + "sendEnabled", + "receive_enabled", + "receiveEnabled", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SendEnabled, + ReceiveEnabled, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sendEnabled" | "send_enabled" => Ok(GeneratedField::SendEnabled), + "receiveEnabled" | "receive_enabled" => Ok(GeneratedField::ReceiveEnabled), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut send_enabled__ = None; + let mut receive_enabled__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SendEnabled => { + if send_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("sendEnabled")); + } + send_enabled__ = Some(map_.next_value()?); + } + GeneratedField::ReceiveEnabled => { + if receive_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("receiveEnabled")); + } + receive_enabled__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + send_enabled: send_enabled__.unwrap_or_default(), + receive_enabled: receive_enabled__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomHashRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.trace.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomHashRequest", len)?; + if !self.trace.is_empty() { + struct_ser.serialize_field("trace", &self.trace)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomHashRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "trace", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Trace, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "trace" => Ok(GeneratedField::Trace), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomHashRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomHashRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut trace__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Trace => { + if trace__.is_some() { + return Err(serde::de::Error::duplicate_field("trace")); + } + trace__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDenomHashRequest { + trace: trace__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryDenomHashRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomHashResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.hash.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomHashResponse", len)?; + if !self.hash.is_empty() { + struct_ser.serialize_field("hash", &self.hash)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomHashResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Hash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hash" => Ok(GeneratedField::Hash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomHashResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomHashResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDenomHashResponse { + hash: hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryDenomHashResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomTraceRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.hash.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTraceRequest", len)?; + if !self.hash.is_empty() { + struct_ser.serialize_field("hash", &self.hash)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomTraceRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Hash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hash" => Ok(GeneratedField::Hash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomTraceRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTraceRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = Some(map_.next_value()?); + } + } + } + Ok(QueryDenomTraceRequest { + hash: hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryDenomTraceRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomTraceResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.denom_trace.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTraceResponse", len)?; + if let Some(v) = self.denom_trace.as_ref() { + struct_ser.serialize_field("denomTrace", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomTraceResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom_trace", + "denomTrace", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DenomTrace, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denomTrace" | "denom_trace" => Ok(GeneratedField::DenomTrace), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomTraceResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTraceResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom_trace__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DenomTrace => { + if denom_trace__.is_some() { + return Err(serde::de::Error::duplicate_field("denomTrace")); + } + denom_trace__ = map_.next_value()?; + } + } + } + Ok(QueryDenomTraceResponse { + denom_trace: denom_trace__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryDenomTraceResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomTracesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTracesRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomTracesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomTracesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTracesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDenomTracesRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryDenomTracesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryDenomTracesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom_traces.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTracesResponse", len)?; + if !self.denom_traces.is_empty() { + struct_ser.serialize_field("denomTraces", &self.denom_traces)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryDenomTracesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom_traces", + "denomTraces", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DenomTraces, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denomTraces" | "denom_traces" => Ok(GeneratedField::DenomTraces), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryDenomTracesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTracesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom_traces__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DenomTraces => { + if denom_traces__.is_some() { + return Err(serde::de::Error::duplicate_field("denomTraces")); + } + denom_traces__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryDenomTracesResponse { + denom_traces: denom_traces__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryDenomTracesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryEscrowAddressRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryEscrowAddressRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryEscrowAddressRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryEscrowAddressRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryEscrowAddressRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryEscrowAddressRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryEscrowAddressRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryEscrowAddressResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.escrow_address.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryEscrowAddressResponse", len)?; + if !self.escrow_address.is_empty() { + struct_ser.serialize_field("escrowAddress", &self.escrow_address)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryEscrowAddressResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "escrow_address", + "escrowAddress", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + EscrowAddress, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "escrowAddress" | "escrow_address" => Ok(GeneratedField::EscrowAddress), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryEscrowAddressResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryEscrowAddressResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut escrow_address__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::EscrowAddress => { + if escrow_address__.is_some() { + return Err(serde::de::Error::duplicate_field("escrowAddress")); + } + escrow_address__ = Some(map_.next_value()?); + } + } + } + Ok(QueryEscrowAddressResponse { + escrow_address: escrow_address__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryEscrowAddressResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryParamsRequest { + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalEscrowForDenomRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalEscrowForDenomRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + } + } + Ok(QueryTotalEscrowForDenomRequest { + denom: denom__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryTotalEscrowForDenomResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.amount.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse", len)?; + if let Some(v) = self.amount.as_ref() { + struct_ser.serialize_field("amount", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "amount", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Amount, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "amount" => Ok(GeneratedField::Amount), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryTotalEscrowForDenomResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut amount__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = map_.next_value()?; + } + } + } + Ok(QueryTotalEscrowForDenomResponse { + amount: amount__, + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TransferAuthorization { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.allocations.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.TransferAuthorization", len)?; + if !self.allocations.is_empty() { + struct_ser.serialize_field("allocations", &self.allocations)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TransferAuthorization { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "allocations", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Allocations, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "allocations" => Ok(GeneratedField::Allocations), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TransferAuthorization; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v1.TransferAuthorization") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut allocations__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Allocations => { + if allocations__.is_some() { + return Err(serde::de::Error::duplicate_field("allocations")); + } + allocations__ = Some(map_.next_value()?); + } + } + } + Ok(TransferAuthorization { + allocations: allocations__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v1.TransferAuthorization", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.applications.transfer.v2.rs b/src/prost/ibc.applications.transfer.v2.rs new file mode 100644 index 00000000..33fa7869 --- /dev/null +++ b/src/prost/ibc.applications.transfer.v2.rs @@ -0,0 +1,29 @@ +/// FungibleTokenPacketData defines a struct for the packet payload +/// See FungibleTokenPacketData spec: +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FungibleTokenPacketData { + /// the token denomination to be transferred + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// the token amount to be transferred + #[prost(string, tag = "2")] + pub amount: ::prost::alloc::string::String, + /// the sender address + #[prost(string, tag = "3")] + pub sender: ::prost::alloc::string::String, + /// the recipient address on the destination chain + #[prost(string, tag = "4")] + pub receiver: ::prost::alloc::string::String, + /// optional memo + #[prost(string, tag = "5")] + pub memo: ::prost::alloc::string::String, +} +impl ::prost::Name for FungibleTokenPacketData { + const NAME: &'static str = "FungibleTokenPacketData"; + const PACKAGE: &'static str = "ibc.applications.transfer.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.applications.transfer.v2.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.applications.transfer.v2.serde.rs b/src/prost/ibc.applications.transfer.v2.serde.rs new file mode 100644 index 00000000..d7e1f339 --- /dev/null +++ b/src/prost/ibc.applications.transfer.v2.serde.rs @@ -0,0 +1,159 @@ +impl serde::Serialize for FungibleTokenPacketData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.denom.is_empty() { + len += 1; + } + if !self.amount.is_empty() { + len += 1; + } + if !self.sender.is_empty() { + len += 1; + } + if !self.receiver.is_empty() { + len += 1; + } + if !self.memo.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v2.FungibleTokenPacketData", len)?; + if !self.denom.is_empty() { + struct_ser.serialize_field("denom", &self.denom)?; + } + if !self.amount.is_empty() { + struct_ser.serialize_field("amount", &self.amount)?; + } + if !self.sender.is_empty() { + struct_ser.serialize_field("sender", &self.sender)?; + } + if !self.receiver.is_empty() { + struct_ser.serialize_field("receiver", &self.receiver)?; + } + if !self.memo.is_empty() { + struct_ser.serialize_field("memo", &self.memo)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for FungibleTokenPacketData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "denom", + "amount", + "sender", + "receiver", + "memo", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Denom, + Amount, + Sender, + Receiver, + Memo, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "denom" => Ok(GeneratedField::Denom), + "amount" => Ok(GeneratedField::Amount), + "sender" => Ok(GeneratedField::Sender), + "receiver" => Ok(GeneratedField::Receiver), + "memo" => Ok(GeneratedField::Memo), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = FungibleTokenPacketData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.applications.transfer.v2.FungibleTokenPacketData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut denom__ = None; + let mut amount__ = None; + let mut sender__ = None; + let mut receiver__ = None; + let mut memo__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Denom => { + if denom__.is_some() { + return Err(serde::de::Error::duplicate_field("denom")); + } + denom__ = Some(map_.next_value()?); + } + GeneratedField::Amount => { + if amount__.is_some() { + return Err(serde::de::Error::duplicate_field("amount")); + } + amount__ = Some(map_.next_value()?); + } + GeneratedField::Sender => { + if sender__.is_some() { + return Err(serde::de::Error::duplicate_field("sender")); + } + sender__ = Some(map_.next_value()?); + } + GeneratedField::Receiver => { + if receiver__.is_some() { + return Err(serde::de::Error::duplicate_field("receiver")); + } + receiver__ = Some(map_.next_value()?); + } + GeneratedField::Memo => { + if memo__.is_some() { + return Err(serde::de::Error::duplicate_field("memo")); + } + memo__ = Some(map_.next_value()?); + } + } + } + Ok(FungibleTokenPacketData { + denom: denom__.unwrap_or_default(), + amount: amount__.unwrap_or_default(), + sender: sender__.unwrap_or_default(), + receiver: receiver__.unwrap_or_default(), + memo: memo__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.applications.transfer.v2.FungibleTokenPacketData", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.core.channel.v1.rs b/src/prost/ibc.core.channel.v1.rs new file mode 100644 index 00000000..c9e6800a --- /dev/null +++ b/src/prost/ibc.core.channel.v1.rs @@ -0,0 +1,3766 @@ +/// Channel defines pipeline for exactly-once packet delivery between specific +/// modules on separate blockchains, which has at least one end capable of +/// sending packets and one end capable of receiving packets. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Channel { + /// current state of the channel end + #[prost(enumeration = "State", tag = "1")] + pub state: i32, + /// whether the channel is ordered or unordered + #[prost(enumeration = "Order", tag = "2")] + pub ordering: i32, + /// counterparty channel end + #[prost(message, optional, tag = "3")] + pub counterparty: ::core::option::Option, + /// list of connection identifiers, in order, along which packets sent on + /// this channel will travel + #[prost(string, repeated, tag = "4")] + pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// opaque channel version, which is agreed upon during the handshake + #[prost(string, tag = "5")] + pub version: ::prost::alloc::string::String, +} +impl ::prost::Name for Channel { + const NAME: &'static str = "Channel"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// IdentifiedChannel defines a channel with additional port and channel +/// identifier fields. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IdentifiedChannel { + /// current state of the channel end + #[prost(enumeration = "State", tag = "1")] + pub state: i32, + /// whether the channel is ordered or unordered + #[prost(enumeration = "Order", tag = "2")] + pub ordering: i32, + /// counterparty channel end + #[prost(message, optional, tag = "3")] + pub counterparty: ::core::option::Option, + /// list of connection identifiers, in order, along which packets sent on + /// this channel will travel + #[prost(string, repeated, tag = "4")] + pub connection_hops: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// opaque channel version, which is agreed upon during the handshake + #[prost(string, tag = "5")] + pub version: ::prost::alloc::string::String, + /// port identifier + #[prost(string, tag = "6")] + pub port_id: ::prost::alloc::string::String, + /// channel identifier + #[prost(string, tag = "7")] + pub channel_id: ::prost::alloc::string::String, +} +impl ::prost::Name for IdentifiedChannel { + const NAME: &'static str = "IdentifiedChannel"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// Counterparty defines a channel end counterparty +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Counterparty { + /// port on the counterparty chain which owns the other end of the channel. + #[prost(string, tag = "1")] + pub port_id: ::prost::alloc::string::String, + /// channel end on the counterparty chain + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, +} +impl ::prost::Name for Counterparty { + const NAME: &'static str = "Counterparty"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// Packet defines a type that carries data across different chains through IBC +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Packet { + /// number corresponds to the order of sends and receives, where a Packet + /// with an earlier sequence number must be sent and received before a Packet + /// with a later sequence number. + #[prost(uint64, tag = "1")] + pub sequence: u64, + /// identifies the port on the sending chain. + #[prost(string, tag = "2")] + pub source_port: ::prost::alloc::string::String, + /// identifies the channel end on the sending chain. + #[prost(string, tag = "3")] + pub source_channel: ::prost::alloc::string::String, + /// identifies the port on the receiving chain. + #[prost(string, tag = "4")] + pub destination_port: ::prost::alloc::string::String, + /// identifies the channel end on the receiving chain. + #[prost(string, tag = "5")] + pub destination_channel: ::prost::alloc::string::String, + /// actual opaque bytes transferred directly to the application module + #[prost(bytes = "vec", tag = "6")] + pub data: ::prost::alloc::vec::Vec, + /// block height after which the packet times out + #[prost(message, optional, tag = "7")] + pub timeout_height: ::core::option::Option, + /// block timestamp (in nanoseconds) after which the packet times out + #[prost(uint64, tag = "8")] + pub timeout_timestamp: u64, +} +impl ::prost::Name for Packet { + const NAME: &'static str = "Packet"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// PacketState defines the generic type necessary to retrieve and store +/// packet commitments, acknowledgements, and receipts. +/// Caller is responsible for knowing the context necessary to interpret this +/// state as a commitment, acknowledgement, or a receipt. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketState { + /// channel port 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, + /// embedded data that represents packet state. + #[prost(bytes = "vec", tag = "4")] + pub data: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PacketState { + const NAME: &'static str = "PacketState"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// PacketId is an identifer for a unique Packet +/// Source chains refer to packets by source port/channel +/// Destination chains refer to packets by destination port/channel +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketId { + /// channel port 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 PacketId { + const NAME: &'static str = "PacketId"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// Acknowledgement is the recommended acknowledgement format to be used by +/// app-specific protocols. +/// NOTE: The field numbers 21 and 22 were explicitly chosen to avoid accidental +/// conflicts with other protobuf message formats used for acknowledgements. +/// The first byte of any message with this format will be the non-ASCII values +/// `0xaa` (result) or `0xb2` (error). Implemented as defined by ICS: +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Acknowledgement { + /// response contains either a result or an error and must be non-empty + #[prost(oneof = "acknowledgement::Response", tags = "21, 22")] + pub response: ::core::option::Option, +} +/// Nested message and enum types in `Acknowledgement`. +pub mod acknowledgement { + /// response contains either a result or an error and must be non-empty + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Response { + #[prost(bytes, tag = "21")] + Result(::prost::alloc::vec::Vec), + #[prost(string, tag = "22")] + Error(::prost::alloc::string::String), + } +} +impl ::prost::Name for Acknowledgement { + const NAME: &'static str = "Acknowledgement"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// Timeout defines an execution deadline structure for 04-channel handlers. +/// This includes packet lifecycle handlers as well as the upgrade handshake handlers. +/// A valid Timeout contains either one or both of a timestamp and block height (sequence). +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Timeout { + /// block height after which the packet or upgrade times out + #[prost(message, optional, tag = "1")] + pub height: ::core::option::Option, + /// block timestamp (in nanoseconds) after which the packet or upgrade times out + #[prost(uint64, tag = "2")] + pub timestamp: u64, +} +impl ::prost::Name for Timeout { + const NAME: &'static str = "Timeout"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// State defines if a channel is in one of the following states: +/// CLOSED, INIT, TRYOPEN, OPEN or UNINITIALIZED. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum State { + /// Default State + UninitializedUnspecified = 0, + /// A channel has just started the opening handshake. + Init = 1, + /// A channel has acknowledged the handshake step on the counterparty chain. + Tryopen = 2, + /// A channel has completed the handshake. Open channels are + /// ready to send and receive packets. + Open = 3, + /// A channel has been closed and can no longer be used to send or receive + /// packets. + Closed = 4, +} +impl State { + /// 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 { + State::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED", + State::Init => "STATE_INIT", + State::Tryopen => "STATE_TRYOPEN", + State::Open => "STATE_OPEN", + State::Closed => "STATE_CLOSED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "STATE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified), + "STATE_INIT" => Some(Self::Init), + "STATE_TRYOPEN" => Some(Self::Tryopen), + "STATE_OPEN" => Some(Self::Open), + "STATE_CLOSED" => Some(Self::Closed), + _ => None, + } + } +} +/// Order defines if a channel is ORDERED or UNORDERED +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Order { + /// zero-value for channel ordering + NoneUnspecified = 0, + /// packets can be delivered in any order, which may differ from the order in + /// which they were sent. + Unordered = 1, + /// packets are delivered exactly in the order which they were sent + Ordered = 2, +} +impl Order { + /// 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 { + Order::NoneUnspecified => "ORDER_NONE_UNSPECIFIED", + Order::Unordered => "ORDER_UNORDERED", + Order::Ordered => "ORDER_ORDERED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ORDER_NONE_UNSPECIFIED" => Some(Self::NoneUnspecified), + "ORDER_UNORDERED" => Some(Self::Unordered), + "ORDER_ORDERED" => Some(Self::Ordered), + _ => None, + } + } +} +/// GenesisState defines the ibc channel submodule's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub channels: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub acknowledgements: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub commitments: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub receipts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub send_sequences: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] + pub recv_sequences: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "7")] + pub ack_sequences: ::prost::alloc::vec::Vec, + /// the sequence for the next generated channel identifier + #[prost(uint64, tag = "8")] + pub next_channel_sequence: u64, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// PacketSequence defines the genesis type necessary to retrieve and store +/// next send and receive sequences. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketSequence { + #[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 sequence: u64, +} +impl ::prost::Name for PacketSequence { + const NAME: &'static str = "PacketSequence"; + 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 an sdk.Msg to initialize a channel handshake. It +/// is called by a relayer on Chain A. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgChannelOpenInit { + #[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, +} +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) + } +} +/// MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. +#[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, +} +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) + } +} +/// 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. +#[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, +} +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) + } +} +/// MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. +#[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, +} +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) + } +} +/// MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge +/// the change of channel state to TRYOPEN on Chain B. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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 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) + } +} +/// MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgChannelOpenConfirm { + #[prost(string, tag = "1")] + 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 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) + } +} +/// MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response +/// type. +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgChannelCloseInit { + #[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 signer: ::prost::alloc::string::String, +} +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) + } +} +/// MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type. +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgChannelCloseConfirm { + #[prost(string, tag = "1")] + 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_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, +} +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) + } +} +/// MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response +/// type. +#[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 +#[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, + #[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 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) + } +} +/// MsgRecvPacketResponse defines the Msg/RecvPacket response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgRecvPacketResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, +} +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) + } +} +/// MsgTimeout receives timed-out packet +#[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, + #[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. +#[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 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) + } +} +/// MsgTimeoutOnClose timed-out packet upon counterparty channel closure. +#[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, + #[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, +} +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) + } +} +/// MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgTimeoutOnCloseResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, +} +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) + } +} +/// MsgAcknowledgement receives incoming IBC acknowledgement +#[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 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 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) + } +} +/// MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgAcknowledgementResponse { + #[prost(enumeration = "ResponseResultType", tag = "1")] + pub result: i32, +} +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) + } +} +/// ResponseResultType defines the possible outcomes of the execution of a message +#[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, +} +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", + } + } + /// 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), + _ => None, + } + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the ibc/channel Msg service. + #[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 + } + /// ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit. + pub async fn channel_open_init( + &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/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 + } + /// ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry. + pub async fn channel_open_try( + &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/ChannelOpenTry", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenTry")); + self.inner.unary(req, path, codec).await + } + /// ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck. + pub async fn channel_open_ack( + &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/ChannelOpenAck", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenAck")); + self.inner.unary(req, path, codec).await + } + /// ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm. + pub async fn channel_open_confirm( + &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/ChannelOpenConfirm", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelOpenConfirm"), + ); + self.inner.unary(req, path, codec).await + } + /// ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit. + pub async fn channel_close_init( + &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/ChannelCloseInit", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelCloseInit")); + self.inner.unary(req, path, codec).await + } + /// ChannelCloseConfirm defines a rpc handler method for + /// MsgChannelCloseConfirm. + pub async fn channel_close_confirm( + &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/ChannelCloseConfirm", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Msg", "ChannelCloseConfirm"), + ); + self.inner.unary(req, path, codec).await + } + /// RecvPacket defines a rpc handler method for MsgRecvPacket. + pub async fn recv_packet( + &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/RecvPacket", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "RecvPacket")); + self.inner.unary(req, path, codec).await + } + /// Timeout defines a rpc handler method for MsgTimeout. + pub async fn timeout( + &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/Timeout", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "Timeout")); + self.inner.unary(req, path, codec).await + } + /// TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose. + pub async fn timeout_on_close( + &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/TimeoutOnClose", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "TimeoutOnClose")); + self.inner.unary(req, path, codec).await + } + /// Acknowledgement defines a rpc handler method for MsgAcknowledgement. + pub async fn acknowledgement( + &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/Acknowledgement", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Msg", "Acknowledgement")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// ChannelOpenInit defines a rpc handler method for MsgChannelOpenInit. + async fn channel_open_init( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelOpenTry defines a rpc handler method for MsgChannelOpenTry. + async fn channel_open_try( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelOpenAck defines a rpc handler method for MsgChannelOpenAck. + async fn channel_open_ack( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelOpenConfirm defines a rpc handler method for MsgChannelOpenConfirm. + async fn channel_open_confirm( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelCloseInit defines a rpc handler method for MsgChannelCloseInit. + async fn channel_close_init( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelCloseConfirm defines a rpc handler method for + /// MsgChannelCloseConfirm. + async fn channel_close_confirm( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// RecvPacket defines a rpc handler method for MsgRecvPacket. + async fn recv_packet( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Timeout defines a rpc handler method for MsgTimeout. + async fn timeout( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// TimeoutOnClose defines a rpc handler method for MsgTimeoutOnClose. + async fn timeout_on_close( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Acknowledgement defines a rpc handler method for MsgAcknowledgement. + async fn acknowledgement( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the ibc/channel Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.core.channel.v1.Msg/ChannelOpenInit" => { + #[allow(non_camel_case_types)] + struct ChannelOpenInitSvc(pub Arc); + impl tonic::server::UnaryService + for ChannelOpenInitSvc { + type Response = super::MsgChannelOpenInitResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_open_init(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelOpenInitSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/ChannelOpenTry" => { + #[allow(non_camel_case_types)] + struct ChannelOpenTrySvc(pub Arc); + impl tonic::server::UnaryService + for ChannelOpenTrySvc { + type Response = super::MsgChannelOpenTryResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_open_try(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelOpenTrySvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/ChannelOpenAck" => { + #[allow(non_camel_case_types)] + struct ChannelOpenAckSvc(pub Arc); + impl tonic::server::UnaryService + for ChannelOpenAckSvc { + type Response = super::MsgChannelOpenAckResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_open_ack(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelOpenAckSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/ChannelOpenConfirm" => { + #[allow(non_camel_case_types)] + struct ChannelOpenConfirmSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for ChannelOpenConfirmSvc { + type Response = super::MsgChannelOpenConfirmResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_open_confirm(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelOpenConfirmSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/ChannelCloseInit" => { + #[allow(non_camel_case_types)] + struct ChannelCloseInitSvc(pub Arc); + impl tonic::server::UnaryService + for ChannelCloseInitSvc { + type Response = super::MsgChannelCloseInitResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_close_init(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelCloseInitSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/ChannelCloseConfirm" => { + #[allow(non_camel_case_types)] + struct ChannelCloseConfirmSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for ChannelCloseConfirmSvc { + type Response = super::MsgChannelCloseConfirmResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_close_confirm(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelCloseConfirmSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/RecvPacket" => { + #[allow(non_camel_case_types)] + struct RecvPacketSvc(pub Arc); + impl tonic::server::UnaryService + for RecvPacketSvc { + type Response = super::MsgRecvPacketResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::recv_packet(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = RecvPacketSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/Timeout" => { + #[allow(non_camel_case_types)] + struct TimeoutSvc(pub Arc); + impl tonic::server::UnaryService + for TimeoutSvc { + type Response = super::MsgTimeoutResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::timeout(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TimeoutSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/TimeoutOnClose" => { + #[allow(non_camel_case_types)] + struct TimeoutOnCloseSvc(pub Arc); + impl tonic::server::UnaryService + for TimeoutOnCloseSvc { + type Response = super::MsgTimeoutOnCloseResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::timeout_on_close(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = TimeoutOnCloseSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Msg/Acknowledgement" => { + #[allow(non_camel_case_types)] + struct AcknowledgementSvc(pub Arc); + impl tonic::server::UnaryService + for AcknowledgementSvc { + type Response = super::MsgAcknowledgementResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::acknowledgement(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AcknowledgementSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.core.channel.v1.Msg"; + } +} +/// QueryChannelRequest is the request type for the Query/Channel RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryChannelRequest { + /// 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, +} +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) + } +} +/// 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. +#[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, +} +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) + } +} +/// QueryChannelsRequest is the request type for the Query/Channels RPC method +#[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, + >, +} +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) + } +} +/// QueryChannelsResponse is the response type for the Query/Channels RPC method. +#[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"; + 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 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionChannelsRequest { + /// connection unique identifier + #[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, + >, +} +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) + } +} +/// QueryConnectionChannelsResponse is the Response type for the +/// Query/QueryConnectionChannels RPC method +#[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"; + 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 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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, +} +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) + } +} +/// QueryChannelClientStateResponse is the Response type for the +/// Query/QueryChannelClientState RPC method +#[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< + super::super::client::v1::IdentifiedClientState, + >, + /// 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) + } +} +/// QueryChannelConsensusStateRequest is the request type for the +/// Query/ConsensusState RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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, + /// 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 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) + } +} +/// QueryChannelClientStateResponse is the Response type for the +/// Query/QueryChannelClientState RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryChannelConsensusStateResponse { + /// consensus state associated with the channel + #[prost(message, optional, tag = "1")] + pub consensus_state: ::core::option::Option< + super::super::super::super::google::protobuf::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) + } +} +/// QueryPacketCommitmentRequest is the request type for the +/// Query/PacketCommitment RPC method +#[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, +} +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) + } +} +/// QueryPacketCommitmentResponse defines the client query response for a packet +/// which also includes a proof and the height from which the proof was +/// retrieved +#[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 + #[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 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) + } +} +/// QueryPacketCommitmentsRequest is the request type for the +/// Query/QueryPacketCommitments RPC method +#[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, + >, +} +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) + } +} +/// QueryPacketCommitmentsResponse is the request type for the +/// Query/QueryPacketCommitments RPC method +#[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, +} +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) + } +} +/// QueryPacketReceiptRequest is the request type for the +/// Query/PacketReceipt RPC method +#[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, +} +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) + } +} +/// QueryPacketReceiptResponse defines the client query response for a packet +/// receipt which also includes a proof, and the height from which the proof was +/// retrieved +#[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, +} +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) + } +} +/// QueryPacketAcknowledgementRequest is the request type for the +/// Query/PacketAcknowledgement RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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 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) + } +} +/// QueryPacketAcknowledgementResponse defines the client query response for a +/// packet which also includes a proof and the height from which the +/// proof was retrieved +#[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, +} +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) + } +} +/// QueryPacketAcknowledgementsRequest is the request type for the +/// Query/QueryPacketCommitments RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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 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) + } +} +/// QueryPacketAcknowledgemetsResponse is the request type for the +/// Query/QueryPacketAcknowledgements RPC method +#[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, +} +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) + } +} +/// QueryUnreceivedPacketsRequest is the request type for the +/// Query/UnreceivedPackets RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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 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) + } +} +/// QueryUnreceivedPacketsResponse is the response type for the +/// Query/UnreceivedPacketCommitments RPC method +#[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, +} +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) + } +} +/// QueryUnreceivedAcks is the request type for the +/// Query/UnreceivedAcks RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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, + /// list of acknowledgement sequences + #[prost(uint64, repeated, tag = "3")] + pub packet_ack_sequences: ::prost::alloc::vec::Vec, +} +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) + } +} +/// QueryUnreceivedAcksResponse is the response type for the +/// Query/UnreceivedAcks RPC method +#[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, +} +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) + } +} +/// QueryNextSequenceReceiveRequest is the request type for the +/// Query/QueryNextSequenceReceiveRequest RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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, +} +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) + } +} +/// QuerySequenceResponse is the request type for the +/// Query/QueryNextSequenceReceiveResponse RPC method +#[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"; + 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 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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, +} +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) + } +} +/// QueryNextSequenceSendResponse is the request type for the +/// Query/QueryNextSequenceSend RPC method +#[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"; + const PACKAGE: &'static str = "ibc.core.channel.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.channel.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query provides defines the gRPC querier service + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Channel queries an IBC Channel. + pub async fn channel( + &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.Query/Channel", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channel")); + self.inner.unary(req, path, codec).await + } + /// Channels queries all the IBC channels of a chain. + pub async fn channels( + &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.Query/Channels", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "Channels")); + self.inner.unary(req, path, codec).await + } + /// ConnectionChannels queries all the channels associated with a connection + /// end. + pub async fn connection_channels( + &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.Query/ConnectionChannels", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "ConnectionChannels"), + ); + self.inner.unary(req, path, codec).await + } + /// ChannelClientState queries for the client state for the channel associated + /// with the provided channel identifiers. + pub async fn channel_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.channel.v1.Query/ChannelClientState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "ChannelClientState"), + ); + self.inner.unary(req, path, codec).await + } + /// ChannelConsensusState queries for the consensus state for the channel + /// associated with the provided channel identifiers. + pub async fn channel_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.channel.v1.Query/ChannelConsensusState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "ChannelConsensusState"), + ); + self.inner.unary(req, path, codec).await + } + /// PacketCommitment queries a stored packet commitment hash. + pub async fn packet_commitment( + &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.Query/PacketCommitment", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "PacketCommitment"), + ); + self.inner.unary(req, path, codec).await + } + /// PacketCommitments returns all the packet commitments hashes associated + /// with a channel. + pub async fn packet_commitments( + &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.Query/PacketCommitments", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "PacketCommitments"), + ); + self.inner.unary(req, path, codec).await + } + /// PacketReceipt queries if a given packet sequence has been received on the + /// queried chain + pub async fn packet_receipt( + &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.Query/PacketReceipt", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "PacketReceipt")); + self.inner.unary(req, path, codec).await + } + /// PacketAcknowledgement queries a stored packet acknowledgement hash. + pub async fn packet_acknowledgement( + &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.Query/PacketAcknowledgement", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "PacketAcknowledgement"), + ); + self.inner.unary(req, path, codec).await + } + /// PacketAcknowledgements returns all the packet acknowledgements associated + /// with a channel. + pub async fn packet_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.Query/PacketAcknowledgements", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.core.channel.v1.Query", + "PacketAcknowledgements", + ), + ); + self.inner.unary(req, path, codec).await + } + /// UnreceivedPackets returns all the unreceived IBC packets associated with a + /// channel and sequences. + pub async fn unreceived_packets( + &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.Query/UnreceivedPackets", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "UnreceivedPackets"), + ); + self.inner.unary(req, path, codec).await + } + /// UnreceivedAcks returns all the unreceived IBC acknowledgements associated + /// with a channel and sequences. + pub async fn unreceived_acks( + &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.Query/UnreceivedAcks", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.channel.v1.Query", "UnreceivedAcks")); + self.inner.unary(req, path, codec).await + } + /// NextSequenceReceive returns the next receive sequence for a given channel. + pub async fn next_sequence_receive( + &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.Query/NextSequenceReceive", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "NextSequenceReceive"), + ); + self.inner.unary(req, path, codec).await + } + /// NextSequenceSend returns the next send sequence for a given channel. + pub async fn next_sequence_send( + &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.Query/NextSequenceSend", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.channel.v1.Query", "NextSequenceSend"), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Channel queries an IBC Channel. + async fn channel( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Channels queries all the IBC channels of a chain. + async fn channels( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionChannels queries all the channels associated with a connection + /// end. + async fn connection_channels( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelClientState queries for the client state for the channel associated + /// with the provided channel identifiers. + async fn channel_client_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ChannelConsensusState queries for the consensus state for the channel + /// associated with the provided channel identifiers. + async fn channel_consensus_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PacketCommitment queries a stored packet commitment hash. + async fn packet_commitment( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PacketCommitments returns all the packet commitments hashes associated + /// with a channel. + async fn packet_commitments( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PacketReceipt queries if a given packet sequence has been received on the + /// queried chain + async fn packet_receipt( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PacketAcknowledgement queries a stored packet acknowledgement hash. + async fn packet_acknowledgement( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// PacketAcknowledgements returns all the packet acknowledgements associated + /// with a channel. + async fn packet_acknowledgements( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UnreceivedPackets returns all the unreceived IBC packets associated with a + /// channel and sequences. + async fn unreceived_packets( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UnreceivedAcks returns all the unreceived IBC acknowledgements associated + /// with a channel and sequences. + async fn unreceived_acks( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// NextSequenceReceive returns the next receive sequence for a given channel. + async fn next_sequence_receive( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// NextSequenceSend returns the next send sequence for a given channel. + async fn next_sequence_send( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query provides defines the gRPC querier service + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.core.channel.v1.Query/Channel" => { + #[allow(non_camel_case_types)] + struct ChannelSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ChannelSvc { + type Response = super::QueryChannelResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/Channels" => { + #[allow(non_camel_case_types)] + struct ChannelsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ChannelsSvc { + type Response = super::QueryChannelsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channels(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/ConnectionChannels" => { + #[allow(non_camel_case_types)] + struct ConnectionChannelsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ConnectionChannelsSvc { + type Response = super::QueryConnectionChannelsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryConnectionChannelsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_channels(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionChannelsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/ChannelClientState" => { + #[allow(non_camel_case_types)] + struct ChannelClientStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ChannelClientStateSvc { + type Response = super::QueryChannelClientStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryChannelClientStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_client_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelClientStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/ChannelConsensusState" => { + #[allow(non_camel_case_types)] + struct ChannelConsensusStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryChannelConsensusStateRequest, + > for ChannelConsensusStateSvc { + type Response = super::QueryChannelConsensusStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryChannelConsensusStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::channel_consensus_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ChannelConsensusStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/PacketCommitment" => { + #[allow(non_camel_case_types)] + struct PacketCommitmentSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for PacketCommitmentSvc { + type Response = super::QueryPacketCommitmentResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::packet_commitment(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PacketCommitmentSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/PacketCommitments" => { + #[allow(non_camel_case_types)] + struct PacketCommitmentsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for PacketCommitmentsSvc { + type Response = super::QueryPacketCommitmentsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::packet_commitments(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PacketCommitmentsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/PacketReceipt" => { + #[allow(non_camel_case_types)] + struct PacketReceiptSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for PacketReceiptSvc { + type Response = super::QueryPacketReceiptResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::packet_receipt(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PacketReceiptSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/PacketAcknowledgement" => { + #[allow(non_camel_case_types)] + struct PacketAcknowledgementSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryPacketAcknowledgementRequest, + > for PacketAcknowledgementSvc { + type Response = super::QueryPacketAcknowledgementResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryPacketAcknowledgementRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::packet_acknowledgement(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PacketAcknowledgementSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/PacketAcknowledgements" => { + #[allow(non_camel_case_types)] + struct PacketAcknowledgementsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryPacketAcknowledgementsRequest, + > for PacketAcknowledgementsSvc { + type Response = super::QueryPacketAcknowledgementsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryPacketAcknowledgementsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::packet_acknowledgements(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = PacketAcknowledgementsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/UnreceivedPackets" => { + #[allow(non_camel_case_types)] + struct UnreceivedPacketsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for UnreceivedPacketsSvc { + type Response = super::QueryUnreceivedPacketsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::unreceived_packets(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UnreceivedPacketsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/UnreceivedAcks" => { + #[allow(non_camel_case_types)] + struct UnreceivedAcksSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for UnreceivedAcksSvc { + type Response = super::QueryUnreceivedAcksResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::unreceived_acks(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UnreceivedAcksSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/NextSequenceReceive" => { + #[allow(non_camel_case_types)] + struct NextSequenceReceiveSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for NextSequenceReceiveSvc { + type Response = super::QueryNextSequenceReceiveResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryNextSequenceReceiveRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::next_sequence_receive(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = NextSequenceReceiveSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.channel.v1.Query/NextSequenceSend" => { + #[allow(non_camel_case_types)] + struct NextSequenceSendSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for NextSequenceSendSvc { + type Response = super::QueryNextSequenceSendResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::next_sequence_send(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = NextSequenceSendSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.core.channel.v1.Query"; + } +} diff --git a/src/prost/ibc.core.channel.v1.serde.rs b/src/prost/ibc.core.channel.v1.serde.rs new file mode 100644 index 00000000..e02867e2 --- /dev/null +++ b/src/prost/ibc.core.channel.v1.serde.rs @@ -0,0 +1,7812 @@ +impl serde::Serialize for Acknowledgement { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.response.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Acknowledgement", len)?; + if let Some(v) = self.response.as_ref() { + match v { + acknowledgement::Response::Result(v) => { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("result", pbjson::private::base64::encode(&v).as_str())?; + } + acknowledgement::Response::Error(v) => { + struct_ser.serialize_field("error", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Acknowledgement { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "result", + "error", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Result, + Error, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "result" => Ok(GeneratedField::Result), + "error" => Ok(GeneratedField::Error), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Acknowledgement; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.Acknowledgement") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut response__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Result => { + if response__.is_some() { + return Err(serde::de::Error::duplicate_field("result")); + } + response__ = map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| acknowledgement::Response::Result(x.0)); + } + GeneratedField::Error => { + if response__.is_some() { + return Err(serde::de::Error::duplicate_field("error")); + } + response__ = map_.next_value::<::std::option::Option<_>>()?.map(acknowledgement::Response::Error); + } + } + } + Ok(Acknowledgement { + response: response__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.Acknowledgement", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Channel { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.state != 0 { + len += 1; + } + if self.ordering != 0 { + len += 1; + } + if self.counterparty.is_some() { + len += 1; + } + if !self.connection_hops.is_empty() { + len += 1; + } + if !self.version.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Channel", len)?; + if self.state != 0 { + let v = State::try_from(self.state) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + struct_ser.serialize_field("state", &v)?; + } + if self.ordering != 0 { + let v = Order::try_from(self.ordering) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.ordering)))?; + struct_ser.serialize_field("ordering", &v)?; + } + if let Some(v) = self.counterparty.as_ref() { + struct_ser.serialize_field("counterparty", v)?; + } + if !self.connection_hops.is_empty() { + struct_ser.serialize_field("connectionHops", &self.connection_hops)?; + } + if !self.version.is_empty() { + struct_ser.serialize_field("version", &self.version)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Channel { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "state", + "ordering", + "counterparty", + "connection_hops", + "connectionHops", + "version", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + State, + Ordering, + Counterparty, + ConnectionHops, + Version, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "state" => Ok(GeneratedField::State), + "ordering" => Ok(GeneratedField::Ordering), + "counterparty" => Ok(GeneratedField::Counterparty), + "connectionHops" | "connection_hops" => Ok(GeneratedField::ConnectionHops), + "version" => Ok(GeneratedField::Version), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Channel; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.Channel") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut state__ = None; + let mut ordering__ = None; + let mut counterparty__ = None; + let mut connection_hops__ = None; + let mut version__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::State => { + if state__.is_some() { + return Err(serde::de::Error::duplicate_field("state")); + } + state__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Ordering => { + if ordering__.is_some() { + return Err(serde::de::Error::duplicate_field("ordering")); + } + ordering__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Counterparty => { + if counterparty__.is_some() { + return Err(serde::de::Error::duplicate_field("counterparty")); + } + counterparty__ = map_.next_value()?; + } + GeneratedField::ConnectionHops => { + if connection_hops__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionHops")); + } + connection_hops__ = Some(map_.next_value()?); + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = Some(map_.next_value()?); + } + } + } + Ok(Channel { + state: state__.unwrap_or_default(), + ordering: ordering__.unwrap_or_default(), + counterparty: counterparty__, + connection_hops: connection_hops__.unwrap_or_default(), + version: version__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.Channel", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Counterparty { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Counterparty", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Counterparty { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Counterparty; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.Counterparty") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(Counterparty { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.Counterparty", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channels.is_empty() { + len += 1; + } + if !self.acknowledgements.is_empty() { + len += 1; + } + if !self.commitments.is_empty() { + len += 1; + } + if !self.receipts.is_empty() { + len += 1; + } + if !self.send_sequences.is_empty() { + len += 1; + } + if !self.recv_sequences.is_empty() { + len += 1; + } + if !self.ack_sequences.is_empty() { + len += 1; + } + if self.next_channel_sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.GenesisState", len)?; + if !self.channels.is_empty() { + struct_ser.serialize_field("channels", &self.channels)?; + } + if !self.acknowledgements.is_empty() { + struct_ser.serialize_field("acknowledgements", &self.acknowledgements)?; + } + if !self.commitments.is_empty() { + struct_ser.serialize_field("commitments", &self.commitments)?; + } + if !self.receipts.is_empty() { + struct_ser.serialize_field("receipts", &self.receipts)?; + } + if !self.send_sequences.is_empty() { + struct_ser.serialize_field("sendSequences", &self.send_sequences)?; + } + if !self.recv_sequences.is_empty() { + struct_ser.serialize_field("recvSequences", &self.recv_sequences)?; + } + if !self.ack_sequences.is_empty() { + struct_ser.serialize_field("ackSequences", &self.ack_sequences)?; + } + if self.next_channel_sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextChannelSequence", ToString::to_string(&self.next_channel_sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channels", + "acknowledgements", + "commitments", + "receipts", + "send_sequences", + "sendSequences", + "recv_sequences", + "recvSequences", + "ack_sequences", + "ackSequences", + "next_channel_sequence", + "nextChannelSequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Channels, + Acknowledgements, + Commitments, + Receipts, + SendSequences, + RecvSequences, + AckSequences, + NextChannelSequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channels" => Ok(GeneratedField::Channels), + "acknowledgements" => Ok(GeneratedField::Acknowledgements), + "commitments" => Ok(GeneratedField::Commitments), + "receipts" => Ok(GeneratedField::Receipts), + "sendSequences" | "send_sequences" => Ok(GeneratedField::SendSequences), + "recvSequences" | "recv_sequences" => Ok(GeneratedField::RecvSequences), + "ackSequences" | "ack_sequences" => Ok(GeneratedField::AckSequences), + "nextChannelSequence" | "next_channel_sequence" => Ok(GeneratedField::NextChannelSequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channels__ = None; + let mut acknowledgements__ = None; + let mut commitments__ = None; + let mut receipts__ = None; + let mut send_sequences__ = None; + let mut recv_sequences__ = None; + let mut ack_sequences__ = None; + let mut next_channel_sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Channels => { + if channels__.is_some() { + return Err(serde::de::Error::duplicate_field("channels")); + } + channels__ = Some(map_.next_value()?); + } + GeneratedField::Acknowledgements => { + if acknowledgements__.is_some() { + return Err(serde::de::Error::duplicate_field("acknowledgements")); + } + acknowledgements__ = Some(map_.next_value()?); + } + GeneratedField::Commitments => { + if commitments__.is_some() { + return Err(serde::de::Error::duplicate_field("commitments")); + } + commitments__ = Some(map_.next_value()?); + } + GeneratedField::Receipts => { + if receipts__.is_some() { + return Err(serde::de::Error::duplicate_field("receipts")); + } + receipts__ = Some(map_.next_value()?); + } + GeneratedField::SendSequences => { + if send_sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("sendSequences")); + } + send_sequences__ = Some(map_.next_value()?); + } + GeneratedField::RecvSequences => { + if recv_sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("recvSequences")); + } + recv_sequences__ = Some(map_.next_value()?); + } + GeneratedField::AckSequences => { + if ack_sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("ackSequences")); + } + ack_sequences__ = Some(map_.next_value()?); + } + GeneratedField::NextChannelSequence => { + if next_channel_sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("nextChannelSequence")); + } + next_channel_sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(GenesisState { + channels: channels__.unwrap_or_default(), + acknowledgements: acknowledgements__.unwrap_or_default(), + commitments: commitments__.unwrap_or_default(), + receipts: receipts__.unwrap_or_default(), + send_sequences: send_sequences__.unwrap_or_default(), + recv_sequences: recv_sequences__.unwrap_or_default(), + ack_sequences: ack_sequences__.unwrap_or_default(), + next_channel_sequence: next_channel_sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IdentifiedChannel { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.state != 0 { + len += 1; + } + if self.ordering != 0 { + len += 1; + } + if self.counterparty.is_some() { + len += 1; + } + if !self.connection_hops.is_empty() { + len += 1; + } + if !self.version.is_empty() { + len += 1; + } + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.IdentifiedChannel", len)?; + if self.state != 0 { + let v = State::try_from(self.state) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + struct_ser.serialize_field("state", &v)?; + } + if self.ordering != 0 { + let v = Order::try_from(self.ordering) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.ordering)))?; + struct_ser.serialize_field("ordering", &v)?; + } + if let Some(v) = self.counterparty.as_ref() { + struct_ser.serialize_field("counterparty", v)?; + } + if !self.connection_hops.is_empty() { + struct_ser.serialize_field("connectionHops", &self.connection_hops)?; + } + if !self.version.is_empty() { + struct_ser.serialize_field("version", &self.version)?; + } + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IdentifiedChannel { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "state", + "ordering", + "counterparty", + "connection_hops", + "connectionHops", + "version", + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + State, + Ordering, + Counterparty, + ConnectionHops, + Version, + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "state" => Ok(GeneratedField::State), + "ordering" => Ok(GeneratedField::Ordering), + "counterparty" => Ok(GeneratedField::Counterparty), + "connectionHops" | "connection_hops" => Ok(GeneratedField::ConnectionHops), + "version" => Ok(GeneratedField::Version), + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IdentifiedChannel; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.IdentifiedChannel") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut state__ = None; + let mut ordering__ = None; + let mut counterparty__ = None; + let mut connection_hops__ = None; + let mut version__ = None; + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::State => { + if state__.is_some() { + return Err(serde::de::Error::duplicate_field("state")); + } + state__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Ordering => { + if ordering__.is_some() { + return Err(serde::de::Error::duplicate_field("ordering")); + } + ordering__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Counterparty => { + if counterparty__.is_some() { + return Err(serde::de::Error::duplicate_field("counterparty")); + } + counterparty__ = map_.next_value()?; + } + GeneratedField::ConnectionHops => { + if connection_hops__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionHops")); + } + connection_hops__ = Some(map_.next_value()?); + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = Some(map_.next_value()?); + } + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(IdentifiedChannel { + state: state__.unwrap_or_default(), + ordering: ordering__.unwrap_or_default(), + counterparty: counterparty__, + connection_hops: connection_hops__.unwrap_or_default(), + version: version__.unwrap_or_default(), + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.IdentifiedChannel", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgAcknowledgement { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet.is_some() { + len += 1; + } + if !self.acknowledgement.is_empty() { + len += 1; + } + if !self.proof_acked.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgAcknowledgement", len)?; + if let Some(v) = self.packet.as_ref() { + struct_ser.serialize_field("packet", v)?; + } + if !self.acknowledgement.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; + } + if !self.proof_acked.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofAcked", pbjson::private::base64::encode(&self.proof_acked).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet", + "acknowledgement", + "proof_acked", + "proofAcked", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Packet, + Acknowledgement, + ProofAcked, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packet" => Ok(GeneratedField::Packet), + "acknowledgement" => Ok(GeneratedField::Acknowledgement), + "proofAcked" | "proof_acked" => Ok(GeneratedField::ProofAcked), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgAcknowledgement; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgAcknowledgement") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet__ = None; + let mut acknowledgement__ = None; + let mut proof_acked__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Packet => { + if packet__.is_some() { + return Err(serde::de::Error::duplicate_field("packet")); + } + packet__ = map_.next_value()?; + } + GeneratedField::Acknowledgement => { + if acknowledgement__.is_some() { + return Err(serde::de::Error::duplicate_field("acknowledgement")); + } + acknowledgement__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofAcked => { + if proof_acked__.is_some() { + return Err(serde::de::Error::duplicate_field("proofAcked")); + } + proof_acked__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgAcknowledgement { + packet: packet__, + acknowledgement: acknowledgement__.unwrap_or_default(), + proof_acked: proof_acked__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgAcknowledgement", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgAcknowledgementResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.result != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgAcknowledgementResponse", len)?; + if self.result != 0 { + let v = ResponseResultType::try_from(self.result) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + struct_ser.serialize_field("result", &v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgAcknowledgementResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "result", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Result, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "result" => Ok(GeneratedField::Result), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgAcknowledgementResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgAcknowledgementResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut result__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Result => { + if result__.is_some() { + return Err(serde::de::Error::duplicate_field("result")); + } + result__ = Some(map_.next_value::()? as i32); + } + } + } + Ok(MsgAcknowledgementResponse { + result: result__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgAcknowledgementResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelCloseConfirm { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.proof_init.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelCloseConfirm", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.proof_init.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "proof_init", + "proofInit", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + ProofInit, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "proofInit" | "proof_init" => Ok(GeneratedField::ProofInit), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelCloseConfirm; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseConfirm") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut proof_init__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::ProofInit => { + if proof_init__.is_some() { + return Err(serde::de::Error::duplicate_field("proofInit")); + } + proof_init__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelCloseConfirm { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + proof_init: proof_init__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelCloseConfirm", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelCloseConfirmResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelCloseConfirmResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirmResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelCloseConfirmResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseConfirmResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgChannelCloseConfirmResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelCloseConfirmResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelCloseInit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelCloseInit", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelCloseInit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelCloseInit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseInit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelCloseInit { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelCloseInit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelCloseInitResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelCloseInitResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelCloseInitResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelCloseInitResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseInitResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgChannelCloseInitResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelCloseInitResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenAck { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.counterparty_channel_id.is_empty() { + len += 1; + } + if !self.counterparty_version.is_empty() { + len += 1; + } + if !self.proof_try.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenAck", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.counterparty_channel_id.is_empty() { + struct_ser.serialize_field("counterpartyChannelId", &self.counterparty_channel_id)?; + } + if !self.counterparty_version.is_empty() { + struct_ser.serialize_field("counterpartyVersion", &self.counterparty_version)?; + } + if !self.proof_try.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofTry", pbjson::private::base64::encode(&self.proof_try).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "counterparty_channel_id", + "counterpartyChannelId", + "counterparty_version", + "counterpartyVersion", + "proof_try", + "proofTry", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + CounterpartyChannelId, + CounterpartyVersion, + ProofTry, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "counterpartyChannelId" | "counterparty_channel_id" => Ok(GeneratedField::CounterpartyChannelId), + "counterpartyVersion" | "counterparty_version" => Ok(GeneratedField::CounterpartyVersion), + "proofTry" | "proof_try" => Ok(GeneratedField::ProofTry), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenAck; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenAck") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut counterparty_channel_id__ = None; + let mut counterparty_version__ = None; + let mut proof_try__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::CounterpartyChannelId => { + if counterparty_channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyChannelId")); + } + counterparty_channel_id__ = Some(map_.next_value()?); + } + GeneratedField::CounterpartyVersion => { + if counterparty_version__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyVersion")); + } + counterparty_version__ = Some(map_.next_value()?); + } + GeneratedField::ProofTry => { + if proof_try__.is_some() { + return Err(serde::de::Error::duplicate_field("proofTry")); + } + proof_try__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelOpenAck { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + counterparty_channel_id: counterparty_channel_id__.unwrap_or_default(), + counterparty_version: counterparty_version__.unwrap_or_default(), + proof_try: proof_try__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenAck", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenAckResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenAckResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenAckResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenAckResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenAckResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgChannelOpenAckResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenAckResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenConfirm { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.proof_ack.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenConfirm", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.proof_ack.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofAck", pbjson::private::base64::encode(&self.proof_ack).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "proof_ack", + "proofAck", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + ProofAck, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "proofAck" | "proof_ack" => Ok(GeneratedField::ProofAck), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenConfirm; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenConfirm") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut proof_ack__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::ProofAck => { + if proof_ack__.is_some() { + return Err(serde::de::Error::duplicate_field("proofAck")); + } + proof_ack__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelOpenConfirm { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + proof_ack: proof_ack__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenConfirm", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenConfirmResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenConfirmResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirmResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenConfirmResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenConfirmResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgChannelOpenConfirmResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenConfirmResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenInit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if self.channel.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenInit", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if let Some(v) = self.channel.as_ref() { + struct_ser.serialize_field("channel", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenInit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + Channel, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channel" => Ok(GeneratedField::Channel), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenInit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenInit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::Channel => { + if channel__.is_some() { + return Err(serde::de::Error::duplicate_field("channel")); + } + channel__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelOpenInit { + port_id: port_id__.unwrap_or_default(), + channel: channel__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenInit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenInitResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channel_id.is_empty() { + len += 1; + } + if !self.version.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenInitResponse", len)?; + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.version.is_empty() { + struct_ser.serialize_field("version", &self.version)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenInitResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel_id", + "channelId", + "version", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChannelId, + Version, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "version" => Ok(GeneratedField::Version), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenInitResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenInitResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel_id__ = None; + let mut version__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelOpenInitResponse { + channel_id: channel_id__.unwrap_or_default(), + version: version__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenInitResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenTry { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.previous_channel_id.is_empty() { + len += 1; + } + if self.channel.is_some() { + len += 1; + } + if !self.counterparty_version.is_empty() { + len += 1; + } + if !self.proof_init.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenTry", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.previous_channel_id.is_empty() { + struct_ser.serialize_field("previousChannelId", &self.previous_channel_id)?; + } + if let Some(v) = self.channel.as_ref() { + struct_ser.serialize_field("channel", v)?; + } + if !self.counterparty_version.is_empty() { + struct_ser.serialize_field("counterpartyVersion", &self.counterparty_version)?; + } + if !self.proof_init.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "previous_channel_id", + "previousChannelId", + "channel", + "counterparty_version", + "counterpartyVersion", + "proof_init", + "proofInit", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + PreviousChannelId, + Channel, + CounterpartyVersion, + ProofInit, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "previousChannelId" | "previous_channel_id" => Ok(GeneratedField::PreviousChannelId), + "channel" => Ok(GeneratedField::Channel), + "counterpartyVersion" | "counterparty_version" => Ok(GeneratedField::CounterpartyVersion), + "proofInit" | "proof_init" => Ok(GeneratedField::ProofInit), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenTry; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenTry") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut previous_channel_id__ = None; + let mut channel__ = None; + let mut counterparty_version__ = None; + let mut proof_init__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::PreviousChannelId => { + if previous_channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("previousChannelId")); + } + previous_channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Channel => { + if channel__.is_some() { + return Err(serde::de::Error::duplicate_field("channel")); + } + channel__ = map_.next_value()?; + } + GeneratedField::CounterpartyVersion => { + if counterparty_version__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyVersion")); + } + counterparty_version__ = Some(map_.next_value()?); + } + GeneratedField::ProofInit => { + if proof_init__.is_some() { + return Err(serde::de::Error::duplicate_field("proofInit")); + } + proof_init__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelOpenTry { + port_id: port_id__.unwrap_or_default(), + previous_channel_id: previous_channel_id__.unwrap_or_default(), + channel: channel__, + counterparty_version: counterparty_version__.unwrap_or_default(), + proof_init: proof_init__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenTry", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgChannelOpenTryResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.version.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenTryResponse", len)?; + if !self.version.is_empty() { + struct_ser.serialize_field("version", &self.version)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgChannelOpenTryResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "version", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Version, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "version" => Ok(GeneratedField::Version), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgChannelOpenTryResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenTryResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut version__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(MsgChannelOpenTryResponse { + version: version__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgChannelOpenTryResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRecvPacket { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet.is_some() { + len += 1; + } + if !self.proof_commitment.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgRecvPacket", len)?; + if let Some(v) = self.packet.as_ref() { + struct_ser.serialize_field("packet", v)?; + } + if !self.proof_commitment.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofCommitment", pbjson::private::base64::encode(&self.proof_commitment).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRecvPacket { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet", + "proof_commitment", + "proofCommitment", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Packet, + ProofCommitment, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packet" => Ok(GeneratedField::Packet), + "proofCommitment" | "proof_commitment" => Ok(GeneratedField::ProofCommitment), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRecvPacket; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgRecvPacket") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet__ = None; + let mut proof_commitment__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Packet => { + if packet__.is_some() { + return Err(serde::de::Error::duplicate_field("packet")); + } + packet__ = map_.next_value()?; + } + GeneratedField::ProofCommitment => { + if proof_commitment__.is_some() { + return Err(serde::de::Error::duplicate_field("proofCommitment")); + } + proof_commitment__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgRecvPacket { + packet: packet__, + proof_commitment: proof_commitment__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgRecvPacket", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRecvPacketResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.result != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgRecvPacketResponse", len)?; + if self.result != 0 { + let v = ResponseResultType::try_from(self.result) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + struct_ser.serialize_field("result", &v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRecvPacketResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "result", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Result, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "result" => Ok(GeneratedField::Result), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRecvPacketResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgRecvPacketResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut result__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Result => { + if result__.is_some() { + return Err(serde::de::Error::duplicate_field("result")); + } + result__ = Some(map_.next_value::()? as i32); + } + } + } + Ok(MsgRecvPacketResponse { + result: result__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgRecvPacketResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgTimeout { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet.is_some() { + len += 1; + } + if !self.proof_unreceived.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if self.next_sequence_recv != 0 { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeout", len)?; + if let Some(v) = self.packet.as_ref() { + struct_ser.serialize_field("packet", v)?; + } + if !self.proof_unreceived.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofUnreceived", pbjson::private::base64::encode(&self.proof_unreceived).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if self.next_sequence_recv != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextSequenceRecv", ToString::to_string(&self.next_sequence_recv).as_str())?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgTimeout { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet", + "proof_unreceived", + "proofUnreceived", + "proof_height", + "proofHeight", + "next_sequence_recv", + "nextSequenceRecv", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Packet, + ProofUnreceived, + ProofHeight, + NextSequenceRecv, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packet" => Ok(GeneratedField::Packet), + "proofUnreceived" | "proof_unreceived" => Ok(GeneratedField::ProofUnreceived), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "nextSequenceRecv" | "next_sequence_recv" => Ok(GeneratedField::NextSequenceRecv), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgTimeout; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgTimeout") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet__ = None; + let mut proof_unreceived__ = None; + let mut proof_height__ = None; + let mut next_sequence_recv__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Packet => { + if packet__.is_some() { + return Err(serde::de::Error::duplicate_field("packet")); + } + packet__ = map_.next_value()?; + } + GeneratedField::ProofUnreceived => { + if proof_unreceived__.is_some() { + return Err(serde::de::Error::duplicate_field("proofUnreceived")); + } + proof_unreceived__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::NextSequenceRecv => { + if next_sequence_recv__.is_some() { + return Err(serde::de::Error::duplicate_field("nextSequenceRecv")); + } + next_sequence_recv__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgTimeout { + packet: packet__, + proof_unreceived: proof_unreceived__.unwrap_or_default(), + proof_height: proof_height__, + next_sequence_recv: next_sequence_recv__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgTimeout", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgTimeoutOnClose { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.packet.is_some() { + len += 1; + } + if !self.proof_unreceived.is_empty() { + len += 1; + } + if !self.proof_close.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if self.next_sequence_recv != 0 { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutOnClose", len)?; + if let Some(v) = self.packet.as_ref() { + struct_ser.serialize_field("packet", v)?; + } + if !self.proof_unreceived.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofUnreceived", pbjson::private::base64::encode(&self.proof_unreceived).as_str())?; + } + if !self.proof_close.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofClose", pbjson::private::base64::encode(&self.proof_close).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if self.next_sequence_recv != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextSequenceRecv", ToString::to_string(&self.next_sequence_recv).as_str())?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "packet", + "proof_unreceived", + "proofUnreceived", + "proof_close", + "proofClose", + "proof_height", + "proofHeight", + "next_sequence_recv", + "nextSequenceRecv", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Packet, + ProofUnreceived, + ProofClose, + ProofHeight, + NextSequenceRecv, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "packet" => Ok(GeneratedField::Packet), + "proofUnreceived" | "proof_unreceived" => Ok(GeneratedField::ProofUnreceived), + "proofClose" | "proof_close" => Ok(GeneratedField::ProofClose), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "nextSequenceRecv" | "next_sequence_recv" => Ok(GeneratedField::NextSequenceRecv), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgTimeoutOnClose; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgTimeoutOnClose") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut packet__ = None; + let mut proof_unreceived__ = None; + let mut proof_close__ = None; + let mut proof_height__ = None; + let mut next_sequence_recv__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Packet => { + if packet__.is_some() { + return Err(serde::de::Error::duplicate_field("packet")); + } + packet__ = map_.next_value()?; + } + GeneratedField::ProofUnreceived => { + if proof_unreceived__.is_some() { + return Err(serde::de::Error::duplicate_field("proofUnreceived")); + } + proof_unreceived__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofClose => { + if proof_close__.is_some() { + return Err(serde::de::Error::duplicate_field("proofClose")); + } + proof_close__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::NextSequenceRecv => { + if next_sequence_recv__.is_some() { + return Err(serde::de::Error::duplicate_field("nextSequenceRecv")); + } + next_sequence_recv__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgTimeoutOnClose { + packet: packet__, + proof_unreceived: proof_unreceived__.unwrap_or_default(), + proof_close: proof_close__.unwrap_or_default(), + proof_height: proof_height__, + next_sequence_recv: next_sequence_recv__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgTimeoutOnClose", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgTimeoutOnCloseResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.result != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutOnCloseResponse", len)?; + if self.result != 0 { + let v = ResponseResultType::try_from(self.result) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + struct_ser.serialize_field("result", &v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgTimeoutOnCloseResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "result", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Result, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "result" => Ok(GeneratedField::Result), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgTimeoutOnCloseResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgTimeoutOnCloseResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut result__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Result => { + if result__.is_some() { + return Err(serde::de::Error::duplicate_field("result")); + } + result__ = Some(map_.next_value::()? as i32); + } + } + } + Ok(MsgTimeoutOnCloseResponse { + result: result__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgTimeoutOnCloseResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgTimeoutResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.result != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutResponse", len)?; + if self.result != 0 { + let v = ResponseResultType::try_from(self.result) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + struct_ser.serialize_field("result", &v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgTimeoutResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "result", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Result, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "result" => Ok(GeneratedField::Result), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgTimeoutResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.MsgTimeoutResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut result__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Result => { + if result__.is_some() { + return Err(serde::de::Error::duplicate_field("result")); + } + result__ = Some(map_.next_value::()? as i32); + } + } + } + Ok(MsgTimeoutResponse { + result: result__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.MsgTimeoutResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Order { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::NoneUnspecified => "ORDER_NONE_UNSPECIFIED", + Self::Unordered => "ORDER_UNORDERED", + Self::Ordered => "ORDER_ORDERED", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for Order { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "ORDER_NONE_UNSPECIFIED", + "ORDER_UNORDERED", + "ORDER_ORDERED", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Order; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "ORDER_NONE_UNSPECIFIED" => Ok(Order::NoneUnspecified), + "ORDER_UNORDERED" => Ok(Order::Unordered), + "ORDER_ORDERED" => Ok(Order::Ordered), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for Packet { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if !self.source_port.is_empty() { + len += 1; + } + if !self.source_channel.is_empty() { + len += 1; + } + if !self.destination_port.is_empty() { + len += 1; + } + if !self.destination_channel.is_empty() { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + if self.timeout_height.is_some() { + len += 1; + } + if self.timeout_timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Packet", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if !self.source_port.is_empty() { + struct_ser.serialize_field("sourcePort", &self.source_port)?; + } + if !self.source_channel.is_empty() { + struct_ser.serialize_field("sourceChannel", &self.source_channel)?; + } + if !self.destination_port.is_empty() { + struct_ser.serialize_field("destinationPort", &self.destination_port)?; + } + if !self.destination_channel.is_empty() { + struct_ser.serialize_field("destinationChannel", &self.destination_channel)?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + if let Some(v) = self.timeout_height.as_ref() { + struct_ser.serialize_field("timeoutHeight", v)?; + } + if self.timeout_timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timeoutTimestamp", ToString::to_string(&self.timeout_timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Packet { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "source_port", + "sourcePort", + "source_channel", + "sourceChannel", + "destination_port", + "destinationPort", + "destination_channel", + "destinationChannel", + "data", + "timeout_height", + "timeoutHeight", + "timeout_timestamp", + "timeoutTimestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + SourcePort, + SourceChannel, + DestinationPort, + DestinationChannel, + Data, + TimeoutHeight, + TimeoutTimestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "sourcePort" | "source_port" => Ok(GeneratedField::SourcePort), + "sourceChannel" | "source_channel" => Ok(GeneratedField::SourceChannel), + "destinationPort" | "destination_port" => Ok(GeneratedField::DestinationPort), + "destinationChannel" | "destination_channel" => Ok(GeneratedField::DestinationChannel), + "data" => Ok(GeneratedField::Data), + "timeoutHeight" | "timeout_height" => Ok(GeneratedField::TimeoutHeight), + "timeoutTimestamp" | "timeout_timestamp" => Ok(GeneratedField::TimeoutTimestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Packet; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.Packet") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut source_port__ = None; + let mut source_channel__ = None; + let mut destination_port__ = None; + let mut destination_channel__ = None; + let mut data__ = None; + let mut timeout_height__ = None; + let mut timeout_timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::SourcePort => { + if source_port__.is_some() { + return Err(serde::de::Error::duplicate_field("sourcePort")); + } + source_port__ = Some(map_.next_value()?); + } + GeneratedField::SourceChannel => { + if source_channel__.is_some() { + return Err(serde::de::Error::duplicate_field("sourceChannel")); + } + source_channel__ = Some(map_.next_value()?); + } + GeneratedField::DestinationPort => { + if destination_port__.is_some() { + return Err(serde::de::Error::duplicate_field("destinationPort")); + } + destination_port__ = Some(map_.next_value()?); + } + GeneratedField::DestinationChannel => { + if destination_channel__.is_some() { + return Err(serde::de::Error::duplicate_field("destinationChannel")); + } + destination_channel__ = Some(map_.next_value()?); + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::TimeoutHeight => { + if timeout_height__.is_some() { + return Err(serde::de::Error::duplicate_field("timeoutHeight")); + } + timeout_height__ = map_.next_value()?; + } + GeneratedField::TimeoutTimestamp => { + if timeout_timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timeoutTimestamp")); + } + timeout_timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Packet { + sequence: sequence__.unwrap_or_default(), + source_port: source_port__.unwrap_or_default(), + source_channel: source_channel__.unwrap_or_default(), + destination_port: destination_port__.unwrap_or_default(), + destination_channel: destination_channel__.unwrap_or_default(), + data: data__.unwrap_or_default(), + timeout_height: timeout_height__, + timeout_timestamp: timeout_timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.Packet", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketId { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.PacketId", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketId { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketId; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.PacketId") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(PacketId { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.PacketId", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketSequence { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.PacketSequence", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketSequence { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketSequence; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.PacketSequence") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(PacketSequence { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.PacketSequence", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.PacketState", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "sequence", + "data", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Sequence, + Data, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "sequence" => Ok(GeneratedField::Sequence), + "data" => Ok(GeneratedField::Data), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.PacketState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut sequence__ = None; + let mut data__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PacketState { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + data: data__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.PacketState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelClientStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelClientStateRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelClientStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelClientStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelClientStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryChannelClientStateRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelClientStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelClientStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.identified_client_state.is_some() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelClientStateResponse", len)?; + if let Some(v) = self.identified_client_state.as_ref() { + struct_ser.serialize_field("identifiedClientState", v)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelClientStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "identified_client_state", + "identifiedClientState", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + IdentifiedClientState, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "identifiedClientState" | "identified_client_state" => Ok(GeneratedField::IdentifiedClientState), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelClientStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelClientStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut identified_client_state__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::IdentifiedClientState => { + if identified_client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("identifiedClientState")); + } + identified_client_state__ = map_.next_value()?; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryChannelClientStateResponse { + identified_client_state: identified_client_state__, + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelClientStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelConsensusStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.revision_number != 0 { + len += 1; + } + if self.revision_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelConsensusStateRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.revision_number != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + } + if self.revision_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "revision_number", + "revisionNumber", + "revision_height", + "revisionHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + RevisionNumber, + RevisionHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "revisionNumber" | "revision_number" => Ok(GeneratedField::RevisionNumber), + "revisionHeight" | "revision_height" => Ok(GeneratedField::RevisionHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelConsensusStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelConsensusStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut revision_number__ = None; + let mut revision_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::RevisionNumber => { + if revision_number__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionNumber")); + } + revision_number__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::RevisionHeight => { + if revision_height__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionHeight")); + } + revision_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryChannelConsensusStateRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + revision_number: revision_number__.unwrap_or_default(), + revision_height: revision_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelConsensusStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelConsensusStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.consensus_state.is_some() { + len += 1; + } + if !self.client_id.is_empty() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelConsensusStateResponse", len)?; + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "consensus_state", + "consensusState", + "client_id", + "clientId", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConsensusState, + ClientId, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelConsensusStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelConsensusStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut consensus_state__ = None; + let mut client_id__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryChannelConsensusStateResponse { + consensus_state: consensus_state__, + client_id: client_id__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelConsensusStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryChannelRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.channel.is_some() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelResponse", len)?; + if let Some(v) = self.channel.as_ref() { + struct_ser.serialize_field("channel", v)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channel", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Channel, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channel" => Ok(GeneratedField::Channel), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channel__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Channel => { + if channel__.is_some() { + return Err(serde::de::Error::duplicate_field("channel")); + } + channel__ = map_.next_value()?; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryChannelResponse { + channel: channel__, + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelsRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryChannelsRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryChannelsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channels.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelsResponse", len)?; + if !self.channels.is_empty() { + struct_ser.serialize_field("channels", &self.channels)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryChannelsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channels", + "pagination", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Channels, + Pagination, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channels" => Ok(GeneratedField::Channels), + "pagination" => Ok(GeneratedField::Pagination), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryChannelsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryChannelsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channels__ = None; + let mut pagination__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Channels => { + if channels__.is_some() { + return Err(serde::de::Error::duplicate_field("channels")); + } + channels__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryChannelsResponse { + channels: channels__.unwrap_or_default(), + pagination: pagination__, + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryChannelsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionChannelsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryConnectionChannelsRequest", len)?; + if !self.connection.is_empty() { + struct_ser.serialize_field("connection", &self.connection)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Connection, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connection" => Ok(GeneratedField::Connection), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionChannelsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryConnectionChannelsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Connection => { + if connection__.is_some() { + return Err(serde::de::Error::duplicate_field("connection")); + } + connection__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionChannelsRequest { + connection: connection__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryConnectionChannelsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionChannelsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.channels.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryConnectionChannelsResponse", len)?; + if !self.channels.is_empty() { + struct_ser.serialize_field("channels", &self.channels)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "channels", + "pagination", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Channels, + Pagination, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "channels" => Ok(GeneratedField::Channels), + "pagination" => Ok(GeneratedField::Pagination), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionChannelsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryConnectionChannelsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut channels__ = None; + let mut pagination__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Channels => { + if channels__.is_some() { + return Err(serde::de::Error::duplicate_field("channels")); + } + channels__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionChannelsResponse { + channels: channels__.unwrap_or_default(), + pagination: pagination__, + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryConnectionChannelsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryNextSequenceReceiveRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryNextSequenceReceiveRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceReceiveRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryNextSequenceReceiveRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryNextSequenceReceiveResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.next_sequence_receive != 0 { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveResponse", len)?; + if self.next_sequence_receive != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextSequenceReceive", ToString::to_string(&self.next_sequence_receive).as_str())?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "next_sequence_receive", + "nextSequenceReceive", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NextSequenceReceive, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "nextSequenceReceive" | "next_sequence_receive" => Ok(GeneratedField::NextSequenceReceive), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryNextSequenceReceiveResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceReceiveResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut next_sequence_receive__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NextSequenceReceive => { + if next_sequence_receive__.is_some() { + return Err(serde::de::Error::duplicate_field("nextSequenceReceive")); + } + next_sequence_receive__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryNextSequenceReceiveResponse { + next_sequence_receive: next_sequence_receive__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryNextSequenceSendRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceSendRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryNextSequenceSendRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceSendRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryNextSequenceSendRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryNextSequenceSendRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryNextSequenceSendResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.next_sequence_send != 0 { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceSendResponse", len)?; + if self.next_sequence_send != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextSequenceSend", ToString::to_string(&self.next_sequence_send).as_str())?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "next_sequence_send", + "nextSequenceSend", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NextSequenceSend, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "nextSequenceSend" | "next_sequence_send" => Ok(GeneratedField::NextSequenceSend), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryNextSequenceSendResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceSendResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut next_sequence_send__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NextSequenceSend => { + if next_sequence_send__.is_some() { + return Err(serde::de::Error::duplicate_field("nextSequenceSend")); + } + next_sequence_send__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryNextSequenceSendResponse { + next_sequence_send: next_sequence_send__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryNextSequenceSendResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketAcknowledgementRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketAcknowledgementRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryPacketAcknowledgementRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketAcknowledgementResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.acknowledgement.is_empty() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementResponse", len)?; + if !self.acknowledgement.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "acknowledgement", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Acknowledgement, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "acknowledgement" => Ok(GeneratedField::Acknowledgement), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketAcknowledgementResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut acknowledgement__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Acknowledgement => { + if acknowledgement__.is_some() { + return Err(serde::de::Error::duplicate_field("acknowledgement")); + } + acknowledgement__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryPacketAcknowledgementResponse { + acknowledgement: acknowledgement__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketAcknowledgementsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + if !self.packet_commitment_sequences.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementsRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if !self.packet_commitment_sequences.is_empty() { + struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(ToString::to_string).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "pagination", + "packet_commitment_sequences", + "packetCommitmentSequences", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Pagination, + PacketCommitmentSequences, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "pagination" => Ok(GeneratedField::Pagination), + "packetCommitmentSequences" | "packet_commitment_sequences" => Ok(GeneratedField::PacketCommitmentSequences), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketAcknowledgementsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut pagination__ = None; + let mut packet_commitment_sequences__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::PacketCommitmentSequences => { + if packet_commitment_sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("packetCommitmentSequences")); + } + packet_commitment_sequences__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(QueryPacketAcknowledgementsRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + pagination: pagination__, + packet_commitment_sequences: packet_commitment_sequences__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketAcknowledgementsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.acknowledgements.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementsResponse", len)?; + if !self.acknowledgements.is_empty() { + struct_ser.serialize_field("acknowledgements", &self.acknowledgements)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "acknowledgements", + "pagination", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Acknowledgements, + Pagination, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "acknowledgements" => Ok(GeneratedField::Acknowledgements), + "pagination" => Ok(GeneratedField::Pagination), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketAcknowledgementsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut acknowledgements__ = None; + let mut pagination__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Acknowledgements => { + if acknowledgements__.is_some() { + return Err(serde::de::Error::duplicate_field("acknowledgements")); + } + acknowledgements__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryPacketAcknowledgementsResponse { + acknowledgements: acknowledgements__.unwrap_or_default(), + pagination: pagination__, + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketCommitmentRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketCommitmentRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryPacketCommitmentRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketCommitmentRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketCommitmentResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.commitment.is_empty() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentResponse", len)?; + if !self.commitment.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("commitment", pbjson::private::base64::encode(&self.commitment).as_str())?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "commitment", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Commitment, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "commitment" => Ok(GeneratedField::Commitment), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketCommitmentResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut commitment__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Commitment => { + if commitment__.is_some() { + return Err(serde::de::Error::duplicate_field("commitment")); + } + commitment__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryPacketCommitmentResponse { + commitment: commitment__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketCommitmentResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketCommitmentsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentsRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketCommitmentsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryPacketCommitmentsRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketCommitmentsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketCommitmentsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.commitments.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentsResponse", len)?; + if !self.commitments.is_empty() { + struct_ser.serialize_field("commitments", &self.commitments)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "commitments", + "pagination", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Commitments, + Pagination, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "commitments" => Ok(GeneratedField::Commitments), + "pagination" => Ok(GeneratedField::Pagination), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketCommitmentsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut commitments__ = None; + let mut pagination__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Commitments => { + if commitments__.is_some() { + return Err(serde::de::Error::duplicate_field("commitments")); + } + commitments__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryPacketCommitmentsResponse { + commitments: commitments__.unwrap_or_default(), + pagination: pagination__, + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketCommitmentsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketReceiptRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketReceiptRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketReceiptRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "sequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + Sequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "sequence" => Ok(GeneratedField::Sequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketReceiptRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketReceiptRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryPacketReceiptRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketReceiptRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryPacketReceiptResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.received { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketReceiptResponse", len)?; + if self.received { + struct_ser.serialize_field("received", &self.received)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryPacketReceiptResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "received", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Received, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "received" => Ok(GeneratedField::Received), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryPacketReceiptResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryPacketReceiptResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut received__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Received => { + if received__.is_some() { + return Err(serde::de::Error::duplicate_field("received")); + } + received__ = Some(map_.next_value()?); + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryPacketReceiptResponse { + received: received__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryPacketReceiptResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUnreceivedAcksRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.packet_ack_sequences.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.packet_ack_sequences.is_empty() { + struct_ser.serialize_field("packetAckSequences", &self.packet_ack_sequences.iter().map(ToString::to_string).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "packet_ack_sequences", + "packetAckSequences", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + PacketAckSequences, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "packetAckSequences" | "packet_ack_sequences" => Ok(GeneratedField::PacketAckSequences), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUnreceivedAcksRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedAcksRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut packet_ack_sequences__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::PacketAckSequences => { + if packet_ack_sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("packetAckSequences")); + } + packet_ack_sequences__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(QueryUnreceivedAcksRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + packet_ack_sequences: packet_ack_sequences__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUnreceivedAcksResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.sequences.is_empty() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksResponse", len)?; + if !self.sequences.is_empty() { + struct_ser.serialize_field("sequences", &self.sequences.iter().map(ToString::to_string).collect::>())?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequences", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequences, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequences" => Ok(GeneratedField::Sequences), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUnreceivedAcksResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedAcksResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequences__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequences => { + if sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("sequences")); + } + sequences__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryUnreceivedAcksResponse { + sequences: sequences__.unwrap_or_default(), + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUnreceivedPacketsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.port_id.is_empty() { + len += 1; + } + if !self.channel_id.is_empty() { + len += 1; + } + if !self.packet_commitment_sequences.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsRequest", len)?; + if !self.port_id.is_empty() { + struct_ser.serialize_field("portId", &self.port_id)?; + } + if !self.channel_id.is_empty() { + struct_ser.serialize_field("channelId", &self.channel_id)?; + } + if !self.packet_commitment_sequences.is_empty() { + struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(ToString::to_string).collect::>())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "port_id", + "portId", + "channel_id", + "channelId", + "packet_commitment_sequences", + "packetCommitmentSequences", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PortId, + ChannelId, + PacketCommitmentSequences, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "portId" | "port_id" => Ok(GeneratedField::PortId), + "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "packetCommitmentSequences" | "packet_commitment_sequences" => Ok(GeneratedField::PacketCommitmentSequences), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUnreceivedPacketsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedPacketsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut port_id__ = None; + let mut channel_id__ = None; + let mut packet_commitment_sequences__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PortId => { + if port_id__.is_some() { + return Err(serde::de::Error::duplicate_field("portId")); + } + port_id__ = Some(map_.next_value()?); + } + GeneratedField::ChannelId => { + if channel_id__.is_some() { + return Err(serde::de::Error::duplicate_field("channelId")); + } + channel_id__ = Some(map_.next_value()?); + } + GeneratedField::PacketCommitmentSequences => { + if packet_commitment_sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("packetCommitmentSequences")); + } + packet_commitment_sequences__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + } + } + Ok(QueryUnreceivedPacketsRequest { + port_id: port_id__.unwrap_or_default(), + channel_id: channel_id__.unwrap_or_default(), + packet_commitment_sequences: packet_commitment_sequences__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUnreceivedPacketsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.sequences.is_empty() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsResponse", len)?; + if !self.sequences.is_empty() { + struct_ser.serialize_field("sequences", &self.sequences.iter().map(ToString::to_string).collect::>())?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequences", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequences, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequences" => Ok(GeneratedField::Sequences), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUnreceivedPacketsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedPacketsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequences__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequences => { + if sequences__.is_some() { + return Err(serde::de::Error::duplicate_field("sequences")); + } + sequences__ = + Some(map_.next_value::>>()? + .into_iter().map(|x| x.0).collect()) + ; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryUnreceivedPacketsResponse { + sequences: sequences__.unwrap_or_default(), + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ResponseResultType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "RESPONSE_RESULT_TYPE_UNSPECIFIED", + Self::Noop => "RESPONSE_RESULT_TYPE_NOOP", + Self::Success => "RESPONSE_RESULT_TYPE_SUCCESS", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for ResponseResultType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "RESPONSE_RESULT_TYPE_UNSPECIFIED", + "RESPONSE_RESULT_TYPE_NOOP", + "RESPONSE_RESULT_TYPE_SUCCESS", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ResponseResultType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "RESPONSE_RESULT_TYPE_UNSPECIFIED" => Ok(ResponseResultType::Unspecified), + "RESPONSE_RESULT_TYPE_NOOP" => Ok(ResponseResultType::Noop), + "RESPONSE_RESULT_TYPE_SUCCESS" => Ok(ResponseResultType::Success), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for State { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED", + Self::Init => "STATE_INIT", + Self::Tryopen => "STATE_TRYOPEN", + Self::Open => "STATE_OPEN", + Self::Closed => "STATE_CLOSED", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for State { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "STATE_UNINITIALIZED_UNSPECIFIED", + "STATE_INIT", + "STATE_TRYOPEN", + "STATE_OPEN", + "STATE_CLOSED", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = State; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "STATE_UNINITIALIZED_UNSPECIFIED" => Ok(State::UninitializedUnspecified), + "STATE_INIT" => Ok(State::Init), + "STATE_TRYOPEN" => Ok(State::Tryopen), + "STATE_OPEN" => Ok(State::Open), + "STATE_CLOSED" => Ok(State::Closed), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for Timeout { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.height.is_some() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Timeout", len)?; + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Timeout { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "height", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Height, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "height" => Ok(GeneratedField::Height), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Timeout; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.channel.v1.Timeout") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut height__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Timeout { + height: height__, + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.channel.v1.Timeout", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.core.client.v1.rs b/src/prost/ibc.core.client.v1.rs new file mode 100644 index 00000000..843e9a59 --- /dev/null +++ b/src/prost/ibc.core.client.v1.rs @@ -0,0 +1,2558 @@ +/// IdentifiedClientState defines a client state with an additional client +/// identifier field. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IdentifiedClientState { + /// client identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// client state + #[prost(message, optional, tag = "2")] + pub client_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for IdentifiedClientState { + const NAME: &'static str = "IdentifiedClientState"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// ConsensusStateWithHeight defines a consensus state with an additional height +/// field. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusStateWithHeight { + /// consensus state height + #[prost(message, optional, tag = "1")] + pub height: ::core::option::Option, + /// consensus state + #[prost(message, optional, tag = "2")] + pub consensus_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for ConsensusStateWithHeight { + const NAME: &'static str = "ConsensusStateWithHeight"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// ClientConsensusStates defines all the stored consensus states for a given +/// client. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientConsensusStates { + /// client identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// consensus states and their heights associated with the client + #[prost(message, repeated, tag = "2")] + pub consensus_states: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ClientConsensusStates { + const NAME: &'static str = "ClientConsensusStates"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// Height is a monotonically increasing data type +/// that can be compared against another Height for the purposes of updating and +/// freezing clients +/// +/// Normally the RevisionHeight is incremented at each height while keeping +/// RevisionNumber the same. However some consensus algorithms may choose to +/// reset the height in certain conditions e.g. hard forks, state-machine +/// breaking changes In these cases, the RevisionNumber is incremented so that +/// height continues to be monitonically increasing even as the RevisionHeight +/// gets reset +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Height { + /// the revision that the client is currently on + #[prost(uint64, tag = "1")] + pub revision_number: u64, + /// the height within the given revision + #[prost(uint64, tag = "2")] + pub revision_height: u64, +} +impl ::prost::Name for Height { + const NAME: &'static str = "Height"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// Params defines the set of IBC light client parameters. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// allowed_clients defines the list of allowed client state types which can be created + /// and interacted with. If a client type is removed from the allowed clients list, usage + /// of this client will be disabled until it is added again to the list. + #[prost(string, repeated, tag = "1")] + pub allowed_clients: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// ClientUpdateProposal is a legacy governance proposal. If it passes, the substitute +/// client's latest consensus state is copied over to the subject client. The proposal +/// handler may fail if the subject and the substitute do not match in client and +/// chain parameters (with exception to latest height, frozen height, and chain-id). +/// +/// Deprecated: Please use MsgRecoverClient in favour of this message type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientUpdateProposal { + /// the title of the update proposal + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// the description of the proposal + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// the client identifier for the client to be updated if the proposal passes + #[prost(string, tag = "3")] + pub subject_client_id: ::prost::alloc::string::String, + /// the substitute client identifier for the client standing in for the subject + /// client + #[prost(string, tag = "4")] + pub substitute_client_id: ::prost::alloc::string::String, +} +impl ::prost::Name for ClientUpdateProposal { + const NAME: &'static str = "ClientUpdateProposal"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// UpgradeProposal is a gov Content type for initiating an IBC breaking +/// upgrade. +/// +/// Deprecated: Please use MsgIBCSoftwareUpgrade in favour of this message type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpgradeProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub plan: ::core::option::Option< + super::super::super::super::cosmos::upgrade::v1beta1::Plan, + >, + /// 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 + #[prost(message, optional, tag = "4")] + pub upgraded_client_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for UpgradeProposal { + const NAME: &'static str = "UpgradeProposal"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// GenesisState defines the ibc client submodule's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// client states with their corresponding identifiers + #[prost(message, repeated, tag = "1")] + pub clients: ::prost::alloc::vec::Vec, + /// consensus states from each client + #[prost(message, repeated, tag = "2")] + pub clients_consensus: ::prost::alloc::vec::Vec, + /// metadata from each client + #[prost(message, repeated, tag = "3")] + pub clients_metadata: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub params: ::core::option::Option, + /// Deprecated: create_localhost has been deprecated. + /// The localhost client is automatically created at genesis. + #[deprecated] + #[prost(bool, tag = "5")] + pub create_localhost: bool, + /// the sequence for the next generated client identifier + #[prost(uint64, tag = "6")] + pub next_client_sequence: u64, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// GenesisMetadata defines the genesis type for metadata that clients may return +/// with ExportMetadata +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisMetadata { + /// store key of metadata without clientID-prefix + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + /// metadata value + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GenesisMetadata { + const NAME: &'static str = "GenesisMetadata"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// IdentifiedGenesisMetadata has the client metadata with the corresponding +/// client id. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IdentifiedGenesisMetadata { + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub client_metadata: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for IdentifiedGenesisMetadata { + const NAME: &'static str = "IdentifiedGenesisMetadata"; + const PACKAGE: &'static str = "ibc.core.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// MsgCreateClient defines a message to create an IBC client +#[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< + super::super::super::super::google::protobuf::Any, + >, + /// consensus state associated with the client that corresponds to a given + /// height. + #[prost(message, optional, tag = "2")] + pub consensus_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, +} +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) + } +} +/// MsgCreateClientResponse defines the Msg/CreateClient response type. +#[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"; + 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. +#[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< + super::super::super::super::google::protobuf::Any, + >, + /// signer address + #[prost(string, tag = "3")] + pub signer: ::prost::alloc::string::String, +} +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) + } +} +/// MsgUpdateClientResponse defines the Msg/UpdateClient response type. +#[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"; + 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 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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< + super::super::super::super::google::protobuf::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< + super::super::super::super::google::protobuf::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 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) + } +} +/// MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +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< + super::super::super::super::google::protobuf::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) + } +} +/// MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response +/// type. +#[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"; + 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. +#[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 + #[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) + } +} +/// MsgRecoverClientResponse defines the Msg/RecoverClient response type. +#[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"; + 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 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgIbcSoftwareUpgrade { + #[prost(message, optional, tag = "1")] + pub plan: ::core::option::Option< + super::super::super::super::cosmos::upgrade::v1beta1::Plan, + >, + /// 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< + super::super::super::super::google::protobuf::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) + } +} +/// MsgIBCSoftwareUpgradeResponse defines the Msg/IBCSoftwareUpgrade response type. +#[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"; + 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. +#[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"; + 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. +#[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.client.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.client.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the ibc/client Msg service. + #[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 + } + /// CreateClient defines a rpc handler method for MsgCreateClient. + pub async fn create_client( + &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.Msg/CreateClient", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "CreateClient")); + self.inner.unary(req, path, codec).await + } + /// UpdateClient defines a rpc handler method for MsgUpdateClient. + pub async fn update_client( + &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.Msg/UpdateClient", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpdateClient")); + self.inner.unary(req, path, codec).await + } + /// UpgradeClient defines a rpc handler method for MsgUpgradeClient. + pub async fn upgrade_client( + &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.Msg/UpgradeClient", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpgradeClient")); + self.inner.unary(req, path, codec).await + } + /// SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour. + pub async fn submit_misbehaviour( + &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.Msg/SubmitMisbehaviour", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "SubmitMisbehaviour")); + self.inner.unary(req, path, codec).await + } + /// RecoverClient defines a rpc handler method for MsgRecoverClient. + pub async fn recover_client( + &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.Msg/RecoverClient", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "RecoverClient")); + self.inner.unary(req, path, codec).await + } + /// IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade. + pub async fn ibc_software_upgrade( + &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.Msg/IBCSoftwareUpgrade", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "IBCSoftwareUpgrade")); + self.inner.unary(req, path, codec).await + } + /// UpdateClientParams defines a rpc handler method for MsgUpdateParams. + pub async fn update_client_params( + &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.Msg/UpdateClientParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Msg", "UpdateClientParams")); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// CreateClient defines a rpc handler method for MsgCreateClient. + async fn create_client( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateClient defines a rpc handler method for MsgUpdateClient. + async fn update_client( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpgradeClient defines a rpc handler method for MsgUpgradeClient. + async fn upgrade_client( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// SubmitMisbehaviour defines a rpc handler method for MsgSubmitMisbehaviour. + async fn submit_misbehaviour( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// RecoverClient defines a rpc handler method for MsgRecoverClient. + async fn recover_client( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// IBCSoftwareUpgrade defines a rpc handler method for MsgIBCSoftwareUpgrade. + async fn ibc_software_upgrade( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateClientParams defines a rpc handler method for MsgUpdateParams. + async fn update_client_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the ibc/client Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.core.client.v1.Msg/CreateClient" => { + #[allow(non_camel_case_types)] + struct CreateClientSvc(pub Arc); + impl tonic::server::UnaryService + for CreateClientSvc { + type Response = super::MsgCreateClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::create_client(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = CreateClientSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Msg/UpdateClient" => { + #[allow(non_camel_case_types)] + struct UpdateClientSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateClientSvc { + type Response = super::MsgUpdateClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_client(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateClientSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Msg/UpgradeClient" => { + #[allow(non_camel_case_types)] + struct UpgradeClientSvc(pub Arc); + impl tonic::server::UnaryService + for UpgradeClientSvc { + type Response = super::MsgUpgradeClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::upgrade_client(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpgradeClientSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Msg/SubmitMisbehaviour" => { + #[allow(non_camel_case_types)] + struct SubmitMisbehaviourSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for SubmitMisbehaviourSvc { + type Response = super::MsgSubmitMisbehaviourResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::submit_misbehaviour(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SubmitMisbehaviourSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Msg/RecoverClient" => { + #[allow(non_camel_case_types)] + struct RecoverClientSvc(pub Arc); + impl tonic::server::UnaryService + for RecoverClientSvc { + type Response = super::MsgRecoverClientResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::recover_client(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = RecoverClientSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Msg/IBCSoftwareUpgrade" => { + #[allow(non_camel_case_types)] + struct IBCSoftwareUpgradeSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for IBCSoftwareUpgradeSvc { + type Response = super::MsgIbcSoftwareUpgradeResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::ibc_software_upgrade(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = IBCSoftwareUpgradeSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Msg/UpdateClientParams" => { + #[allow(non_camel_case_types)] + struct UpdateClientParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateClientParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_client_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateClientParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.core.client.v1.Msg"; + } +} +/// QueryClientStateRequest is the request type for the Query/ClientState RPC +/// method +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryClientStateResponse { + /// client state associated with the request identifier + #[prost(message, optional, tag = "1")] + pub client_state: ::core::option::Option< + super::super::super::super::google::protobuf::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) + } +} +/// QueryClientStatesRequest is the request type for the Query/ClientStates RPC +/// method +#[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"; + 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. +#[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, + >, +} +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) + } +} +/// 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsensusStateRequest { + /// client 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, +} +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) + } +} +/// QueryConsensusStateResponse is the response type for the Query/ConsensusState +/// RPC method +#[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< + super::super::super::super::google::protobuf::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) + } +} +/// QueryConsensusStatesRequest is the request type for the Query/ConsensusStates +/// RPC method. +#[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, + >, +} +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) + } +} +/// QueryConsensusStatesResponse is the response type for the +/// Query/ConsensusStates RPC method +#[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"; + 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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsensusStateHeightsRequest { + /// 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, + >, +} +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) + } +} +/// QueryConsensusStateHeightsResponse is the response type for the +/// Query/ConsensusStateHeights RPC method +#[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"; + 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 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryClientStatusRequest { + /// client unique identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, +} +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) + } +} +/// QueryClientStatusResponse is the response type for the Query/ClientStatus RPC +/// method. It returns the current status of the IBC client. +#[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"; + 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. +#[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"; + 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. +#[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"; + 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 +#[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"; + 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. +#[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< + super::super::super::super::google::protobuf::Any, + >, +} +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) + } +} +/// QueryUpgradedConsensusStateRequest is the request type for the +/// Query/UpgradedConsensusState RPC method +#[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"; + 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. +#[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< + super::super::super::super::google::protobuf::Any, + >, +} +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) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query provides defines the gRPC querier service + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// ClientState queries an IBC light client. + pub async fn 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/ClientState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientState")); + self.inner.unary(req, path, codec).await + } + /// ClientStates queries all the IBC light clients of a chain. + pub async fn client_states( + &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/ClientStates", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStates")); + self.inner.unary(req, path, codec).await + } + /// ConsensusState queries a consensus state associated with a client state at + /// a given height. + pub async fn 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/ConsensusState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ConsensusState")); + self.inner.unary(req, path, codec).await + } + /// ConsensusStates queries all the consensus state associated with a given + /// client. + pub async fn consensus_states( + &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/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 + } + /// ConsensusStateHeights queries the height of every consensus states associated with a given client. + 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", + ); + 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 + } + /// Status queries the status of an IBC client. + pub async fn client_status( + &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/ClientStatus", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.client.v1.Query", "ClientStatus")); + self.inner.unary(req, path, codec).await + } + /// ClientParams queries all parameters of the ibc client submodule. + pub async fn client_params( + &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/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 + } + /// UpgradedClientState queries an Upgraded IBC light client. + 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 + } + /// UpgradedConsensusState queries an Upgraded IBC consensus state. + 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", + ); + 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 + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// ClientState queries an IBC light client. + async fn client_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ClientStates queries all the IBC light clients of a chain. + async fn client_states( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConsensusState queries a consensus state associated with a client state at + /// a given height. + async fn consensus_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConsensusStates queries all the consensus state associated with a given + /// client. + async fn consensus_states( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConsensusStateHeights queries the height of every consensus states associated with a given client. + async fn consensus_state_heights( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Status queries the status of an IBC client. + async fn client_status( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ClientParams queries all parameters of the ibc client submodule. + async fn client_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpgradedClientState queries an Upgraded IBC light client. + async fn upgraded_client_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpgradedConsensusState queries an Upgraded IBC consensus state. + async fn upgraded_consensus_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query provides defines the gRPC querier service + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.core.client.v1.Query/ClientState" => { + #[allow(non_camel_case_types)] + struct ClientStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ClientStateSvc { + type Response = super::QueryClientStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::client_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ClientStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/ClientStates" => { + #[allow(non_camel_case_types)] + struct ClientStatesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ClientStatesSvc { + type Response = super::QueryClientStatesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::client_states(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ClientStatesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/ConsensusState" => { + #[allow(non_camel_case_types)] + struct ConsensusStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ConsensusStateSvc { + type Response = super::QueryConsensusStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::consensus_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConsensusStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/ConsensusStates" => { + #[allow(non_camel_case_types)] + struct ConsensusStatesSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ConsensusStatesSvc { + type Response = super::QueryConsensusStatesResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::consensus_states(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConsensusStatesSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/ConsensusStateHeights" => { + #[allow(non_camel_case_types)] + struct ConsensusStateHeightsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryConsensusStateHeightsRequest, + > for ConsensusStateHeightsSvc { + type Response = super::QueryConsensusStateHeightsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryConsensusStateHeightsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::consensus_state_heights(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConsensusStateHeightsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/ClientStatus" => { + #[allow(non_camel_case_types)] + struct ClientStatusSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ClientStatusSvc { + type Response = super::QueryClientStatusResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::client_status(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ClientStatusSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/ClientParams" => { + #[allow(non_camel_case_types)] + struct ClientParamsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ClientParamsSvc { + type Response = super::QueryClientParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::client_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ClientParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/UpgradedClientState" => { + #[allow(non_camel_case_types)] + struct UpgradedClientStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for UpgradedClientStateSvc { + type Response = super::QueryUpgradedClientStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryUpgradedClientStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::upgraded_client_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpgradedClientStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.client.v1.Query/UpgradedConsensusState" => { + #[allow(non_camel_case_types)] + struct UpgradedConsensusStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryUpgradedConsensusStateRequest, + > for UpgradedConsensusStateSvc { + type Response = super::QueryUpgradedConsensusStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryUpgradedConsensusStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::upgraded_consensus_state(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpgradedConsensusStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.core.client.v1.Query"; + } +} diff --git a/src/prost/ibc.core.client.v1.serde.rs b/src/prost/ibc.core.client.v1.serde.rs new file mode 100644 index 00000000..fcd32239 --- /dev/null +++ b/src/prost/ibc.core.client.v1.serde.rs @@ -0,0 +1,4467 @@ +impl serde::Serialize for ClientConsensusStates { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if !self.consensus_states.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.ClientConsensusStates", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.consensus_states.is_empty() { + struct_ser.serialize_field("consensusStates", &self.consensus_states)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientConsensusStates { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "consensus_states", + "consensusStates", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + ConsensusStates, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "consensusStates" | "consensus_states" => Ok(GeneratedField::ConsensusStates), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientConsensusStates; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.ClientConsensusStates") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut consensus_states__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::ConsensusStates => { + if consensus_states__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusStates")); + } + consensus_states__ = Some(map_.next_value()?); + } + } + } + Ok(ClientConsensusStates { + client_id: client_id__.unwrap_or_default(), + consensus_states: consensus_states__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.ClientConsensusStates", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ClientUpdateProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.title.is_empty() { + len += 1; + } + if !self.description.is_empty() { + len += 1; + } + if !self.subject_client_id.is_empty() { + len += 1; + } + if !self.substitute_client_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.ClientUpdateProposal", len)?; + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.description.is_empty() { + struct_ser.serialize_field("description", &self.description)?; + } + if !self.subject_client_id.is_empty() { + struct_ser.serialize_field("subjectClientId", &self.subject_client_id)?; + } + if !self.substitute_client_id.is_empty() { + struct_ser.serialize_field("substituteClientId", &self.substitute_client_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "title", + "description", + "subject_client_id", + "subjectClientId", + "substitute_client_id", + "substituteClientId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Title, + Description, + SubjectClientId, + SubstituteClientId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "title" => Ok(GeneratedField::Title), + "description" => Ok(GeneratedField::Description), + "subjectClientId" | "subject_client_id" => Ok(GeneratedField::SubjectClientId), + "substituteClientId" | "substitute_client_id" => Ok(GeneratedField::SubstituteClientId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientUpdateProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.ClientUpdateProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut title__ = None; + let mut description__ = None; + let mut subject_client_id__ = None; + let mut substitute_client_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = Some(map_.next_value()?); + } + GeneratedField::SubjectClientId => { + if subject_client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("subjectClientId")); + } + subject_client_id__ = Some(map_.next_value()?); + } + GeneratedField::SubstituteClientId => { + if substitute_client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("substituteClientId")); + } + substitute_client_id__ = Some(map_.next_value()?); + } + } + } + Ok(ClientUpdateProposal { + title: title__.unwrap_or_default(), + description: description__.unwrap_or_default(), + subject_client_id: subject_client_id__.unwrap_or_default(), + substitute_client_id: substitute_client_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.ClientUpdateProposal", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConsensusStateWithHeight { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.height.is_some() { + len += 1; + } + if self.consensus_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.ConsensusStateWithHeight", len)?; + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConsensusStateWithHeight { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "height", + "consensus_state", + "consensusState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Height, + ConsensusState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "height" => Ok(GeneratedField::Height), + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConsensusStateWithHeight; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.ConsensusStateWithHeight") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut height__ = None; + let mut consensus_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + } + } + Ok(ConsensusStateWithHeight { + height: height__, + consensus_state: consensus_state__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.ConsensusStateWithHeight", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisMetadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key.is_empty() { + len += 1; + } + if !self.value.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.GenesisMetadata", len)?; + if !self.key.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; + } + if !self.value.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisMetadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key", + "value", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Key, + Value, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "key" => Ok(GeneratedField::Key), + "value" => Ok(GeneratedField::Value), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisMetadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.GenesisMetadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key__ = None; + let mut value__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Key => { + if key__.is_some() { + return Err(serde::de::Error::duplicate_field("key")); + } + key__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Value => { + if value__.is_some() { + return Err(serde::de::Error::duplicate_field("value")); + } + value__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(GenesisMetadata { + key: key__.unwrap_or_default(), + value: value__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.GenesisMetadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.clients.is_empty() { + len += 1; + } + if !self.clients_consensus.is_empty() { + len += 1; + } + if !self.clients_metadata.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + if self.create_localhost { + len += 1; + } + if self.next_client_sequence != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.GenesisState", len)?; + if !self.clients.is_empty() { + struct_ser.serialize_field("clients", &self.clients)?; + } + if !self.clients_consensus.is_empty() { + struct_ser.serialize_field("clientsConsensus", &self.clients_consensus)?; + } + if !self.clients_metadata.is_empty() { + struct_ser.serialize_field("clientsMetadata", &self.clients_metadata)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + if self.create_localhost { + struct_ser.serialize_field("createLocalhost", &self.create_localhost)?; + } + if self.next_client_sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextClientSequence", ToString::to_string(&self.next_client_sequence).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "clients", + "clients_consensus", + "clientsConsensus", + "clients_metadata", + "clientsMetadata", + "params", + "create_localhost", + "createLocalhost", + "next_client_sequence", + "nextClientSequence", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Clients, + ClientsConsensus, + ClientsMetadata, + Params, + CreateLocalhost, + NextClientSequence, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clients" => Ok(GeneratedField::Clients), + "clientsConsensus" | "clients_consensus" => Ok(GeneratedField::ClientsConsensus), + "clientsMetadata" | "clients_metadata" => Ok(GeneratedField::ClientsMetadata), + "params" => Ok(GeneratedField::Params), + "createLocalhost" | "create_localhost" => Ok(GeneratedField::CreateLocalhost), + "nextClientSequence" | "next_client_sequence" => Ok(GeneratedField::NextClientSequence), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut clients__ = None; + let mut clients_consensus__ = None; + let mut clients_metadata__ = None; + let mut params__ = None; + let mut create_localhost__ = None; + let mut next_client_sequence__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Clients => { + if clients__.is_some() { + return Err(serde::de::Error::duplicate_field("clients")); + } + clients__ = Some(map_.next_value()?); + } + GeneratedField::ClientsConsensus => { + if clients_consensus__.is_some() { + return Err(serde::de::Error::duplicate_field("clientsConsensus")); + } + clients_consensus__ = Some(map_.next_value()?); + } + GeneratedField::ClientsMetadata => { + if clients_metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("clientsMetadata")); + } + clients_metadata__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + GeneratedField::CreateLocalhost => { + if create_localhost__.is_some() { + return Err(serde::de::Error::duplicate_field("createLocalhost")); + } + create_localhost__ = Some(map_.next_value()?); + } + GeneratedField::NextClientSequence => { + if next_client_sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("nextClientSequence")); + } + next_client_sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(GenesisState { + clients: clients__.unwrap_or_default(), + clients_consensus: clients_consensus__.unwrap_or_default(), + clients_metadata: clients_metadata__.unwrap_or_default(), + params: params__, + create_localhost: create_localhost__.unwrap_or_default(), + next_client_sequence: next_client_sequence__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Height { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.revision_number != 0 { + len += 1; + } + if self.revision_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.Height", len)?; + if self.revision_number != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + } + if self.revision_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Height { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "revision_number", + "revisionNumber", + "revision_height", + "revisionHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + RevisionNumber, + RevisionHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "revisionNumber" | "revision_number" => Ok(GeneratedField::RevisionNumber), + "revisionHeight" | "revision_height" => Ok(GeneratedField::RevisionHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Height; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.Height") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut revision_number__ = None; + let mut revision_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::RevisionNumber => { + if revision_number__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionNumber")); + } + revision_number__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::RevisionHeight => { + if revision_height__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionHeight")); + } + revision_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Height { + revision_number: revision_number__.unwrap_or_default(), + revision_height: revision_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.Height", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IdentifiedClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.client_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.IdentifiedClientState", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IdentifiedClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "client_state", + "clientState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + ClientState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IdentifiedClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.IdentifiedClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut client_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + } + } + Ok(IdentifiedClientState { + client_id: client_id__.unwrap_or_default(), + client_state: client_state__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.IdentifiedClientState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IdentifiedGenesisMetadata { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if !self.client_metadata.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.IdentifiedGenesisMetadata", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.client_metadata.is_empty() { + struct_ser.serialize_field("clientMetadata", &self.client_metadata)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IdentifiedGenesisMetadata { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "client_metadata", + "clientMetadata", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + ClientMetadata, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "clientMetadata" | "client_metadata" => Ok(GeneratedField::ClientMetadata), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IdentifiedGenesisMetadata; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.IdentifiedGenesisMetadata") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut client_metadata__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::ClientMetadata => { + if client_metadata__.is_some() { + return Err(serde::de::Error::duplicate_field("clientMetadata")); + } + client_metadata__ = Some(map_.next_value()?); + } + } + } + Ok(IdentifiedGenesisMetadata { + client_id: client_id__.unwrap_or_default(), + client_metadata: client_metadata__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.IdentifiedGenesisMetadata", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCreateClient { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.client_state.is_some() { + len += 1; + } + if self.consensus_state.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgCreateClient", len)?; + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCreateClient { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_state", + "clientState", + "consensus_state", + "consensusState", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientState, + ConsensusState, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCreateClient; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgCreateClient") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_state__ = None; + let mut consensus_state__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgCreateClient { + client_state: client_state__, + consensus_state: consensus_state__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgCreateClient", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgCreateClientResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgCreateClientResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgCreateClientResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgCreateClientResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgCreateClientResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgCreateClientResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgCreateClientResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgIbcSoftwareUpgrade { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.plan.is_some() { + len += 1; + } + if self.upgraded_client_state.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgIBCSoftwareUpgrade", len)?; + if let Some(v) = self.plan.as_ref() { + struct_ser.serialize_field("plan", v)?; + } + if let Some(v) = self.upgraded_client_state.as_ref() { + struct_ser.serialize_field("upgradedClientState", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgrade { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "plan", + "upgraded_client_state", + "upgradedClientState", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Plan, + UpgradedClientState, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "plan" => Ok(GeneratedField::Plan), + "upgradedClientState" | "upgraded_client_state" => Ok(GeneratedField::UpgradedClientState), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgIbcSoftwareUpgrade; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgIBCSoftwareUpgrade") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut plan__ = None; + let mut upgraded_client_state__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Plan => { + if plan__.is_some() { + return Err(serde::de::Error::duplicate_field("plan")); + } + plan__ = map_.next_value()?; + } + GeneratedField::UpgradedClientState => { + if upgraded_client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradedClientState")); + } + upgraded_client_state__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgIbcSoftwareUpgrade { + plan: plan__, + upgraded_client_state: upgraded_client_state__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgIBCSoftwareUpgrade", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgIbcSoftwareUpgradeResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgradeResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgIbcSoftwareUpgradeResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgIbcSoftwareUpgradeResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRecoverClient { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.subject_client_id.is_empty() { + len += 1; + } + if !self.substitute_client_id.is_empty() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgRecoverClient", len)?; + if !self.subject_client_id.is_empty() { + struct_ser.serialize_field("subjectClientId", &self.subject_client_id)?; + } + if !self.substitute_client_id.is_empty() { + struct_ser.serialize_field("substituteClientId", &self.substitute_client_id)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRecoverClient { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "subject_client_id", + "subjectClientId", + "substitute_client_id", + "substituteClientId", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SubjectClientId, + SubstituteClientId, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "subjectClientId" | "subject_client_id" => Ok(GeneratedField::SubjectClientId), + "substituteClientId" | "substitute_client_id" => Ok(GeneratedField::SubstituteClientId), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRecoverClient; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgRecoverClient") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut subject_client_id__ = None; + let mut substitute_client_id__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SubjectClientId => { + if subject_client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("subjectClientId")); + } + subject_client_id__ = Some(map_.next_value()?); + } + GeneratedField::SubstituteClientId => { + if substitute_client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("substituteClientId")); + } + substitute_client_id__ = Some(map_.next_value()?); + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgRecoverClient { + subject_client_id: subject_client_id__.unwrap_or_default(), + substitute_client_id: substitute_client_id__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgRecoverClient", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgRecoverClientResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgRecoverClientResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgRecoverClientResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgRecoverClientResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgRecoverClientResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgRecoverClientResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgRecoverClientResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSubmitMisbehaviour { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.misbehaviour.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgSubmitMisbehaviour", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.misbehaviour.as_ref() { + struct_ser.serialize_field("misbehaviour", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviour { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "misbehaviour", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Misbehaviour, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "misbehaviour" => Ok(GeneratedField::Misbehaviour), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSubmitMisbehaviour; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgSubmitMisbehaviour") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut misbehaviour__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Misbehaviour => { + if misbehaviour__.is_some() { + return Err(serde::de::Error::duplicate_field("misbehaviour")); + } + misbehaviour__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgSubmitMisbehaviour { + client_id: client_id__.unwrap_or_default(), + misbehaviour: misbehaviour__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgSubmitMisbehaviour", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgSubmitMisbehaviourResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgSubmitMisbehaviourResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviourResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgSubmitMisbehaviourResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgSubmitMisbehaviourResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgSubmitMisbehaviourResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgSubmitMisbehaviourResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateClient { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.client_message.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpdateClient", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.client_message.as_ref() { + struct_ser.serialize_field("clientMessage", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateClient { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "client_message", + "clientMessage", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + ClientMessage, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "clientMessage" | "client_message" => Ok(GeneratedField::ClientMessage), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateClient; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgUpdateClient") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut client_message__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::ClientMessage => { + if client_message__.is_some() { + return Err(serde::de::Error::duplicate_field("clientMessage")); + } + client_message__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgUpdateClient { + client_id: client_id__.unwrap_or_default(), + client_message: client_message__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgUpdateClient", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateClientResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpdateClientResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateClientResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateClientResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgUpdateClientResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateClientResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgUpdateClientResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signer.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpdateParams", len)?; + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signer", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signer, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signer" => Ok(GeneratedField::Signer), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signer__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + signer: signer__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpgradeClient { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.client_state.is_some() { + len += 1; + } + if self.consensus_state.is_some() { + len += 1; + } + if !self.proof_upgrade_client.is_empty() { + len += 1; + } + if !self.proof_upgrade_consensus_state.is_empty() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpgradeClient", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + if !self.proof_upgrade_client.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofUpgradeClient", pbjson::private::base64::encode(&self.proof_upgrade_client).as_str())?; + } + if !self.proof_upgrade_consensus_state.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofUpgradeConsensusState", pbjson::private::base64::encode(&self.proof_upgrade_consensus_state).as_str())?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "client_state", + "clientState", + "consensus_state", + "consensusState", + "proof_upgrade_client", + "proofUpgradeClient", + "proof_upgrade_consensus_state", + "proofUpgradeConsensusState", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + ClientState, + ConsensusState, + ProofUpgradeClient, + ProofUpgradeConsensusState, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + "proofUpgradeClient" | "proof_upgrade_client" => Ok(GeneratedField::ProofUpgradeClient), + "proofUpgradeConsensusState" | "proof_upgrade_consensus_state" => Ok(GeneratedField::ProofUpgradeConsensusState), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpgradeClient; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgUpgradeClient") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut client_state__ = None; + let mut consensus_state__ = None; + let mut proof_upgrade_client__ = None; + let mut proof_upgrade_consensus_state__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + GeneratedField::ProofUpgradeClient => { + if proof_upgrade_client__.is_some() { + return Err(serde::de::Error::duplicate_field("proofUpgradeClient")); + } + proof_upgrade_client__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofUpgradeConsensusState => { + if proof_upgrade_consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("proofUpgradeConsensusState")); + } + proof_upgrade_consensus_state__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgUpgradeClient { + client_id: client_id__.unwrap_or_default(), + client_state: client_state__, + consensus_state: consensus_state__, + proof_upgrade_client: proof_upgrade_client__.unwrap_or_default(), + proof_upgrade_consensus_state: proof_upgrade_consensus_state__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgUpgradeClient", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpgradeClientResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpgradeClientResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpgradeClientResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpgradeClientResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.MsgUpgradeClientResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpgradeClientResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.MsgUpgradeClientResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.allowed_clients.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.Params", len)?; + if !self.allowed_clients.is_empty() { + struct_ser.serialize_field("allowedClients", &self.allowed_clients)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "allowed_clients", + "allowedClients", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AllowedClients, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "allowedClients" | "allowed_clients" => Ok(GeneratedField::AllowedClients), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut allowed_clients__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AllowedClients => { + if allowed_clients__.is_some() { + return Err(serde::de::Error::duplicate_field("allowedClients")); + } + allowed_clients__ = Some(map_.next_value()?); + } + } + } + Ok(Params { + allowed_clients: allowed_clients__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryClientParamsRequest { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryClientParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStateRequest", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryClientStateRequest { + client_id: client_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.client_state.is_some() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStateResponse", len)?; + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_state", + "clientState", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientState, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_state__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryClientStateResponse { + client_state: client_state__, + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientStatesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatesRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientStatesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientStatesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientStatesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryClientStatesRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientStatesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientStatesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_states.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatesResponse", len)?; + if !self.client_states.is_empty() { + struct_ser.serialize_field("clientStates", &self.client_states)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientStatesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_states", + "clientStates", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientStates, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientStates" | "client_states" => Ok(GeneratedField::ClientStates), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientStatesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientStatesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_states__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientStates => { + if client_states__.is_some() { + return Err(serde::de::Error::duplicate_field("clientStates")); + } + client_states__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryClientStatesResponse { + client_states: client_states__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientStatesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientStatusRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatusRequest", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientStatusRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientStatusRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientStatusRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryClientStatusRequest { + client_id: client_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientStatusRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientStatusResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.status.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatusResponse", len)?; + if !self.status.is_empty() { + struct_ser.serialize_field("status", &self.status)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientStatusResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "status", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Status, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "status" => Ok(GeneratedField::Status), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientStatusResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryClientStatusResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut status__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Status => { + if status__.is_some() { + return Err(serde::de::Error::duplicate_field("status")); + } + status__ = Some(map_.next_value()?); + } + } + } + Ok(QueryClientStatusResponse { + status: status__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryClientStatusResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConsensusStateHeightsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateHeightsRequest", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConsensusStateHeightsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateHeightsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryConsensusStateHeightsRequest { + client_id: client_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryConsensusStateHeightsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConsensusStateHeightsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.consensus_state_heights.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateHeightsResponse", len)?; + if !self.consensus_state_heights.is_empty() { + struct_ser.serialize_field("consensusStateHeights", &self.consensus_state_heights)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "consensus_state_heights", + "consensusStateHeights", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConsensusStateHeights, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "consensusStateHeights" | "consensus_state_heights" => Ok(GeneratedField::ConsensusStateHeights), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConsensusStateHeightsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateHeightsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut consensus_state_heights__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConsensusStateHeights => { + if consensus_state_heights__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusStateHeights")); + } + consensus_state_heights__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryConsensusStateHeightsResponse { + consensus_state_heights: consensus_state_heights__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryConsensusStateHeightsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConsensusStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.revision_number != 0 { + len += 1; + } + if self.revision_height != 0 { + len += 1; + } + if self.latest_height { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateRequest", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if self.revision_number != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + } + if self.revision_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + } + if self.latest_height { + struct_ser.serialize_field("latestHeight", &self.latest_height)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "revision_number", + "revisionNumber", + "revision_height", + "revisionHeight", + "latest_height", + "latestHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + RevisionNumber, + RevisionHeight, + LatestHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "revisionNumber" | "revision_number" => Ok(GeneratedField::RevisionNumber), + "revisionHeight" | "revision_height" => Ok(GeneratedField::RevisionHeight), + "latestHeight" | "latest_height" => Ok(GeneratedField::LatestHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConsensusStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut revision_number__ = None; + let mut revision_height__ = None; + let mut latest_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::RevisionNumber => { + if revision_number__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionNumber")); + } + revision_number__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::RevisionHeight => { + if revision_height__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionHeight")); + } + revision_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::LatestHeight => { + if latest_height__.is_some() { + return Err(serde::de::Error::duplicate_field("latestHeight")); + } + latest_height__ = Some(map_.next_value()?); + } + } + } + Ok(QueryConsensusStateRequest { + client_id: client_id__.unwrap_or_default(), + revision_number: revision_number__.unwrap_or_default(), + revision_height: revision_height__.unwrap_or_default(), + latest_height: latest_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryConsensusStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConsensusStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.consensus_state.is_some() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateResponse", len)?; + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConsensusStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "consensus_state", + "consensusState", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConsensusState, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConsensusStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut consensus_state__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryConsensusStateResponse { + consensus_state: consensus_state__, + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryConsensusStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConsensusStatesRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStatesRequest", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConsensusStatesRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConsensusStatesRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryConsensusStatesRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryConsensusStatesRequest { + client_id: client_id__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryConsensusStatesRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConsensusStatesResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.consensus_states.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStatesResponse", len)?; + if !self.consensus_states.is_empty() { + struct_ser.serialize_field("consensusStates", &self.consensus_states)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConsensusStatesResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "consensus_states", + "consensusStates", + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConsensusStates, + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "consensusStates" | "consensus_states" => Ok(GeneratedField::ConsensusStates), + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConsensusStatesResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryConsensusStatesResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut consensus_states__ = None; + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConsensusStates => { + if consensus_states__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusStates")); + } + consensus_states__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryConsensusStatesResponse { + consensus_states: consensus_states__.unwrap_or_default(), + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryConsensusStatesResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUpgradedClientStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryUpgradedClientStateRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUpgradedClientStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryUpgradedClientStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryUpgradedClientStateRequest { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryUpgradedClientStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUpgradedClientStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.upgraded_client_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryUpgradedClientStateResponse", len)?; + if let Some(v) = self.upgraded_client_state.as_ref() { + struct_ser.serialize_field("upgradedClientState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "upgraded_client_state", + "upgradedClientState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UpgradedClientState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "upgradedClientState" | "upgraded_client_state" => Ok(GeneratedField::UpgradedClientState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUpgradedClientStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryUpgradedClientStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut upgraded_client_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UpgradedClientState => { + if upgraded_client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradedClientState")); + } + upgraded_client_state__ = map_.next_value()?; + } + } + } + Ok(QueryUpgradedClientStateResponse { + upgraded_client_state: upgraded_client_state__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryUpgradedClientStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUpgradedConsensusStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryUpgradedConsensusStateRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUpgradedConsensusStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryUpgradedConsensusStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryUpgradedConsensusStateRequest { + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryUpgradedConsensusStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryUpgradedConsensusStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.upgraded_consensus_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryUpgradedConsensusStateResponse", len)?; + if let Some(v) = self.upgraded_consensus_state.as_ref() { + struct_ser.serialize_field("upgradedConsensusState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "upgraded_consensus_state", + "upgradedConsensusState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + UpgradedConsensusState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "upgradedConsensusState" | "upgraded_consensus_state" => Ok(GeneratedField::UpgradedConsensusState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryUpgradedConsensusStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.QueryUpgradedConsensusStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut upgraded_consensus_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::UpgradedConsensusState => { + if upgraded_consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradedConsensusState")); + } + upgraded_consensus_state__ = map_.next_value()?; + } + } + } + Ok(QueryUpgradedConsensusStateResponse { + upgraded_consensus_state: upgraded_consensus_state__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.QueryUpgradedConsensusStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for UpgradeProposal { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.title.is_empty() { + len += 1; + } + if !self.description.is_empty() { + len += 1; + } + if self.plan.is_some() { + len += 1; + } + if self.upgraded_client_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.UpgradeProposal", len)?; + if !self.title.is_empty() { + struct_ser.serialize_field("title", &self.title)?; + } + if !self.description.is_empty() { + struct_ser.serialize_field("description", &self.description)?; + } + if let Some(v) = self.plan.as_ref() { + struct_ser.serialize_field("plan", v)?; + } + if let Some(v) = self.upgraded_client_state.as_ref() { + struct_ser.serialize_field("upgradedClientState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for UpgradeProposal { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "title", + "description", + "plan", + "upgraded_client_state", + "upgradedClientState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Title, + Description, + Plan, + UpgradedClientState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "title" => Ok(GeneratedField::Title), + "description" => Ok(GeneratedField::Description), + "plan" => Ok(GeneratedField::Plan), + "upgradedClientState" | "upgraded_client_state" => Ok(GeneratedField::UpgradedClientState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = UpgradeProposal; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.client.v1.UpgradeProposal") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut title__ = None; + let mut description__ = None; + let mut plan__ = None; + let mut upgraded_client_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Title => { + if title__.is_some() { + return Err(serde::de::Error::duplicate_field("title")); + } + title__ = Some(map_.next_value()?); + } + GeneratedField::Description => { + if description__.is_some() { + return Err(serde::de::Error::duplicate_field("description")); + } + description__ = Some(map_.next_value()?); + } + GeneratedField::Plan => { + if plan__.is_some() { + return Err(serde::de::Error::duplicate_field("plan")); + } + plan__ = map_.next_value()?; + } + GeneratedField::UpgradedClientState => { + if upgraded_client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradedClientState")); + } + upgraded_client_state__ = map_.next_value()?; + } + } + } + Ok(UpgradeProposal { + title: title__.unwrap_or_default(), + description: description__.unwrap_or_default(), + plan: plan__, + upgraded_client_state: upgraded_client_state__, + }) + } + } + deserializer.deserialize_struct("ibc.core.client.v1.UpgradeProposal", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.core.commitment.v1.rs b/src/prost/ibc.core.commitment.v1.rs new file mode 100644 index 00000000..2d7630be --- /dev/null +++ b/src/prost/ibc.core.commitment.v1.rs @@ -0,0 +1,67 @@ +/// MerkleRoot defines a merkle root hash. +/// In the Cosmos SDK, the AppHash of a block header becomes the root. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MerkleRoot { + #[prost(bytes = "vec", tag = "1")] + pub hash: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MerkleRoot { + const NAME: &'static str = "MerkleRoot"; + const PACKAGE: &'static str = "ibc.core.commitment.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) + } +} +/// MerklePrefix is merkle path prefixed to the key. +/// The constructed key from the Path and the key will be append(Path.KeyPath, +/// append(Path.KeyPrefix, key...)) +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MerklePrefix { + #[prost(bytes = "vec", tag = "1")] + pub key_prefix: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MerklePrefix { + const NAME: &'static str = "MerklePrefix"; + const PACKAGE: &'static str = "ibc.core.commitment.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) + } +} +/// MerklePath is the path used to verify commitment proofs, which can be an +/// arbitrary structured object (defined by a commitment type). +/// MerklePath is represented from root-to-leaf +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MerklePath { + #[prost(string, repeated, tag = "1")] + pub key_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for MerklePath { + const NAME: &'static str = "MerklePath"; + const PACKAGE: &'static str = "ibc.core.commitment.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) + } +} +/// MerkleProof is a wrapper type over a chain of CommitmentProofs. +/// It demonstrates membership or non-membership for an element or set of +/// elements, verifiable in conjunction with a known commitment root. Proofs +/// should be succinct. +/// MerkleProofs are ordered from leaf-to-root +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MerkleProof { + #[prost(message, repeated, tag = "1")] + pub proofs: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::ics23::v1::CommitmentProof, + >, +} +impl ::prost::Name for MerkleProof { + const NAME: &'static str = "MerkleProof"; + const PACKAGE: &'static str = "ibc.core.commitment.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.commitment.v1.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.core.commitment.v1.serde.rs b/src/prost/ibc.core.commitment.v1.serde.rs new file mode 100644 index 00000000..c8d9d9eb --- /dev/null +++ b/src/prost/ibc.core.commitment.v1.serde.rs @@ -0,0 +1,372 @@ +impl serde::Serialize for MerklePath { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key_path.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerklePath", len)?; + if !self.key_path.is_empty() { + struct_ser.serialize_field("keyPath", &self.key_path)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MerklePath { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key_path", + "keyPath", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + KeyPath, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "keyPath" | "key_path" => Ok(GeneratedField::KeyPath), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MerklePath; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.commitment.v1.MerklePath") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key_path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::KeyPath => { + if key_path__.is_some() { + return Err(serde::de::Error::duplicate_field("keyPath")); + } + key_path__ = Some(map_.next_value()?); + } + } + } + Ok(MerklePath { + key_path: key_path__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.commitment.v1.MerklePath", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MerklePrefix { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.key_prefix.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerklePrefix", len)?; + if !self.key_prefix.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("keyPrefix", pbjson::private::base64::encode(&self.key_prefix).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MerklePrefix { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "key_prefix", + "keyPrefix", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + KeyPrefix, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "keyPrefix" | "key_prefix" => Ok(GeneratedField::KeyPrefix), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MerklePrefix; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.commitment.v1.MerklePrefix") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut key_prefix__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::KeyPrefix => { + if key_prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("keyPrefix")); + } + key_prefix__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(MerklePrefix { + key_prefix: key_prefix__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.commitment.v1.MerklePrefix", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MerkleProof { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.proofs.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerkleProof", len)?; + if !self.proofs.is_empty() { + struct_ser.serialize_field("proofs", &self.proofs)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MerkleProof { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "proofs", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Proofs, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "proofs" => Ok(GeneratedField::Proofs), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MerkleProof; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.commitment.v1.MerkleProof") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut proofs__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Proofs => { + if proofs__.is_some() { + return Err(serde::de::Error::duplicate_field("proofs")); + } + proofs__ = Some(map_.next_value()?); + } + } + } + Ok(MerkleProof { + proofs: proofs__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.commitment.v1.MerkleProof", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MerkleRoot { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.hash.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerkleRoot", len)?; + if !self.hash.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MerkleRoot { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "hash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Hash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "hash" => Ok(GeneratedField::Hash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MerkleRoot; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.commitment.v1.MerkleRoot") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Hash => { + if hash__.is_some() { + return Err(serde::de::Error::duplicate_field("hash")); + } + hash__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(MerkleRoot { + hash: hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.commitment.v1.MerkleRoot", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.core.connection.v1.rs b/src/prost/ibc.core.connection.v1.rs new file mode 100644 index 00000000..5a9696fa --- /dev/null +++ b/src/prost/ibc.core.connection.v1.rs @@ -0,0 +1,2019 @@ +/// ConnectionEnd defines a stateful object on a chain connected to another +/// separate one. +/// NOTE: there must only be 2 defined ConnectionEnds to establish +/// a connection between two chains. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConnectionEnd { + /// client associated with this connection. + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// IBC version which can be utilised to determine encodings or protocols for + /// channels or packets utilising this connection. + #[prost(message, repeated, tag = "2")] + pub versions: ::prost::alloc::vec::Vec, + /// current state of the connection end. + #[prost(enumeration = "State", tag = "3")] + pub state: i32, + /// counterparty chain associated with this connection. + #[prost(message, optional, tag = "4")] + pub counterparty: ::core::option::Option, + /// delay period that must pass before a consensus state can be used for + /// packet-verification NOTE: delay period logic is only implemented by some + /// clients. + #[prost(uint64, tag = "5")] + pub delay_period: u64, +} +impl ::prost::Name for ConnectionEnd { + const NAME: &'static str = "ConnectionEnd"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// IdentifiedConnection defines a connection with additional connection +/// identifier field. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct IdentifiedConnection { + /// connection identifier. + #[prost(string, tag = "1")] + pub id: ::prost::alloc::string::String, + /// client associated with this connection. + #[prost(string, tag = "2")] + pub client_id: ::prost::alloc::string::String, + /// IBC version which can be utilised to determine encodings or protocols for + /// channels or packets utilising this connection + #[prost(message, repeated, tag = "3")] + pub versions: ::prost::alloc::vec::Vec, + /// current state of the connection end. + #[prost(enumeration = "State", tag = "4")] + pub state: i32, + /// counterparty chain associated with this connection. + #[prost(message, optional, tag = "5")] + pub counterparty: ::core::option::Option, + /// delay period associated with this connection. + #[prost(uint64, tag = "6")] + pub delay_period: u64, +} +impl ::prost::Name for IdentifiedConnection { + const NAME: &'static str = "IdentifiedConnection"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// Counterparty defines the counterparty chain associated with a connection end. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Counterparty { + /// identifies the client on the counterparty chain associated with a given + /// connection. + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// identifies the connection end on the counterparty chain associated with a + /// given connection. + #[prost(string, tag = "2")] + pub connection_id: ::prost::alloc::string::String, + /// commitment merkle prefix of the counterparty chain. + #[prost(message, optional, tag = "3")] + pub prefix: ::core::option::Option, +} +impl ::prost::Name for Counterparty { + const NAME: &'static str = "Counterparty"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// ClientPaths define all the connection paths for a client state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientPaths { + /// list of connection paths + #[prost(string, repeated, tag = "1")] + pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ClientPaths { + const NAME: &'static str = "ClientPaths"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// ConnectionPaths define all the connection paths for a given client state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConnectionPaths { + /// client state unique identifier + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// list of connection paths + #[prost(string, repeated, tag = "2")] + pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ConnectionPaths { + const NAME: &'static str = "ConnectionPaths"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// Version defines the versioning scheme used to negotiate the IBC verison in +/// the connection handshake. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Version { + /// unique version identifier + #[prost(string, tag = "1")] + pub identifier: ::prost::alloc::string::String, + /// list of features compatible with the specified identifier + #[prost(string, repeated, tag = "2")] + pub features: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for Version { + const NAME: &'static str = "Version"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// Params defines the set of Connection parameters. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + /// maximum expected time per block (in nanoseconds), used to enforce block delay. This parameter should reflect the + /// largest amount of time that the chain might reasonably take to produce the next block under normal operating + /// conditions. A safe choice is 3-5x the expected time per block. + #[prost(uint64, tag = "1")] + pub max_expected_time_per_block: u64, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// State defines if a connection is in one of the following states: +/// INIT, TRYOPEN, OPEN or UNINITIALIZED. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum State { + /// Default State + UninitializedUnspecified = 0, + /// A connection end has just started the opening handshake. + Init = 1, + /// A connection end has acknowledged the handshake step on the counterparty + /// chain. + Tryopen = 2, + /// A connection end has completed the handshake. + Open = 3, +} +impl State { + /// 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 { + State::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED", + State::Init => "STATE_INIT", + State::Tryopen => "STATE_TRYOPEN", + State::Open => "STATE_OPEN", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "STATE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified), + "STATE_INIT" => Some(Self::Init), + "STATE_TRYOPEN" => Some(Self::Tryopen), + "STATE_OPEN" => Some(Self::Open), + _ => None, + } + } +} +/// GenesisState defines the ibc connection submodule's genesis state. +#[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. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenInit { + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub counterparty: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub version: ::core::option::Option, + #[prost(uint64, tag = "4")] + pub delay_period: u64, + #[prost(string, tag = "5")] + pub signer: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgConnectionOpenInit { + const NAME: &'static str = "MsgConnectionOpenInit"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response +/// type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenInitResponse {} +impl ::prost::Name for MsgConnectionOpenInitResponse { + const NAME: &'static str = "MsgConnectionOpenInitResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a +/// connection on Chain B. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenTry { + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + /// Deprecated: this field is unused. Crossing hellos are no longer supported in core IBC. + #[deprecated] + #[prost(string, tag = "2")] + pub previous_connection_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub client_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + #[prost(message, optional, tag = "4")] + pub counterparty: ::core::option::Option, + #[prost(uint64, tag = "5")] + pub delay_period: u64, + #[prost(message, repeated, tag = "6")] + pub counterparty_versions: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "7")] + pub proof_height: ::core::option::Option, + /// proof of the initialization the connection on Chain A: `UNITIALIZED -> + /// INIT` + #[prost(bytes = "vec", tag = "8")] + pub proof_init: ::prost::alloc::vec::Vec, + /// proof of client state included in message + #[prost(bytes = "vec", tag = "9")] + pub proof_client: ::prost::alloc::vec::Vec, + /// proof of client consensus state + #[prost(bytes = "vec", tag = "10")] + pub proof_consensus: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "11")] + pub consensus_height: ::core::option::Option, + #[prost(string, tag = "12")] + pub signer: ::prost::alloc::string::String, + /// optional proof data for host state machines that are unable to introspect their own consensus state + #[prost(bytes = "vec", tag = "13")] + pub host_consensus_state_proof: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgConnectionOpenTry { + const NAME: &'static str = "MsgConnectionOpenTry"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenTryResponse {} +impl ::prost::Name for MsgConnectionOpenTryResponse { + const NAME: &'static str = "MsgConnectionOpenTryResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to +/// acknowledge the change of connection state to TRYOPEN on Chain B. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenAck { + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub counterparty_connection_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub version: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub client_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + #[prost(message, optional, tag = "5")] + pub proof_height: ::core::option::Option, + /// proof of the initialization the connection on Chain B: `UNITIALIZED -> + /// TRYOPEN` + #[prost(bytes = "vec", tag = "6")] + pub proof_try: ::prost::alloc::vec::Vec, + /// proof of client state included in message + #[prost(bytes = "vec", tag = "7")] + pub proof_client: ::prost::alloc::vec::Vec, + /// proof of client consensus state + #[prost(bytes = "vec", tag = "8")] + pub proof_consensus: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "9")] + pub consensus_height: ::core::option::Option, + #[prost(string, tag = "10")] + pub signer: ::prost::alloc::string::String, + /// optional proof data for host state machines that are unable to introspect their own consensus state + #[prost(bytes = "vec", tag = "11")] + pub host_consensus_state_proof: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MsgConnectionOpenAck { + const NAME: &'static str = "MsgConnectionOpenAck"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenAckResponse {} +impl ::prost::Name for MsgConnectionOpenAckResponse { + const NAME: &'static str = "MsgConnectionOpenAckResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to +/// acknowledge the change of connection state to OPEN on Chain A. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenConfirm { + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, + /// proof for the change of the connection state on Chain A: `INIT -> OPEN` + #[prost(bytes = "vec", tag = "2")] + pub proof_ack: ::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 MsgConnectionOpenConfirm { + const NAME: &'static str = "MsgConnectionOpenConfirm"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm +/// response type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgConnectionOpenConfirmResponse {} +impl ::prost::Name for MsgConnectionOpenConfirmResponse { + const NAME: &'static str = "MsgConnectionOpenConfirmResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgUpdateParams defines the sdk.Msg type to update the connection parameters. +#[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 connection 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 = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// MsgUpdateParamsResponse defines the MsgUpdateParams response type. +#[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.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the ibc/connection Msg service. + #[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 + } + /// ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit. + pub async fn connection_open_init( + &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.connection.v1.Msg/ConnectionOpenInit", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.connection.v1.Msg", "ConnectionOpenInit"), + ); + self.inner.unary(req, path, codec).await + } + /// ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry. + pub async fn connection_open_try( + &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.connection.v1.Msg/ConnectionOpenTry", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.connection.v1.Msg", "ConnectionOpenTry"), + ); + self.inner.unary(req, path, codec).await + } + /// ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. + pub async fn connection_open_ack( + &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.connection.v1.Msg/ConnectionOpenAck", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.connection.v1.Msg", "ConnectionOpenAck"), + ); + self.inner.unary(req, path, codec).await + } + /// ConnectionOpenConfirm defines a rpc handler method for + /// MsgConnectionOpenConfirm. + pub async fn connection_open_confirm( + &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.connection.v1.Msg/ConnectionOpenConfirm", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.core.connection.v1.Msg", + "ConnectionOpenConfirm", + ), + ); + self.inner.unary(req, path, codec).await + } + /// UpdateConnectionParams defines a rpc handler method for + /// MsgUpdateParams. + pub async fn update_connection_params( + &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.connection.v1.Msg/UpdateConnectionParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.core.connection.v1.Msg", + "UpdateConnectionParams", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// ConnectionOpenInit defines a rpc handler method for MsgConnectionOpenInit. + async fn connection_open_init( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionOpenTry defines a rpc handler method for MsgConnectionOpenTry. + async fn connection_open_try( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionOpenAck defines a rpc handler method for MsgConnectionOpenAck. + async fn connection_open_ack( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionOpenConfirm defines a rpc handler method for + /// MsgConnectionOpenConfirm. + async fn connection_open_confirm( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// UpdateConnectionParams defines a rpc handler method for + /// MsgUpdateParams. + async fn update_connection_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the ibc/connection Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.core.connection.v1.Msg/ConnectionOpenInit" => { + #[allow(non_camel_case_types)] + struct ConnectionOpenInitSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for ConnectionOpenInitSvc { + type Response = super::MsgConnectionOpenInitResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_open_init(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionOpenInitSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Msg/ConnectionOpenTry" => { + #[allow(non_camel_case_types)] + struct ConnectionOpenTrySvc(pub Arc); + impl tonic::server::UnaryService + for ConnectionOpenTrySvc { + type Response = super::MsgConnectionOpenTryResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_open_try(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionOpenTrySvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Msg/ConnectionOpenAck" => { + #[allow(non_camel_case_types)] + struct ConnectionOpenAckSvc(pub Arc); + impl tonic::server::UnaryService + for ConnectionOpenAckSvc { + type Response = super::MsgConnectionOpenAckResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_open_ack(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionOpenAckSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Msg/ConnectionOpenConfirm" => { + #[allow(non_camel_case_types)] + struct ConnectionOpenConfirmSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for ConnectionOpenConfirmSvc { + type Response = super::MsgConnectionOpenConfirmResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_open_confirm(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionOpenConfirmSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Msg/UpdateConnectionParams" => { + #[allow(non_camel_case_types)] + struct UpdateConnectionParamsSvc(pub Arc); + impl tonic::server::UnaryService + for UpdateConnectionParamsSvc { + type Response = super::MsgUpdateParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::update_connection_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = UpdateConnectionParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "ibc.core.connection.v1.Msg"; + } +} +/// QueryConnectionRequest is the request type for the Query/Connection RPC +/// method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionRequest { + /// connection unique identifier + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryConnectionRequest { + const NAME: &'static str = "QueryConnectionRequest"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionResponse is the response type for the Query/Connection RPC +/// method. Besides the connection end, it includes a proof and the height from +/// which the proof was retrieved. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionResponse { + /// connection associated with the request identifier + #[prost(message, optional, tag = "1")] + pub connection: ::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 QueryConnectionResponse { + const NAME: &'static str = "QueryConnectionResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionsRequest is the request type for the Query/Connections RPC +/// method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionsRequest { + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option< + super::super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, +} +impl ::prost::Name for QueryConnectionsRequest { + const NAME: &'static str = "QueryConnectionsRequest"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionsResponse is the response type for the Query/Connections RPC +/// method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionsResponse { + /// list of stored connections of the chain. + #[prost(message, repeated, tag = "1")] + pub connections: ::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 QueryConnectionsResponse { + const NAME: &'static str = "QueryConnectionsResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryClientConnectionsRequest is the request type for the +/// Query/ClientConnections RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryClientConnectionsRequest { + /// client identifier associated with a connection + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryClientConnectionsRequest { + const NAME: &'static str = "QueryClientConnectionsRequest"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryClientConnectionsResponse is the response type for the +/// Query/ClientConnections RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryClientConnectionsResponse { + /// slice of all the connection paths associated with a client. + #[prost(string, repeated, tag = "1")] + pub connection_paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// merkle proof of existence + #[prost(bytes = "vec", tag = "2")] + pub proof: ::prost::alloc::vec::Vec, + /// height at which the proof was generated + #[prost(message, optional, tag = "3")] + pub proof_height: ::core::option::Option, +} +impl ::prost::Name for QueryClientConnectionsResponse { + const NAME: &'static str = "QueryClientConnectionsResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionClientStateRequest is the request type for the +/// Query/ConnectionClientState RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionClientStateRequest { + /// connection identifier + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryConnectionClientStateRequest { + const NAME: &'static str = "QueryConnectionClientStateRequest"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionClientStateResponse is the response type for the +/// Query/ConnectionClientState RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionClientStateResponse { + /// client state associated with the channel + #[prost(message, optional, tag = "1")] + pub identified_client_state: ::core::option::Option< + super::super::client::v1::IdentifiedClientState, + >, + /// 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 QueryConnectionClientStateResponse { + const NAME: &'static str = "QueryConnectionClientStateResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionConsensusStateRequest is the request type for the +/// Query/ConnectionConsensusState RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionConsensusStateRequest { + /// connection identifier + #[prost(string, tag = "1")] + pub connection_id: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + pub revision_number: u64, + #[prost(uint64, tag = "3")] + pub revision_height: u64, +} +impl ::prost::Name for QueryConnectionConsensusStateRequest { + const NAME: &'static str = "QueryConnectionConsensusStateRequest"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionConsensusStateResponse is the response type for the +/// Query/ConnectionConsensusState RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionConsensusStateResponse { + /// consensus state associated with the channel + #[prost(message, optional, tag = "1")] + pub consensus_state: ::core::option::Option< + super::super::super::super::google::protobuf::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 QueryConnectionConsensusStateResponse { + const NAME: &'static str = "QueryConnectionConsensusStateResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionParamsRequest is the request type for the Query/ConnectionParams RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionParamsRequest {} +impl ::prost::Name for QueryConnectionParamsRequest { + const NAME: &'static str = "QueryConnectionParamsRequest"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// QueryConnectionParamsResponse is the response type for the Query/ConnectionParams RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConnectionParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +impl ::prost::Name for QueryConnectionParamsResponse { + const NAME: &'static str = "QueryConnectionParamsResponse"; + const PACKAGE: &'static str = "ibc.core.connection.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.connection.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Query provides defines the gRPC querier service + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// Connection queries an IBC connection end. + pub async fn connection( + &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.connection.v1.Query/Connection", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.connection.v1.Query", "Connection")); + self.inner.unary(req, path, codec).await + } + /// Connections queries all the IBC connections of a chain. + pub async fn connections( + &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.connection.v1.Query/Connections", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert(GrpcMethod::new("ibc.core.connection.v1.Query", "Connections")); + self.inner.unary(req, path, codec).await + } + /// ClientConnections queries the connection paths associated with a client + /// state. + pub async fn client_connections( + &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.connection.v1.Query/ClientConnections", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.connection.v1.Query", "ClientConnections"), + ); + self.inner.unary(req, path, codec).await + } + /// ConnectionClientState queries the client state associated with the + /// connection. + pub async fn connection_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.connection.v1.Query/ConnectionClientState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.core.connection.v1.Query", + "ConnectionClientState", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ConnectionConsensusState queries the consensus state associated with the + /// connection. + pub async fn connection_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.connection.v1.Query/ConnectionConsensusState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "ibc.core.connection.v1.Query", + "ConnectionConsensusState", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ConnectionParams queries all parameters of the ibc connection submodule. + pub async fn connection_params( + &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.connection.v1.Query/ConnectionParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new("ibc.core.connection.v1.Query", "ConnectionParams"), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// Connection queries an IBC connection end. + async fn connection( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// Connections queries all the IBC connections of a chain. + async fn connections( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ClientConnections queries the connection paths associated with a client + /// state. + async fn client_connections( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionClientState queries the client state associated with the + /// connection. + async fn connection_client_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionConsensusState queries the consensus state associated with the + /// connection. + async fn connection_consensus_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConnectionParams queries all parameters of the ibc connection submodule. + async fn connection_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Query provides defines the gRPC querier service + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/ibc.core.connection.v1.Query/Connection" => { + #[allow(non_camel_case_types)] + struct ConnectionSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ConnectionSvc { + type Response = super::QueryConnectionResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Query/Connections" => { + #[allow(non_camel_case_types)] + struct ConnectionsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ConnectionsSvc { + type Response = super::QueryConnectionsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connections(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Query/ClientConnections" => { + #[allow(non_camel_case_types)] + struct ClientConnectionsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ClientConnectionsSvc { + type Response = super::QueryClientConnectionsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::client_connections(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ClientConnectionsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Query/ConnectionClientState" => { + #[allow(non_camel_case_types)] + struct ConnectionClientStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryConnectionClientStateRequest, + > for ConnectionClientStateSvc { + type Response = super::QueryConnectionClientStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryConnectionClientStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_client_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionClientStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Query/ConnectionConsensusState" => { + #[allow(non_camel_case_types)] + struct ConnectionConsensusStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryConnectionConsensusStateRequest, + > for ConnectionConsensusStateSvc { + type Response = super::QueryConnectionConsensusStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryConnectionConsensusStateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_consensus_state(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionConsensusStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/ibc.core.connection.v1.Query/ConnectionParams" => { + #[allow(non_camel_case_types)] + struct ConnectionParamsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for ConnectionParamsSvc { + type Response = super::QueryConnectionParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::connection_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = ConnectionParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "ibc.core.connection.v1.Query"; + } +} diff --git a/src/prost/ibc.core.connection.v1.serde.rs b/src/prost/ibc.core.connection.v1.serde.rs new file mode 100644 index 00000000..664fb2ea --- /dev/null +++ b/src/prost/ibc.core.connection.v1.serde.rs @@ -0,0 +1,3806 @@ +impl serde::Serialize for ClientPaths { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.paths.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.ClientPaths", len)?; + if !self.paths.is_empty() { + struct_ser.serialize_field("paths", &self.paths)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientPaths { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "paths", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Paths, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "paths" => Ok(GeneratedField::Paths), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientPaths; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.ClientPaths") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut paths__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Paths => { + if paths__.is_some() { + return Err(serde::de::Error::duplicate_field("paths")); + } + paths__ = Some(map_.next_value()?); + } + } + } + Ok(ClientPaths { + paths: paths__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.ClientPaths", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConnectionEnd { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if !self.versions.is_empty() { + len += 1; + } + if self.state != 0 { + len += 1; + } + if self.counterparty.is_some() { + len += 1; + } + if self.delay_period != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.ConnectionEnd", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.versions.is_empty() { + struct_ser.serialize_field("versions", &self.versions)?; + } + if self.state != 0 { + let v = State::try_from(self.state) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + struct_ser.serialize_field("state", &v)?; + } + if let Some(v) = self.counterparty.as_ref() { + struct_ser.serialize_field("counterparty", v)?; + } + if self.delay_period != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConnectionEnd { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "versions", + "state", + "counterparty", + "delay_period", + "delayPeriod", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Versions, + State, + Counterparty, + DelayPeriod, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "versions" => Ok(GeneratedField::Versions), + "state" => Ok(GeneratedField::State), + "counterparty" => Ok(GeneratedField::Counterparty), + "delayPeriod" | "delay_period" => Ok(GeneratedField::DelayPeriod), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConnectionEnd; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.ConnectionEnd") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut versions__ = None; + let mut state__ = None; + let mut counterparty__ = None; + let mut delay_period__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Versions => { + if versions__.is_some() { + return Err(serde::de::Error::duplicate_field("versions")); + } + versions__ = Some(map_.next_value()?); + } + GeneratedField::State => { + if state__.is_some() { + return Err(serde::de::Error::duplicate_field("state")); + } + state__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Counterparty => { + if counterparty__.is_some() { + return Err(serde::de::Error::duplicate_field("counterparty")); + } + counterparty__ = map_.next_value()?; + } + GeneratedField::DelayPeriod => { + if delay_period__.is_some() { + return Err(serde::de::Error::duplicate_field("delayPeriod")); + } + delay_period__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(ConnectionEnd { + client_id: client_id__.unwrap_or_default(), + versions: versions__.unwrap_or_default(), + state: state__.unwrap_or_default(), + counterparty: counterparty__, + delay_period: delay_period__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.ConnectionEnd", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConnectionPaths { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if !self.paths.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.ConnectionPaths", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.paths.is_empty() { + struct_ser.serialize_field("paths", &self.paths)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConnectionPaths { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "paths", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Paths, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "paths" => Ok(GeneratedField::Paths), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConnectionPaths; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.ConnectionPaths") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut paths__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Paths => { + if paths__.is_some() { + return Err(serde::de::Error::duplicate_field("paths")); + } + paths__ = Some(map_.next_value()?); + } + } + } + Ok(ConnectionPaths { + client_id: client_id__.unwrap_or_default(), + paths: paths__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.ConnectionPaths", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Counterparty { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if !self.connection_id.is_empty() { + len += 1; + } + if self.prefix.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Counterparty", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if let Some(v) = self.prefix.as_ref() { + struct_ser.serialize_field("prefix", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Counterparty { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "connection_id", + "connectionId", + "prefix", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + ConnectionId, + Prefix, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "prefix" => Ok(GeneratedField::Prefix), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Counterparty; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.Counterparty") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut connection_id__ = None; + let mut prefix__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::Prefix => { + if prefix__.is_some() { + return Err(serde::de::Error::duplicate_field("prefix")); + } + prefix__ = map_.next_value()?; + } + } + } + Ok(Counterparty { + client_id: client_id__.unwrap_or_default(), + connection_id: connection_id__.unwrap_or_default(), + prefix: prefix__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.Counterparty", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connections.is_empty() { + len += 1; + } + if !self.client_connection_paths.is_empty() { + len += 1; + } + if self.next_connection_sequence != 0 { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.GenesisState", len)?; + if !self.connections.is_empty() { + struct_ser.serialize_field("connections", &self.connections)?; + } + if !self.client_connection_paths.is_empty() { + struct_ser.serialize_field("clientConnectionPaths", &self.client_connection_paths)?; + } + if self.next_connection_sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextConnectionSequence", ToString::to_string(&self.next_connection_sequence).as_str())?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connections", + "client_connection_paths", + "clientConnectionPaths", + "next_connection_sequence", + "nextConnectionSequence", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Connections, + ClientConnectionPaths, + NextConnectionSequence, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connections" => Ok(GeneratedField::Connections), + "clientConnectionPaths" | "client_connection_paths" => Ok(GeneratedField::ClientConnectionPaths), + "nextConnectionSequence" | "next_connection_sequence" => Ok(GeneratedField::NextConnectionSequence), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connections__ = None; + let mut client_connection_paths__ = None; + let mut next_connection_sequence__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Connections => { + if connections__.is_some() { + return Err(serde::de::Error::duplicate_field("connections")); + } + connections__ = Some(map_.next_value()?); + } + GeneratedField::ClientConnectionPaths => { + if client_connection_paths__.is_some() { + return Err(serde::de::Error::duplicate_field("clientConnectionPaths")); + } + client_connection_paths__ = Some(map_.next_value()?); + } + GeneratedField::NextConnectionSequence => { + if next_connection_sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("nextConnectionSequence")); + } + next_connection_sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(GenesisState { + connections: connections__.unwrap_or_default(), + client_connection_paths: client_connection_paths__.unwrap_or_default(), + next_connection_sequence: next_connection_sequence__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for IdentifiedConnection { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.id.is_empty() { + len += 1; + } + if !self.client_id.is_empty() { + len += 1; + } + if !self.versions.is_empty() { + len += 1; + } + if self.state != 0 { + len += 1; + } + if self.counterparty.is_some() { + len += 1; + } + if self.delay_period != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.IdentifiedConnection", len)?; + if !self.id.is_empty() { + struct_ser.serialize_field("id", &self.id)?; + } + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.versions.is_empty() { + struct_ser.serialize_field("versions", &self.versions)?; + } + if self.state != 0 { + let v = State::try_from(self.state) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + struct_ser.serialize_field("state", &v)?; + } + if let Some(v) = self.counterparty.as_ref() { + struct_ser.serialize_field("counterparty", v)?; + } + if self.delay_period != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for IdentifiedConnection { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "id", + "client_id", + "clientId", + "versions", + "state", + "counterparty", + "delay_period", + "delayPeriod", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Id, + ClientId, + Versions, + State, + Counterparty, + DelayPeriod, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "id" => Ok(GeneratedField::Id), + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "versions" => Ok(GeneratedField::Versions), + "state" => Ok(GeneratedField::State), + "counterparty" => Ok(GeneratedField::Counterparty), + "delayPeriod" | "delay_period" => Ok(GeneratedField::DelayPeriod), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = IdentifiedConnection; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.IdentifiedConnection") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut id__ = None; + let mut client_id__ = None; + let mut versions__ = None; + let mut state__ = None; + let mut counterparty__ = None; + let mut delay_period__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Id => { + if id__.is_some() { + return Err(serde::de::Error::duplicate_field("id")); + } + id__ = Some(map_.next_value()?); + } + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Versions => { + if versions__.is_some() { + return Err(serde::de::Error::duplicate_field("versions")); + } + versions__ = Some(map_.next_value()?); + } + GeneratedField::State => { + if state__.is_some() { + return Err(serde::de::Error::duplicate_field("state")); + } + state__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Counterparty => { + if counterparty__.is_some() { + return Err(serde::de::Error::duplicate_field("counterparty")); + } + counterparty__ = map_.next_value()?; + } + GeneratedField::DelayPeriod => { + if delay_period__.is_some() { + return Err(serde::de::Error::duplicate_field("delayPeriod")); + } + delay_period__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(IdentifiedConnection { + id: id__.unwrap_or_default(), + client_id: client_id__.unwrap_or_default(), + versions: versions__.unwrap_or_default(), + state: state__.unwrap_or_default(), + counterparty: counterparty__, + delay_period: delay_period__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.IdentifiedConnection", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenAck { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + if !self.counterparty_connection_id.is_empty() { + len += 1; + } + if self.version.is_some() { + len += 1; + } + if self.client_state.is_some() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.proof_try.is_empty() { + len += 1; + } + if !self.proof_client.is_empty() { + len += 1; + } + if !self.proof_consensus.is_empty() { + len += 1; + } + if self.consensus_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + if !self.host_consensus_state_proof.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenAck", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if !self.counterparty_connection_id.is_empty() { + struct_ser.serialize_field("counterpartyConnectionId", &self.counterparty_connection_id)?; + } + if let Some(v) = self.version.as_ref() { + struct_ser.serialize_field("version", v)?; + } + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.proof_try.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofTry", pbjson::private::base64::encode(&self.proof_try).as_str())?; + } + if !self.proof_client.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofClient", pbjson::private::base64::encode(&self.proof_client).as_str())?; + } + if !self.proof_consensus.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofConsensus", pbjson::private::base64::encode(&self.proof_consensus).as_str())?; + } + if let Some(v) = self.consensus_height.as_ref() { + struct_ser.serialize_field("consensusHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if !self.host_consensus_state_proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("hostConsensusStateProof", pbjson::private::base64::encode(&self.host_consensus_state_proof).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + "counterparty_connection_id", + "counterpartyConnectionId", + "version", + "client_state", + "clientState", + "proof_height", + "proofHeight", + "proof_try", + "proofTry", + "proof_client", + "proofClient", + "proof_consensus", + "proofConsensus", + "consensus_height", + "consensusHeight", + "signer", + "host_consensus_state_proof", + "hostConsensusStateProof", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + CounterpartyConnectionId, + Version, + ClientState, + ProofHeight, + ProofTry, + ProofClient, + ProofConsensus, + ConsensusHeight, + Signer, + HostConsensusStateProof, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "counterpartyConnectionId" | "counterparty_connection_id" => Ok(GeneratedField::CounterpartyConnectionId), + "version" => Ok(GeneratedField::Version), + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "proofTry" | "proof_try" => Ok(GeneratedField::ProofTry), + "proofClient" | "proof_client" => Ok(GeneratedField::ProofClient), + "proofConsensus" | "proof_consensus" => Ok(GeneratedField::ProofConsensus), + "consensusHeight" | "consensus_height" => Ok(GeneratedField::ConsensusHeight), + "signer" => Ok(GeneratedField::Signer), + "hostConsensusStateProof" | "host_consensus_state_proof" => Ok(GeneratedField::HostConsensusStateProof), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenAck; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenAck") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + let mut counterparty_connection_id__ = None; + let mut version__ = None; + let mut client_state__ = None; + let mut proof_height__ = None; + let mut proof_try__ = None; + let mut proof_client__ = None; + let mut proof_consensus__ = None; + let mut consensus_height__ = None; + let mut signer__ = None; + let mut host_consensus_state_proof__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::CounterpartyConnectionId => { + if counterparty_connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyConnectionId")); + } + counterparty_connection_id__ = Some(map_.next_value()?); + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = map_.next_value()?; + } + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::ProofTry => { + if proof_try__.is_some() { + return Err(serde::de::Error::duplicate_field("proofTry")); + } + proof_try__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofClient => { + if proof_client__.is_some() { + return Err(serde::de::Error::duplicate_field("proofClient")); + } + proof_client__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofConsensus => { + if proof_consensus__.is_some() { + return Err(serde::de::Error::duplicate_field("proofConsensus")); + } + proof_consensus__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ConsensusHeight => { + if consensus_height__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusHeight")); + } + consensus_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::HostConsensusStateProof => { + if host_consensus_state_proof__.is_some() { + return Err(serde::de::Error::duplicate_field("hostConsensusStateProof")); + } + host_consensus_state_proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgConnectionOpenAck { + connection_id: connection_id__.unwrap_or_default(), + counterparty_connection_id: counterparty_connection_id__.unwrap_or_default(), + version: version__, + client_state: client_state__, + proof_height: proof_height__, + proof_try: proof_try__.unwrap_or_default(), + proof_client: proof_client__.unwrap_or_default(), + proof_consensus: proof_consensus__.unwrap_or_default(), + consensus_height: consensus_height__, + signer: signer__.unwrap_or_default(), + host_consensus_state_proof: host_consensus_state_proof__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenAck", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenAckResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenAckResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAckResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenAckResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenAckResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgConnectionOpenAckResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenAckResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenConfirm { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + if !self.proof_ack.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenConfirm", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if !self.proof_ack.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofAck", pbjson::private::base64::encode(&self.proof_ack).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + "proof_ack", + "proofAck", + "proof_height", + "proofHeight", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + ProofAck, + ProofHeight, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "proofAck" | "proof_ack" => Ok(GeneratedField::ProofAck), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenConfirm; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenConfirm") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + let mut proof_ack__ = None; + let mut proof_height__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::ProofAck => { + if proof_ack__.is_some() { + return Err(serde::de::Error::duplicate_field("proofAck")); + } + proof_ack__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgConnectionOpenConfirm { + connection_id: connection_id__.unwrap_or_default(), + proof_ack: proof_ack__.unwrap_or_default(), + proof_height: proof_height__, + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenConfirm", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenConfirmResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenConfirmResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirmResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenConfirmResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenConfirmResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgConnectionOpenConfirmResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenConfirmResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenInit { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.counterparty.is_some() { + len += 1; + } + if self.version.is_some() { + len += 1; + } + if self.delay_period != 0 { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenInit", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.counterparty.as_ref() { + struct_ser.serialize_field("counterparty", v)?; + } + if let Some(v) = self.version.as_ref() { + struct_ser.serialize_field("version", v)?; + } + if self.delay_period != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "counterparty", + "version", + "delay_period", + "delayPeriod", + "signer", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Counterparty, + Version, + DelayPeriod, + Signer, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "counterparty" => Ok(GeneratedField::Counterparty), + "version" => Ok(GeneratedField::Version), + "delayPeriod" | "delay_period" => Ok(GeneratedField::DelayPeriod), + "signer" => Ok(GeneratedField::Signer), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenInit; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenInit") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut counterparty__ = None; + let mut version__ = None; + let mut delay_period__ = None; + let mut signer__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Counterparty => { + if counterparty__.is_some() { + return Err(serde::de::Error::duplicate_field("counterparty")); + } + counterparty__ = map_.next_value()?; + } + GeneratedField::Version => { + if version__.is_some() { + return Err(serde::de::Error::duplicate_field("version")); + } + version__ = map_.next_value()?; + } + GeneratedField::DelayPeriod => { + if delay_period__.is_some() { + return Err(serde::de::Error::duplicate_field("delayPeriod")); + } + delay_period__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + } + } + Ok(MsgConnectionOpenInit { + client_id: client_id__.unwrap_or_default(), + counterparty: counterparty__, + version: version__, + delay_period: delay_period__.unwrap_or_default(), + signer: signer__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenInit", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenInitResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenInitResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInitResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenInitResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenInitResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgConnectionOpenInitResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenInitResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenTry { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if !self.previous_connection_id.is_empty() { + len += 1; + } + if self.client_state.is_some() { + len += 1; + } + if self.counterparty.is_some() { + len += 1; + } + if self.delay_period != 0 { + len += 1; + } + if !self.counterparty_versions.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + if !self.proof_init.is_empty() { + len += 1; + } + if !self.proof_client.is_empty() { + len += 1; + } + if !self.proof_consensus.is_empty() { + len += 1; + } + if self.consensus_height.is_some() { + len += 1; + } + if !self.signer.is_empty() { + len += 1; + } + if !self.host_consensus_state_proof.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenTry", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.previous_connection_id.is_empty() { + struct_ser.serialize_field("previousConnectionId", &self.previous_connection_id)?; + } + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + if let Some(v) = self.counterparty.as_ref() { + struct_ser.serialize_field("counterparty", v)?; + } + if self.delay_period != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + } + if !self.counterparty_versions.is_empty() { + struct_ser.serialize_field("counterpartyVersions", &self.counterparty_versions)?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + if !self.proof_init.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; + } + if !self.proof_client.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofClient", pbjson::private::base64::encode(&self.proof_client).as_str())?; + } + if !self.proof_consensus.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proofConsensus", pbjson::private::base64::encode(&self.proof_consensus).as_str())?; + } + if let Some(v) = self.consensus_height.as_ref() { + struct_ser.serialize_field("consensusHeight", v)?; + } + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if !self.host_consensus_state_proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("hostConsensusStateProof", pbjson::private::base64::encode(&self.host_consensus_state_proof).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "previous_connection_id", + "previousConnectionId", + "client_state", + "clientState", + "counterparty", + "delay_period", + "delayPeriod", + "counterparty_versions", + "counterpartyVersions", + "proof_height", + "proofHeight", + "proof_init", + "proofInit", + "proof_client", + "proofClient", + "proof_consensus", + "proofConsensus", + "consensus_height", + "consensusHeight", + "signer", + "host_consensus_state_proof", + "hostConsensusStateProof", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + PreviousConnectionId, + ClientState, + Counterparty, + DelayPeriod, + CounterpartyVersions, + ProofHeight, + ProofInit, + ProofClient, + ProofConsensus, + ConsensusHeight, + Signer, + HostConsensusStateProof, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "previousConnectionId" | "previous_connection_id" => Ok(GeneratedField::PreviousConnectionId), + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + "counterparty" => Ok(GeneratedField::Counterparty), + "delayPeriod" | "delay_period" => Ok(GeneratedField::DelayPeriod), + "counterpartyVersions" | "counterparty_versions" => Ok(GeneratedField::CounterpartyVersions), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + "proofInit" | "proof_init" => Ok(GeneratedField::ProofInit), + "proofClient" | "proof_client" => Ok(GeneratedField::ProofClient), + "proofConsensus" | "proof_consensus" => Ok(GeneratedField::ProofConsensus), + "consensusHeight" | "consensus_height" => Ok(GeneratedField::ConsensusHeight), + "signer" => Ok(GeneratedField::Signer), + "hostConsensusStateProof" | "host_consensus_state_proof" => Ok(GeneratedField::HostConsensusStateProof), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenTry; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenTry") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut previous_connection_id__ = None; + let mut client_state__ = None; + let mut counterparty__ = None; + let mut delay_period__ = None; + let mut counterparty_versions__ = None; + let mut proof_height__ = None; + let mut proof_init__ = None; + let mut proof_client__ = None; + let mut proof_consensus__ = None; + let mut consensus_height__ = None; + let mut signer__ = None; + let mut host_consensus_state_proof__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::PreviousConnectionId => { + if previous_connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("previousConnectionId")); + } + previous_connection_id__ = Some(map_.next_value()?); + } + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + GeneratedField::Counterparty => { + if counterparty__.is_some() { + return Err(serde::de::Error::duplicate_field("counterparty")); + } + counterparty__ = map_.next_value()?; + } + GeneratedField::DelayPeriod => { + if delay_period__.is_some() { + return Err(serde::de::Error::duplicate_field("delayPeriod")); + } + delay_period__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::CounterpartyVersions => { + if counterparty_versions__.is_some() { + return Err(serde::de::Error::duplicate_field("counterpartyVersions")); + } + counterparty_versions__ = Some(map_.next_value()?); + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + GeneratedField::ProofInit => { + if proof_init__.is_some() { + return Err(serde::de::Error::duplicate_field("proofInit")); + } + proof_init__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofClient => { + if proof_client__.is_some() { + return Err(serde::de::Error::duplicate_field("proofClient")); + } + proof_client__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofConsensus => { + if proof_consensus__.is_some() { + return Err(serde::de::Error::duplicate_field("proofConsensus")); + } + proof_consensus__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ConsensusHeight => { + if consensus_height__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusHeight")); + } + consensus_height__ = map_.next_value()?; + } + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::HostConsensusStateProof => { + if host_consensus_state_proof__.is_some() { + return Err(serde::de::Error::duplicate_field("hostConsensusStateProof")); + } + host_consensus_state_proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(MsgConnectionOpenTry { + client_id: client_id__.unwrap_or_default(), + previous_connection_id: previous_connection_id__.unwrap_or_default(), + client_state: client_state__, + counterparty: counterparty__, + delay_period: delay_period__.unwrap_or_default(), + counterparty_versions: counterparty_versions__.unwrap_or_default(), + proof_height: proof_height__, + proof_init: proof_init__.unwrap_or_default(), + proof_client: proof_client__.unwrap_or_default(), + proof_consensus: proof_consensus__.unwrap_or_default(), + consensus_height: consensus_height__, + signer: signer__.unwrap_or_default(), + host_consensus_state_proof: host_consensus_state_proof__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenTry", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgConnectionOpenTryResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenTryResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTryResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgConnectionOpenTryResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenTryResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgConnectionOpenTryResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgConnectionOpenTryResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParams { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signer.is_empty() { + len += 1; + } + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgUpdateParams", len)?; + if !self.signer.is_empty() { + struct_ser.serialize_field("signer", &self.signer)?; + } + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParams { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signer", + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signer, + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signer" => Ok(GeneratedField::Signer), + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParams; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgUpdateParams") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signer__ = None; + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signer => { + if signer__.is_some() { + return Err(serde::de::Error::duplicate_field("signer")); + } + signer__ = Some(map_.next_value()?); + } + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(MsgUpdateParams { + signer: signer__.unwrap_or_default(), + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgUpdateParams", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgUpdateParamsResponse", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = MsgUpdateParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.MsgUpdateParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(MsgUpdateParamsResponse { + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.MsgUpdateParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Params { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.max_expected_time_per_block != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Params", len)?; + if self.max_expected_time_per_block != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("maxExpectedTimePerBlock", ToString::to_string(&self.max_expected_time_per_block).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Params { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "max_expected_time_per_block", + "maxExpectedTimePerBlock", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + MaxExpectedTimePerBlock, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "maxExpectedTimePerBlock" | "max_expected_time_per_block" => Ok(GeneratedField::MaxExpectedTimePerBlock), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Params; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.Params") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut max_expected_time_per_block__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::MaxExpectedTimePerBlock => { + if max_expected_time_per_block__.is_some() { + return Err(serde::de::Error::duplicate_field("maxExpectedTimePerBlock")); + } + max_expected_time_per_block__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Params { + max_expected_time_per_block: max_expected_time_per_block__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.Params", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientConnectionsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryClientConnectionsRequest", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientConnectionsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientConnectionsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryClientConnectionsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryClientConnectionsRequest { + client_id: client_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryClientConnectionsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryClientConnectionsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_paths.is_empty() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryClientConnectionsResponse", len)?; + if !self.connection_paths.is_empty() { + struct_ser.serialize_field("connectionPaths", &self.connection_paths)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryClientConnectionsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_paths", + "connectionPaths", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionPaths, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionPaths" | "connection_paths" => Ok(GeneratedField::ConnectionPaths), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryClientConnectionsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryClientConnectionsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_paths__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionPaths => { + if connection_paths__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionPaths")); + } + connection_paths__ = Some(map_.next_value()?); + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryClientConnectionsResponse { + connection_paths: connection_paths__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryClientConnectionsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionClientStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionClientStateRequest", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionClientStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionClientStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryConnectionClientStateRequest { + connection_id: connection_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionClientStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionClientStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.identified_client_state.is_some() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionClientStateResponse", len)?; + if let Some(v) = self.identified_client_state.as_ref() { + struct_ser.serialize_field("identifiedClientState", v)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "identified_client_state", + "identifiedClientState", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + IdentifiedClientState, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "identifiedClientState" | "identified_client_state" => Ok(GeneratedField::IdentifiedClientState), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionClientStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionClientStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut identified_client_state__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::IdentifiedClientState => { + if identified_client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("identifiedClientState")); + } + identified_client_state__ = map_.next_value()?; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionClientStateResponse { + identified_client_state: identified_client_state__, + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionClientStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionConsensusStateRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + if self.revision_number != 0 { + len += 1; + } + if self.revision_height != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionConsensusStateRequest", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + if self.revision_number != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + } + if self.revision_height != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + "revision_number", + "revisionNumber", + "revision_height", + "revisionHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + RevisionNumber, + RevisionHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + "revisionNumber" | "revision_number" => Ok(GeneratedField::RevisionNumber), + "revisionHeight" | "revision_height" => Ok(GeneratedField::RevisionHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionConsensusStateRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionConsensusStateRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + let mut revision_number__ = None; + let mut revision_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + GeneratedField::RevisionNumber => { + if revision_number__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionNumber")); + } + revision_number__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::RevisionHeight => { + if revision_height__.is_some() { + return Err(serde::de::Error::duplicate_field("revisionHeight")); + } + revision_height__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(QueryConnectionConsensusStateRequest { + connection_id: connection_id__.unwrap_or_default(), + revision_number: revision_number__.unwrap_or_default(), + revision_height: revision_height__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionConsensusStateRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionConsensusStateResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.consensus_state.is_some() { + len += 1; + } + if !self.client_id.is_empty() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionConsensusStateResponse", len)?; + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "consensus_state", + "consensusState", + "client_id", + "clientId", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConsensusState, + ClientId, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionConsensusStateResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionConsensusStateResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut consensus_state__ = None; + let mut client_id__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionConsensusStateResponse { + consensus_state: consensus_state__, + client_id: client_id__.unwrap_or_default(), + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionConsensusStateResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionParamsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let len = 0; + let struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionParamsRequest", len)?; + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionParamsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + Err(serde::de::Error::unknown_field(value, FIELDS)) + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionParamsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionParamsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + while map_.next_key::()?.is_some() { + let _ = map_.next_value::()?; + } + Ok(QueryConnectionParamsRequest { + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionParamsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionParamsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.params.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionParamsResponse", len)?; + if let Some(v) = self.params.as_ref() { + struct_ser.serialize_field("params", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionParamsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "params", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Params, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "params" => Ok(GeneratedField::Params), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionParamsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionParamsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut params__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Params => { + if params__.is_some() { + return Err(serde::de::Error::duplicate_field("params")); + } + params__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionParamsResponse { + params: params__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionParamsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connection_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionRequest", len)?; + if !self.connection_id.is_empty() { + struct_ser.serialize_field("connectionId", &self.connection_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection_id", + "connectionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ConnectionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connectionId" | "connection_id" => Ok(GeneratedField::ConnectionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ConnectionId => { + if connection_id__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionId")); + } + connection_id__ = Some(map_.next_value()?); + } + } + } + Ok(QueryConnectionRequest { + connection_id: connection_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.connection.is_some() { + len += 1; + } + if !self.proof.is_empty() { + len += 1; + } + if self.proof_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionResponse", len)?; + if let Some(v) = self.connection.as_ref() { + struct_ser.serialize_field("connection", v)?; + } + if !self.proof.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; + } + if let Some(v) = self.proof_height.as_ref() { + struct_ser.serialize_field("proofHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connection", + "proof", + "proof_height", + "proofHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Connection, + Proof, + ProofHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connection" => Ok(GeneratedField::Connection), + "proof" => Ok(GeneratedField::Proof), + "proofHeight" | "proof_height" => Ok(GeneratedField::ProofHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connection__ = None; + let mut proof__ = None; + let mut proof_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Connection => { + if connection__.is_some() { + return Err(serde::de::Error::duplicate_field("connection")); + } + connection__ = map_.next_value()?; + } + GeneratedField::Proof => { + if proof__.is_some() { + return Err(serde::de::Error::duplicate_field("proof")); + } + proof__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ProofHeight => { + if proof_height__.is_some() { + return Err(serde::de::Error::duplicate_field("proofHeight")); + } + proof_height__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionResponse { + connection: connection__, + proof: proof__.unwrap_or_default(), + proof_height: proof_height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.pagination.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionsRequest", len)?; + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "pagination", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Pagination, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pagination" => Ok(GeneratedField::Pagination), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut pagination__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionsRequest { + pagination: pagination__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for QueryConnectionsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.connections.is_empty() { + len += 1; + } + if self.pagination.is_some() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionsResponse", len)?; + if !self.connections.is_empty() { + struct_ser.serialize_field("connections", &self.connections)?; + } + if let Some(v) = self.pagination.as_ref() { + struct_ser.serialize_field("pagination", v)?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for QueryConnectionsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "connections", + "pagination", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Connections, + Pagination, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "connections" => Ok(GeneratedField::Connections), + "pagination" => Ok(GeneratedField::Pagination), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = QueryConnectionsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.QueryConnectionsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut connections__ = None; + let mut pagination__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Connections => { + if connections__.is_some() { + return Err(serde::de::Error::duplicate_field("connections")); + } + connections__ = Some(map_.next_value()?); + } + GeneratedField::Pagination => { + if pagination__.is_some() { + return Err(serde::de::Error::duplicate_field("pagination")); + } + pagination__ = map_.next_value()?; + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(QueryConnectionsResponse { + connections: connections__.unwrap_or_default(), + pagination: pagination__, + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.QueryConnectionsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for State { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::UninitializedUnspecified => "STATE_UNINITIALIZED_UNSPECIFIED", + Self::Init => "STATE_INIT", + Self::Tryopen => "STATE_TRYOPEN", + Self::Open => "STATE_OPEN", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for State { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "STATE_UNINITIALIZED_UNSPECIFIED", + "STATE_INIT", + "STATE_TRYOPEN", + "STATE_OPEN", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = State; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "STATE_UNINITIALIZED_UNSPECIFIED" => Ok(State::UninitializedUnspecified), + "STATE_INIT" => Ok(State::Init), + "STATE_TRYOPEN" => Ok(State::Tryopen), + "STATE_OPEN" => Ok(State::Open), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for Version { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.identifier.is_empty() { + len += 1; + } + if !self.features.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Version", len)?; + if !self.identifier.is_empty() { + struct_ser.serialize_field("identifier", &self.identifier)?; + } + if !self.features.is_empty() { + struct_ser.serialize_field("features", &self.features)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Version { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "identifier", + "features", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Identifier, + Features, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "identifier" => Ok(GeneratedField::Identifier), + "features" => Ok(GeneratedField::Features), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Version; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.connection.v1.Version") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut identifier__ = None; + let mut features__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Identifier => { + if identifier__.is_some() { + return Err(serde::de::Error::duplicate_field("identifier")); + } + identifier__ = Some(map_.next_value()?); + } + GeneratedField::Features => { + if features__.is_some() { + return Err(serde::de::Error::duplicate_field("features")); + } + features__ = Some(map_.next_value()?); + } + } + } + Ok(Version { + identifier: identifier__.unwrap_or_default(), + features: features__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.core.connection.v1.Version", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.core.types.v1.rs b/src/prost/ibc.core.types.v1.rs new file mode 100644 index 00000000..c85e27ea --- /dev/null +++ b/src/prost/ibc.core.types.v1.rs @@ -0,0 +1,23 @@ +/// GenesisState defines the ibc module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// ICS002 - Clients genesis state + #[prost(message, optional, tag = "1")] + pub client_genesis: ::core::option::Option, + /// ICS003 - Connections genesis state + #[prost(message, optional, tag = "2")] + pub connection_genesis: ::core::option::Option< + super::super::connection::v1::GenesisState, + >, + /// ICS004 - Channel genesis state + #[prost(message, optional, tag = "3")] + pub channel_genesis: ::core::option::Option, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "ibc.core.types.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.core.types.v1.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.core.types.v1.serde.rs b/src/prost/ibc.core.types.v1.serde.rs new file mode 100644 index 00000000..b7330653 --- /dev/null +++ b/src/prost/ibc.core.types.v1.serde.rs @@ -0,0 +1,128 @@ +impl serde::Serialize for GenesisState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.client_genesis.is_some() { + len += 1; + } + if self.connection_genesis.is_some() { + len += 1; + } + if self.channel_genesis.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.core.types.v1.GenesisState", len)?; + if let Some(v) = self.client_genesis.as_ref() { + struct_ser.serialize_field("clientGenesis", v)?; + } + if let Some(v) = self.connection_genesis.as_ref() { + struct_ser.serialize_field("connectionGenesis", v)?; + } + if let Some(v) = self.channel_genesis.as_ref() { + struct_ser.serialize_field("channelGenesis", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GenesisState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_genesis", + "clientGenesis", + "connection_genesis", + "connectionGenesis", + "channel_genesis", + "channelGenesis", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientGenesis, + ConnectionGenesis, + ChannelGenesis, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientGenesis" | "client_genesis" => Ok(GeneratedField::ClientGenesis), + "connectionGenesis" | "connection_genesis" => Ok(GeneratedField::ConnectionGenesis), + "channelGenesis" | "channel_genesis" => Ok(GeneratedField::ChannelGenesis), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GenesisState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.core.types.v1.GenesisState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_genesis__ = None; + let mut connection_genesis__ = None; + let mut channel_genesis__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientGenesis => { + if client_genesis__.is_some() { + return Err(serde::de::Error::duplicate_field("clientGenesis")); + } + client_genesis__ = map_.next_value()?; + } + GeneratedField::ConnectionGenesis => { + if connection_genesis__.is_some() { + return Err(serde::de::Error::duplicate_field("connectionGenesis")); + } + connection_genesis__ = map_.next_value()?; + } + GeneratedField::ChannelGenesis => { + if channel_genesis__.is_some() { + return Err(serde::de::Error::duplicate_field("channelGenesis")); + } + channel_genesis__ = map_.next_value()?; + } + } + } + Ok(GenesisState { + client_genesis: client_genesis__, + connection_genesis: connection_genesis__, + channel_genesis: channel_genesis__, + }) + } + } + deserializer.deserialize_struct("ibc.core.types.v1.GenesisState", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.lightclients.localhost.v1.rs b/src/prost/ibc.lightclients.localhost.v1.rs new file mode 100644 index 00000000..4fe8fe76 --- /dev/null +++ b/src/prost/ibc.lightclients.localhost.v1.rs @@ -0,0 +1,19 @@ +/// ClientState defines a loopback (localhost) client. It requires (read-only) +/// access to keys outside the client prefix. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientState { + /// self chain ID + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + /// self latest block height + #[prost(message, optional, tag = "2")] + pub height: ::core::option::Option, +} +impl ::prost::Name for ClientState { + const NAME: &'static str = "ClientState"; + const PACKAGE: &'static str = "ibc.lightclients.localhost.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.localhost.v1.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.lightclients.localhost.v1.serde.rs b/src/prost/ibc.lightclients.localhost.v1.serde.rs new file mode 100644 index 00000000..e32f96fa --- /dev/null +++ b/src/prost/ibc.lightclients.localhost.v1.serde.rs @@ -0,0 +1,109 @@ +impl serde::Serialize for ClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.chain_id.is_empty() { + len += 1; + } + if self.height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.localhost.v1.ClientState", len)?; + if !self.chain_id.is_empty() { + struct_ser.serialize_field("chainId", &self.chain_id)?; + } + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "chain_id", + "chainId", + "height", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChainId, + Height, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "chainId" | "chain_id" => Ok(GeneratedField::ChainId), + "height" => Ok(GeneratedField::Height), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.localhost.v1.ClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut chain_id__ = None; + let mut height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChainId => { + if chain_id__.is_some() { + return Err(serde::de::Error::duplicate_field("chainId")); + } + chain_id__ = Some(map_.next_value()?); + } + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + } + } + Ok(ClientState { + chain_id: chain_id__.unwrap_or_default(), + height: height__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.localhost.v1.ClientState", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.lightclients.localhost.v2.rs b/src/prost/ibc.lightclients.localhost.v2.rs new file mode 100644 index 00000000..193b746b --- /dev/null +++ b/src/prost/ibc.lightclients.localhost.v2.rs @@ -0,0 +1,17 @@ +/// ClientState defines the 09-localhost client state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientState { + /// the latest block height + #[prost(message, optional, tag = "1")] + pub latest_height: ::core::option::Option< + super::super::super::core::client::v1::Height, + >, +} +impl ::prost::Name for ClientState { + const NAME: &'static str = "ClientState"; + const PACKAGE: &'static str = "ibc.lightclients.localhost.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.localhost.v2.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.lightclients.localhost.v2.serde.rs b/src/prost/ibc.lightclients.localhost.v2.serde.rs new file mode 100644 index 00000000..cd20f930 --- /dev/null +++ b/src/prost/ibc.lightclients.localhost.v2.serde.rs @@ -0,0 +1,92 @@ +impl serde::Serialize for ClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.latest_height.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.localhost.v2.ClientState", len)?; + if let Some(v) = self.latest_height.as_ref() { + struct_ser.serialize_field("latestHeight", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "latest_height", + "latestHeight", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + LatestHeight, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "latestHeight" | "latest_height" => Ok(GeneratedField::LatestHeight), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.localhost.v2.ClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut latest_height__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::LatestHeight => { + if latest_height__.is_some() { + return Err(serde::de::Error::duplicate_field("latestHeight")); + } + latest_height__ = map_.next_value()?; + } + } + } + Ok(ClientState { + latest_height: latest_height__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.localhost.v2.ClientState", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.lightclients.solomachine.v2.rs b/src/prost/ibc.lightclients.solomachine.v2.rs new file mode 100644 index 00000000..d74115f8 --- /dev/null +++ b/src/prost/ibc.lightclients.solomachine.v2.rs @@ -0,0 +1,380 @@ +/// ClientState defines a solo machine client that tracks the current consensus +/// state and if the client is frozen. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientState { + /// latest sequence of the client state + #[prost(uint64, tag = "1")] + pub sequence: u64, + /// frozen sequence of the solo machine + #[prost(bool, tag = "2")] + pub is_frozen: bool, + #[prost(message, optional, tag = "3")] + pub consensus_state: ::core::option::Option, + /// when set to true, will allow governance to update a solo machine client. + /// The client will be unfrozen if it is frozen. + #[prost(bool, tag = "4")] + pub allow_update_after_proposal: bool, +} +impl ::prost::Name for ClientState { + const NAME: &'static str = "ClientState"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// ConsensusState defines a solo machine consensus state. The sequence of a +/// consensus state is contained in the "height" key used in storing the +/// consensus state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusState { + /// public key of the solo machine + #[prost(message, optional, tag = "1")] + pub public_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + /// diversifier allows the same public key to be re-used across different solo + /// machine clients (potentially on different chains) without being considered + /// misbehaviour. + #[prost(string, tag = "2")] + pub diversifier: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + pub timestamp: u64, +} +impl ::prost::Name for ConsensusState { + const NAME: &'static str = "ConsensusState"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// Header defines a solo machine consensus header +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Header { + /// sequence to update solo machine public key at + #[prost(uint64, tag = "1")] + pub sequence: u64, + #[prost(uint64, tag = "2")] + pub timestamp: u64, + #[prost(bytes = "vec", tag = "3")] + pub signature: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub new_public_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + #[prost(string, tag = "5")] + pub new_diversifier: ::prost::alloc::string::String, +} +impl ::prost::Name for Header { + const NAME: &'static str = "Header"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// Misbehaviour defines misbehaviour for a solo machine which consists +/// of a sequence and two signatures over different messages at that sequence. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Misbehaviour { + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + pub sequence: u64, + #[prost(message, optional, tag = "3")] + pub signature_one: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub signature_two: ::core::option::Option, +} +impl ::prost::Name for Misbehaviour { + const NAME: &'static str = "Misbehaviour"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// SignatureAndData contains a signature and the data signed over to create that +/// signature. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignatureAndData { + #[prost(bytes = "vec", tag = "1")] + pub signature: ::prost::alloc::vec::Vec, + #[prost(enumeration = "DataType", tag = "2")] + pub data_type: i32, + #[prost(bytes = "vec", tag = "3")] + pub data: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + pub timestamp: u64, +} +impl ::prost::Name for SignatureAndData { + const NAME: &'static str = "SignatureAndData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// TimestampedSignatureData contains the signature data and the timestamp of the +/// signature. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TimestampedSignatureData { + #[prost(bytes = "vec", tag = "1")] + pub signature_data: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub timestamp: u64, +} +impl ::prost::Name for TimestampedSignatureData { + const NAME: &'static str = "TimestampedSignatureData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// SignBytes defines the signed bytes used for signature verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignBytes { + #[prost(uint64, tag = "1")] + pub sequence: u64, + #[prost(uint64, tag = "2")] + pub timestamp: u64, + #[prost(string, tag = "3")] + pub diversifier: ::prost::alloc::string::String, + /// type of the data used + #[prost(enumeration = "DataType", tag = "4")] + pub data_type: i32, + /// marshaled data + #[prost(bytes = "vec", tag = "5")] + pub data: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SignBytes { + const NAME: &'static str = "SignBytes"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// HeaderData returns the SignBytes data for update verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HeaderData { + /// header public key + #[prost(message, optional, tag = "1")] + pub new_pub_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + /// header diversifier + #[prost(string, tag = "2")] + pub new_diversifier: ::prost::alloc::string::String, +} +impl ::prost::Name for HeaderData { + const NAME: &'static str = "HeaderData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// ClientStateData returns the SignBytes data for client state verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientStateData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub client_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for ClientStateData { + const NAME: &'static str = "ClientStateData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// ConsensusStateData returns the SignBytes data for consensus state +/// verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusStateData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub consensus_state: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for ConsensusStateData { + const NAME: &'static str = "ConsensusStateData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// ConnectionStateData returns the SignBytes data for connection state +/// verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConnectionStateData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub connection: ::core::option::Option< + super::super::super::core::connection::v1::ConnectionEnd, + >, +} +impl ::prost::Name for ConnectionStateData { + const NAME: &'static str = "ConnectionStateData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// ChannelStateData returns the SignBytes data for channel state +/// verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannelStateData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub channel: ::core::option::Option, +} +impl ::prost::Name for ChannelStateData { + const NAME: &'static str = "ChannelStateData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// PacketCommitmentData returns the SignBytes data for packet commitment +/// verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketCommitmentData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub commitment: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PacketCommitmentData { + const NAME: &'static str = "PacketCommitmentData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// PacketAcknowledgementData returns the SignBytes data for acknowledgement +/// verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketAcknowledgementData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub acknowledgement: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PacketAcknowledgementData { + const NAME: &'static str = "PacketAcknowledgementData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// PacketReceiptAbsenceData returns the SignBytes data for +/// packet receipt absence verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PacketReceiptAbsenceData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for PacketReceiptAbsenceData { + const NAME: &'static str = "PacketReceiptAbsenceData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// NextSequenceRecvData returns the SignBytes data for verification of the next +/// sequence to be received. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct NextSequenceRecvData { + #[prost(bytes = "vec", tag = "1")] + pub path: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub next_seq_recv: u64, +} +impl ::prost::Name for NextSequenceRecvData { + const NAME: &'static str = "NextSequenceRecvData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v2"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v2.{}", Self::NAME) + } +} +/// DataType defines the type of solo machine proof being created. This is done +/// to preserve uniqueness of different data sign byte encodings. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum DataType { + /// Default State + UninitializedUnspecified = 0, + /// Data type for client state verification + ClientState = 1, + /// Data type for consensus state verification + ConsensusState = 2, + /// Data type for connection state verification + ConnectionState = 3, + /// Data type for channel state verification + ChannelState = 4, + /// Data type for packet commitment verification + PacketCommitment = 5, + /// Data type for packet acknowledgement verification + PacketAcknowledgement = 6, + /// Data type for packet receipt absence verification + PacketReceiptAbsence = 7, + /// Data type for next sequence recv verification + NextSequenceRecv = 8, + /// Data type for header verification + Header = 9, +} +impl DataType { + /// 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 { + DataType::UninitializedUnspecified => "DATA_TYPE_UNINITIALIZED_UNSPECIFIED", + DataType::ClientState => "DATA_TYPE_CLIENT_STATE", + DataType::ConsensusState => "DATA_TYPE_CONSENSUS_STATE", + DataType::ConnectionState => "DATA_TYPE_CONNECTION_STATE", + DataType::ChannelState => "DATA_TYPE_CHANNEL_STATE", + DataType::PacketCommitment => "DATA_TYPE_PACKET_COMMITMENT", + DataType::PacketAcknowledgement => "DATA_TYPE_PACKET_ACKNOWLEDGEMENT", + DataType::PacketReceiptAbsence => "DATA_TYPE_PACKET_RECEIPT_ABSENCE", + DataType::NextSequenceRecv => "DATA_TYPE_NEXT_SEQUENCE_RECV", + DataType::Header => "DATA_TYPE_HEADER", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DATA_TYPE_UNINITIALIZED_UNSPECIFIED" => Some(Self::UninitializedUnspecified), + "DATA_TYPE_CLIENT_STATE" => Some(Self::ClientState), + "DATA_TYPE_CONSENSUS_STATE" => Some(Self::ConsensusState), + "DATA_TYPE_CONNECTION_STATE" => Some(Self::ConnectionState), + "DATA_TYPE_CHANNEL_STATE" => Some(Self::ChannelState), + "DATA_TYPE_PACKET_COMMITMENT" => Some(Self::PacketCommitment), + "DATA_TYPE_PACKET_ACKNOWLEDGEMENT" => Some(Self::PacketAcknowledgement), + "DATA_TYPE_PACKET_RECEIPT_ABSENCE" => Some(Self::PacketReceiptAbsence), + "DATA_TYPE_NEXT_SEQUENCE_RECV" => Some(Self::NextSequenceRecv), + "DATA_TYPE_HEADER" => Some(Self::Header), + _ => None, + } + } +} diff --git a/src/prost/ibc.lightclients.solomachine.v2.serde.rs b/src/prost/ibc.lightclients.solomachine.v2.serde.rs new file mode 100644 index 00000000..e2dc4726 --- /dev/null +++ b/src/prost/ibc.lightclients.solomachine.v2.serde.rs @@ -0,0 +1,2123 @@ +impl serde::Serialize for ChannelStateData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.channel.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ChannelStateData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if let Some(v) = self.channel.as_ref() { + struct_ser.serialize_field("channel", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ChannelStateData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "channel", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + Channel, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "channel" => Ok(GeneratedField::Channel), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ChannelStateData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.ChannelStateData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut channel__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Channel => { + if channel__.is_some() { + return Err(serde::de::Error::duplicate_field("channel")); + } + channel__ = map_.next_value()?; + } + } + } + Ok(ChannelStateData { + path: path__.unwrap_or_default(), + channel: channel__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.ChannelStateData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if self.is_frozen { + len += 1; + } + if self.consensus_state.is_some() { + len += 1; + } + if self.allow_update_after_proposal { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ClientState", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if self.is_frozen { + struct_ser.serialize_field("isFrozen", &self.is_frozen)?; + } + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + if self.allow_update_after_proposal { + struct_ser.serialize_field("allowUpdateAfterProposal", &self.allow_update_after_proposal)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "is_frozen", + "isFrozen", + "consensus_state", + "consensusState", + "allow_update_after_proposal", + "allowUpdateAfterProposal", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + IsFrozen, + ConsensusState, + AllowUpdateAfterProposal, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "isFrozen" | "is_frozen" => Ok(GeneratedField::IsFrozen), + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + "allowUpdateAfterProposal" | "allow_update_after_proposal" => Ok(GeneratedField::AllowUpdateAfterProposal), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.ClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut is_frozen__ = None; + let mut consensus_state__ = None; + let mut allow_update_after_proposal__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::IsFrozen => { + if is_frozen__.is_some() { + return Err(serde::de::Error::duplicate_field("isFrozen")); + } + is_frozen__ = Some(map_.next_value()?); + } + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + GeneratedField::AllowUpdateAfterProposal => { + if allow_update_after_proposal__.is_some() { + return Err(serde::de::Error::duplicate_field("allowUpdateAfterProposal")); + } + allow_update_after_proposal__ = Some(map_.next_value()?); + } + } + } + Ok(ClientState { + sequence: sequence__.unwrap_or_default(), + is_frozen: is_frozen__.unwrap_or_default(), + consensus_state: consensus_state__, + allow_update_after_proposal: allow_update_after_proposal__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.ClientState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ClientStateData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.client_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ClientStateData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if let Some(v) = self.client_state.as_ref() { + struct_ser.serialize_field("clientState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientStateData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "client_state", + "clientState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + ClientState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "clientState" | "client_state" => Ok(GeneratedField::ClientState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientStateData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.ClientStateData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut client_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ClientState => { + if client_state__.is_some() { + return Err(serde::de::Error::duplicate_field("clientState")); + } + client_state__ = map_.next_value()?; + } + } + } + Ok(ClientStateData { + path: path__.unwrap_or_default(), + client_state: client_state__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.ClientStateData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConnectionStateData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.connection.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConnectionStateData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if let Some(v) = self.connection.as_ref() { + struct_ser.serialize_field("connection", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConnectionStateData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "connection", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + Connection, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "connection" => Ok(GeneratedField::Connection), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConnectionStateData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.ConnectionStateData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut connection__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Connection => { + if connection__.is_some() { + return Err(serde::de::Error::duplicate_field("connection")); + } + connection__ = map_.next_value()?; + } + } + } + Ok(ConnectionStateData { + path: path__.unwrap_or_default(), + connection: connection__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.ConnectionStateData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConsensusState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.public_key.is_some() { + len += 1; + } + if !self.diversifier.is_empty() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConsensusState", len)?; + if let Some(v) = self.public_key.as_ref() { + struct_ser.serialize_field("publicKey", v)?; + } + if !self.diversifier.is_empty() { + struct_ser.serialize_field("diversifier", &self.diversifier)?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConsensusState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "public_key", + "publicKey", + "diversifier", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PublicKey, + Diversifier, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "publicKey" | "public_key" => Ok(GeneratedField::PublicKey), + "diversifier" => Ok(GeneratedField::Diversifier), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConsensusState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.ConsensusState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut public_key__ = None; + let mut diversifier__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PublicKey => { + if public_key__.is_some() { + return Err(serde::de::Error::duplicate_field("publicKey")); + } + public_key__ = map_.next_value()?; + } + GeneratedField::Diversifier => { + if diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("diversifier")); + } + diversifier__ = Some(map_.next_value()?); + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(ConsensusState { + public_key: public_key__, + diversifier: diversifier__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.ConsensusState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConsensusStateData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.consensus_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConsensusStateData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConsensusStateData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "consensus_state", + "consensusState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + ConsensusState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConsensusStateData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.ConsensusStateData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut consensus_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + } + } + Ok(ConsensusStateData { + path: path__.unwrap_or_default(), + consensus_state: consensus_state__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.ConsensusStateData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for DataType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::UninitializedUnspecified => "DATA_TYPE_UNINITIALIZED_UNSPECIFIED", + Self::ClientState => "DATA_TYPE_CLIENT_STATE", + Self::ConsensusState => "DATA_TYPE_CONSENSUS_STATE", + Self::ConnectionState => "DATA_TYPE_CONNECTION_STATE", + Self::ChannelState => "DATA_TYPE_CHANNEL_STATE", + Self::PacketCommitment => "DATA_TYPE_PACKET_COMMITMENT", + Self::PacketAcknowledgement => "DATA_TYPE_PACKET_ACKNOWLEDGEMENT", + Self::PacketReceiptAbsence => "DATA_TYPE_PACKET_RECEIPT_ABSENCE", + Self::NextSequenceRecv => "DATA_TYPE_NEXT_SEQUENCE_RECV", + Self::Header => "DATA_TYPE_HEADER", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for DataType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "DATA_TYPE_UNINITIALIZED_UNSPECIFIED", + "DATA_TYPE_CLIENT_STATE", + "DATA_TYPE_CONSENSUS_STATE", + "DATA_TYPE_CONNECTION_STATE", + "DATA_TYPE_CHANNEL_STATE", + "DATA_TYPE_PACKET_COMMITMENT", + "DATA_TYPE_PACKET_ACKNOWLEDGEMENT", + "DATA_TYPE_PACKET_RECEIPT_ABSENCE", + "DATA_TYPE_NEXT_SEQUENCE_RECV", + "DATA_TYPE_HEADER", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = DataType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "DATA_TYPE_UNINITIALIZED_UNSPECIFIED" => Ok(DataType::UninitializedUnspecified), + "DATA_TYPE_CLIENT_STATE" => Ok(DataType::ClientState), + "DATA_TYPE_CONSENSUS_STATE" => Ok(DataType::ConsensusState), + "DATA_TYPE_CONNECTION_STATE" => Ok(DataType::ConnectionState), + "DATA_TYPE_CHANNEL_STATE" => Ok(DataType::ChannelState), + "DATA_TYPE_PACKET_COMMITMENT" => Ok(DataType::PacketCommitment), + "DATA_TYPE_PACKET_ACKNOWLEDGEMENT" => Ok(DataType::PacketAcknowledgement), + "DATA_TYPE_PACKET_RECEIPT_ABSENCE" => Ok(DataType::PacketReceiptAbsence), + "DATA_TYPE_NEXT_SEQUENCE_RECV" => Ok(DataType::NextSequenceRecv), + "DATA_TYPE_HEADER" => Ok(DataType::Header), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for Header { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + if !self.signature.is_empty() { + len += 1; + } + if self.new_public_key.is_some() { + len += 1; + } + if !self.new_diversifier.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.Header", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + if !self.signature.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; + } + if let Some(v) = self.new_public_key.as_ref() { + struct_ser.serialize_field("newPublicKey", v)?; + } + if !self.new_diversifier.is_empty() { + struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Header { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "timestamp", + "signature", + "new_public_key", + "newPublicKey", + "new_diversifier", + "newDiversifier", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + Timestamp, + Signature, + NewPublicKey, + NewDiversifier, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "timestamp" => Ok(GeneratedField::Timestamp), + "signature" => Ok(GeneratedField::Signature), + "newPublicKey" | "new_public_key" => Ok(GeneratedField::NewPublicKey), + "newDiversifier" | "new_diversifier" => Ok(GeneratedField::NewDiversifier), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Header; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.Header") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut timestamp__ = None; + let mut signature__ = None; + let mut new_public_key__ = None; + let mut new_diversifier__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Signature => { + if signature__.is_some() { + return Err(serde::de::Error::duplicate_field("signature")); + } + signature__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::NewPublicKey => { + if new_public_key__.is_some() { + return Err(serde::de::Error::duplicate_field("newPublicKey")); + } + new_public_key__ = map_.next_value()?; + } + GeneratedField::NewDiversifier => { + if new_diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("newDiversifier")); + } + new_diversifier__ = Some(map_.next_value()?); + } + } + } + Ok(Header { + sequence: sequence__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + signature: signature__.unwrap_or_default(), + new_public_key: new_public_key__, + new_diversifier: new_diversifier__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.Header", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for HeaderData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.new_pub_key.is_some() { + len += 1; + } + if !self.new_diversifier.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.HeaderData", len)?; + if let Some(v) = self.new_pub_key.as_ref() { + struct_ser.serialize_field("newPubKey", v)?; + } + if !self.new_diversifier.is_empty() { + struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for HeaderData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "new_pub_key", + "newPubKey", + "new_diversifier", + "newDiversifier", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NewPubKey, + NewDiversifier, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "newPubKey" | "new_pub_key" => Ok(GeneratedField::NewPubKey), + "newDiversifier" | "new_diversifier" => Ok(GeneratedField::NewDiversifier), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = HeaderData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.HeaderData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut new_pub_key__ = None; + let mut new_diversifier__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NewPubKey => { + if new_pub_key__.is_some() { + return Err(serde::de::Error::duplicate_field("newPubKey")); + } + new_pub_key__ = map_.next_value()?; + } + GeneratedField::NewDiversifier => { + if new_diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("newDiversifier")); + } + new_diversifier__ = Some(map_.next_value()?); + } + } + } + Ok(HeaderData { + new_pub_key: new_pub_key__, + new_diversifier: new_diversifier__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.HeaderData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Misbehaviour { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.sequence != 0 { + len += 1; + } + if self.signature_one.is_some() { + len += 1; + } + if self.signature_two.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.Misbehaviour", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if let Some(v) = self.signature_one.as_ref() { + struct_ser.serialize_field("signatureOne", v)?; + } + if let Some(v) = self.signature_two.as_ref() { + struct_ser.serialize_field("signatureTwo", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Misbehaviour { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "sequence", + "signature_one", + "signatureOne", + "signature_two", + "signatureTwo", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Sequence, + SignatureOne, + SignatureTwo, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "sequence" => Ok(GeneratedField::Sequence), + "signatureOne" | "signature_one" => Ok(GeneratedField::SignatureOne), + "signatureTwo" | "signature_two" => Ok(GeneratedField::SignatureTwo), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Misbehaviour; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.Misbehaviour") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut sequence__ = None; + let mut signature_one__ = None; + let mut signature_two__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::SignatureOne => { + if signature_one__.is_some() { + return Err(serde::de::Error::duplicate_field("signatureOne")); + } + signature_one__ = map_.next_value()?; + } + GeneratedField::SignatureTwo => { + if signature_two__.is_some() { + return Err(serde::de::Error::duplicate_field("signatureTwo")); + } + signature_two__ = map_.next_value()?; + } + } + } + Ok(Misbehaviour { + client_id: client_id__.unwrap_or_default(), + sequence: sequence__.unwrap_or_default(), + signature_one: signature_one__, + signature_two: signature_two__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.Misbehaviour", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for NextSequenceRecvData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.next_seq_recv != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.NextSequenceRecvData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if self.next_seq_recv != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextSeqRecv", ToString::to_string(&self.next_seq_recv).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "next_seq_recv", + "nextSeqRecv", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + NextSeqRecv, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "nextSeqRecv" | "next_seq_recv" => Ok(GeneratedField::NextSeqRecv), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = NextSequenceRecvData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.NextSequenceRecvData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut next_seq_recv__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::NextSeqRecv => { + if next_seq_recv__.is_some() { + return Err(serde::de::Error::duplicate_field("nextSeqRecv")); + } + next_seq_recv__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(NextSequenceRecvData { + path: path__.unwrap_or_default(), + next_seq_recv: next_seq_recv__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.NextSequenceRecvData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketAcknowledgementData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if !self.acknowledgement.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketAcknowledgementData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if !self.acknowledgement.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "acknowledgement", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + Acknowledgement, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "acknowledgement" => Ok(GeneratedField::Acknowledgement), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketAcknowledgementData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.PacketAcknowledgementData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut acknowledgement__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Acknowledgement => { + if acknowledgement__.is_some() { + return Err(serde::de::Error::duplicate_field("acknowledgement")); + } + acknowledgement__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PacketAcknowledgementData { + path: path__.unwrap_or_default(), + acknowledgement: acknowledgement__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.PacketAcknowledgementData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketCommitmentData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if !self.commitment.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketCommitmentData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if !self.commitment.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("commitment", pbjson::private::base64::encode(&self.commitment).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketCommitmentData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "commitment", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + Commitment, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "commitment" => Ok(GeneratedField::Commitment), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketCommitmentData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.PacketCommitmentData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut commitment__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Commitment => { + if commitment__.is_some() { + return Err(serde::de::Error::duplicate_field("commitment")); + } + commitment__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PacketCommitmentData { + path: path__.unwrap_or_default(), + commitment: commitment__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.PacketCommitmentData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for PacketReceiptAbsenceData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData", len)?; + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for PacketReceiptAbsenceData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = PacketReceiptAbsenceData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(PacketReceiptAbsenceData { + path: path__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SignBytes { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + if !self.diversifier.is_empty() { + len += 1; + } + if self.data_type != 0 { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.SignBytes", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + if !self.diversifier.is_empty() { + struct_ser.serialize_field("diversifier", &self.diversifier)?; + } + if self.data_type != 0 { + let v = DataType::try_from(self.data_type) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.data_type)))?; + struct_ser.serialize_field("dataType", &v)?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SignBytes { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "timestamp", + "diversifier", + "data_type", + "dataType", + "data", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + Timestamp, + Diversifier, + DataType, + Data, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "timestamp" => Ok(GeneratedField::Timestamp), + "diversifier" => Ok(GeneratedField::Diversifier), + "dataType" | "data_type" => Ok(GeneratedField::DataType), + "data" => Ok(GeneratedField::Data), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignBytes; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.SignBytes") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut timestamp__ = None; + let mut diversifier__ = None; + let mut data_type__ = None; + let mut data__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Diversifier => { + if diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("diversifier")); + } + diversifier__ = Some(map_.next_value()?); + } + GeneratedField::DataType => { + if data_type__.is_some() { + return Err(serde::de::Error::duplicate_field("dataType")); + } + data_type__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(SignBytes { + sequence: sequence__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + diversifier: diversifier__.unwrap_or_default(), + data_type: data_type__.unwrap_or_default(), + data: data__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.SignBytes", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SignatureAndData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signature.is_empty() { + len += 1; + } + if self.data_type != 0 { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.SignatureAndData", len)?; + if !self.signature.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; + } + if self.data_type != 0 { + let v = DataType::try_from(self.data_type) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.data_type)))?; + struct_ser.serialize_field("dataType", &v)?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SignatureAndData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signature", + "data_type", + "dataType", + "data", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signature, + DataType, + Data, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signature" => Ok(GeneratedField::Signature), + "dataType" | "data_type" => Ok(GeneratedField::DataType), + "data" => Ok(GeneratedField::Data), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignatureAndData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.SignatureAndData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signature__ = None; + let mut data_type__ = None; + let mut data__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signature => { + if signature__.is_some() { + return Err(serde::de::Error::duplicate_field("signature")); + } + signature__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::DataType => { + if data_type__.is_some() { + return Err(serde::de::Error::duplicate_field("dataType")); + } + data_type__ = Some(map_.next_value::()? as i32); + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(SignatureAndData { + signature: signature__.unwrap_or_default(), + data_type: data_type__.unwrap_or_default(), + data: data__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.SignatureAndData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TimestampedSignatureData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signature_data.is_empty() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.TimestampedSignatureData", len)?; + if !self.signature_data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signatureData", pbjson::private::base64::encode(&self.signature_data).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signature_data", + "signatureData", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SignatureData, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signatureData" | "signature_data" => Ok(GeneratedField::SignatureData), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TimestampedSignatureData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v2.TimestampedSignatureData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signature_data__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SignatureData => { + if signature_data__.is_some() { + return Err(serde::de::Error::duplicate_field("signatureData")); + } + signature_data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(TimestampedSignatureData { + signature_data: signature_data__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v2.TimestampedSignatureData", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.lightclients.solomachine.v3.rs b/src/prost/ibc.lightclients.solomachine.v3.rs new file mode 100644 index 00000000..ee2d1987 --- /dev/null +++ b/src/prost/ibc.lightclients.solomachine.v3.rs @@ -0,0 +1,173 @@ +/// ClientState defines a solo machine client that tracks the current consensus +/// state and if the client is frozen. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientState { + /// latest sequence of the client state + #[prost(uint64, tag = "1")] + pub sequence: u64, + /// frozen sequence of the solo machine + #[prost(bool, tag = "2")] + pub is_frozen: bool, + #[prost(message, optional, tag = "3")] + pub consensus_state: ::core::option::Option, +} +impl ::prost::Name for ClientState { + const NAME: &'static str = "ClientState"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// ConsensusState defines a solo machine consensus state. The sequence of a +/// consensus state is contained in the "height" key used in storing the +/// consensus state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusState { + /// public key of the solo machine + #[prost(message, optional, tag = "1")] + pub public_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + /// diversifier allows the same public key to be re-used across different solo + /// machine clients (potentially on different chains) without being considered + /// misbehaviour. + #[prost(string, tag = "2")] + pub diversifier: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + pub timestamp: u64, +} +impl ::prost::Name for ConsensusState { + const NAME: &'static str = "ConsensusState"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// Header defines a solo machine consensus header +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Header { + #[prost(uint64, tag = "1")] + pub timestamp: u64, + #[prost(bytes = "vec", tag = "2")] + pub signature: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub new_public_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + #[prost(string, tag = "4")] + pub new_diversifier: ::prost::alloc::string::String, +} +impl ::prost::Name for Header { + const NAME: &'static str = "Header"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// Misbehaviour defines misbehaviour for a solo machine which consists +/// of a sequence and two signatures over different messages at that sequence. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Misbehaviour { + #[prost(uint64, tag = "1")] + pub sequence: u64, + #[prost(message, optional, tag = "2")] + pub signature_one: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub signature_two: ::core::option::Option, +} +impl ::prost::Name for Misbehaviour { + const NAME: &'static str = "Misbehaviour"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// SignatureAndData contains a signature and the data signed over to create that +/// signature. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignatureAndData { + #[prost(bytes = "vec", tag = "1")] + pub signature: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub path: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub data: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + pub timestamp: u64, +} +impl ::prost::Name for SignatureAndData { + const NAME: &'static str = "SignatureAndData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// TimestampedSignatureData contains the signature data and the timestamp of the +/// signature. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TimestampedSignatureData { + #[prost(bytes = "vec", tag = "1")] + pub signature_data: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + pub timestamp: u64, +} +impl ::prost::Name for TimestampedSignatureData { + const NAME: &'static str = "TimestampedSignatureData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// SignBytes defines the signed bytes used for signature verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignBytes { + /// the sequence number + #[prost(uint64, tag = "1")] + pub sequence: u64, + /// the proof timestamp + #[prost(uint64, tag = "2")] + pub timestamp: u64, + /// the public key diversifier + #[prost(string, tag = "3")] + pub diversifier: ::prost::alloc::string::String, + /// the standardised path bytes + #[prost(bytes = "vec", tag = "4")] + pub path: ::prost::alloc::vec::Vec, + /// the marshaled data bytes + #[prost(bytes = "vec", tag = "5")] + pub data: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for SignBytes { + const NAME: &'static str = "SignBytes"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} +/// HeaderData returns the SignBytes data for update verification. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HeaderData { + /// header public key + #[prost(message, optional, tag = "1")] + pub new_pub_key: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, + /// header diversifier + #[prost(string, tag = "2")] + pub new_diversifier: ::prost::alloc::string::String, +} +impl ::prost::Name for HeaderData { + const NAME: &'static str = "HeaderData"; + const PACKAGE: &'static str = "ibc.lightclients.solomachine.v3"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.solomachine.v3.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.lightclients.solomachine.v3.serde.rs b/src/prost/ibc.lightclients.solomachine.v3.serde.rs new file mode 100644 index 00000000..97dc9dc5 --- /dev/null +++ b/src/prost/ibc.lightclients.solomachine.v3.serde.rs @@ -0,0 +1,1089 @@ +impl serde::Serialize for ClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if self.is_frozen { + len += 1; + } + if self.consensus_state.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.ClientState", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if self.is_frozen { + struct_ser.serialize_field("isFrozen", &self.is_frozen)?; + } + if let Some(v) = self.consensus_state.as_ref() { + struct_ser.serialize_field("consensusState", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "is_frozen", + "isFrozen", + "consensus_state", + "consensusState", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + IsFrozen, + ConsensusState, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "isFrozen" | "is_frozen" => Ok(GeneratedField::IsFrozen), + "consensusState" | "consensus_state" => Ok(GeneratedField::ConsensusState), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.ClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut is_frozen__ = None; + let mut consensus_state__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::IsFrozen => { + if is_frozen__.is_some() { + return Err(serde::de::Error::duplicate_field("isFrozen")); + } + is_frozen__ = Some(map_.next_value()?); + } + GeneratedField::ConsensusState => { + if consensus_state__.is_some() { + return Err(serde::de::Error::duplicate_field("consensusState")); + } + consensus_state__ = map_.next_value()?; + } + } + } + Ok(ClientState { + sequence: sequence__.unwrap_or_default(), + is_frozen: is_frozen__.unwrap_or_default(), + consensus_state: consensus_state__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.ClientState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConsensusState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.public_key.is_some() { + len += 1; + } + if !self.diversifier.is_empty() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.ConsensusState", len)?; + if let Some(v) = self.public_key.as_ref() { + struct_ser.serialize_field("publicKey", v)?; + } + if !self.diversifier.is_empty() { + struct_ser.serialize_field("diversifier", &self.diversifier)?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConsensusState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "public_key", + "publicKey", + "diversifier", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PublicKey, + Diversifier, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "publicKey" | "public_key" => Ok(GeneratedField::PublicKey), + "diversifier" => Ok(GeneratedField::Diversifier), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConsensusState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.ConsensusState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut public_key__ = None; + let mut diversifier__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PublicKey => { + if public_key__.is_some() { + return Err(serde::de::Error::duplicate_field("publicKey")); + } + public_key__ = map_.next_value()?; + } + GeneratedField::Diversifier => { + if diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("diversifier")); + } + diversifier__ = Some(map_.next_value()?); + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(ConsensusState { + public_key: public_key__, + diversifier: diversifier__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.ConsensusState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Header { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.timestamp != 0 { + len += 1; + } + if !self.signature.is_empty() { + len += 1; + } + if self.new_public_key.is_some() { + len += 1; + } + if !self.new_diversifier.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.Header", len)?; + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + if !self.signature.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; + } + if let Some(v) = self.new_public_key.as_ref() { + struct_ser.serialize_field("newPublicKey", v)?; + } + if !self.new_diversifier.is_empty() { + struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Header { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "timestamp", + "signature", + "new_public_key", + "newPublicKey", + "new_diversifier", + "newDiversifier", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Timestamp, + Signature, + NewPublicKey, + NewDiversifier, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "timestamp" => Ok(GeneratedField::Timestamp), + "signature" => Ok(GeneratedField::Signature), + "newPublicKey" | "new_public_key" => Ok(GeneratedField::NewPublicKey), + "newDiversifier" | "new_diversifier" => Ok(GeneratedField::NewDiversifier), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Header; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.Header") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut timestamp__ = None; + let mut signature__ = None; + let mut new_public_key__ = None; + let mut new_diversifier__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Signature => { + if signature__.is_some() { + return Err(serde::de::Error::duplicate_field("signature")); + } + signature__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::NewPublicKey => { + if new_public_key__.is_some() { + return Err(serde::de::Error::duplicate_field("newPublicKey")); + } + new_public_key__ = map_.next_value()?; + } + GeneratedField::NewDiversifier => { + if new_diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("newDiversifier")); + } + new_diversifier__ = Some(map_.next_value()?); + } + } + } + Ok(Header { + timestamp: timestamp__.unwrap_or_default(), + signature: signature__.unwrap_or_default(), + new_public_key: new_public_key__, + new_diversifier: new_diversifier__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.Header", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for HeaderData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.new_pub_key.is_some() { + len += 1; + } + if !self.new_diversifier.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.HeaderData", len)?; + if let Some(v) = self.new_pub_key.as_ref() { + struct_ser.serialize_field("newPubKey", v)?; + } + if !self.new_diversifier.is_empty() { + struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for HeaderData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "new_pub_key", + "newPubKey", + "new_diversifier", + "newDiversifier", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + NewPubKey, + NewDiversifier, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "newPubKey" | "new_pub_key" => Ok(GeneratedField::NewPubKey), + "newDiversifier" | "new_diversifier" => Ok(GeneratedField::NewDiversifier), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = HeaderData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.HeaderData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut new_pub_key__ = None; + let mut new_diversifier__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::NewPubKey => { + if new_pub_key__.is_some() { + return Err(serde::de::Error::duplicate_field("newPubKey")); + } + new_pub_key__ = map_.next_value()?; + } + GeneratedField::NewDiversifier => { + if new_diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("newDiversifier")); + } + new_diversifier__ = Some(map_.next_value()?); + } + } + } + Ok(HeaderData { + new_pub_key: new_pub_key__, + new_diversifier: new_diversifier__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.HeaderData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Misbehaviour { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if self.signature_one.is_some() { + len += 1; + } + if self.signature_two.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.Misbehaviour", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if let Some(v) = self.signature_one.as_ref() { + struct_ser.serialize_field("signatureOne", v)?; + } + if let Some(v) = self.signature_two.as_ref() { + struct_ser.serialize_field("signatureTwo", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Misbehaviour { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "signature_one", + "signatureOne", + "signature_two", + "signatureTwo", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + SignatureOne, + SignatureTwo, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "signatureOne" | "signature_one" => Ok(GeneratedField::SignatureOne), + "signatureTwo" | "signature_two" => Ok(GeneratedField::SignatureTwo), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Misbehaviour; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.Misbehaviour") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut signature_one__ = None; + let mut signature_two__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::SignatureOne => { + if signature_one__.is_some() { + return Err(serde::de::Error::duplicate_field("signatureOne")); + } + signature_one__ = map_.next_value()?; + } + GeneratedField::SignatureTwo => { + if signature_two__.is_some() { + return Err(serde::de::Error::duplicate_field("signatureTwo")); + } + signature_two__ = map_.next_value()?; + } + } + } + Ok(Misbehaviour { + sequence: sequence__.unwrap_or_default(), + signature_one: signature_one__, + signature_two: signature_two__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.Misbehaviour", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SignBytes { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.sequence != 0 { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + if !self.diversifier.is_empty() { + len += 1; + } + if !self.path.is_empty() { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.SignBytes", len)?; + if self.sequence != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + if !self.diversifier.is_empty() { + struct_ser.serialize_field("diversifier", &self.diversifier)?; + } + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SignBytes { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "sequence", + "timestamp", + "diversifier", + "path", + "data", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Sequence, + Timestamp, + Diversifier, + Path, + Data, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "sequence" => Ok(GeneratedField::Sequence), + "timestamp" => Ok(GeneratedField::Timestamp), + "diversifier" => Ok(GeneratedField::Diversifier), + "path" => Ok(GeneratedField::Path), + "data" => Ok(GeneratedField::Data), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignBytes; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.SignBytes") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut sequence__ = None; + let mut timestamp__ = None; + let mut diversifier__ = None; + let mut path__ = None; + let mut data__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Sequence => { + if sequence__.is_some() { + return Err(serde::de::Error::duplicate_field("sequence")); + } + sequence__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Diversifier => { + if diversifier__.is_some() { + return Err(serde::de::Error::duplicate_field("diversifier")); + } + diversifier__ = Some(map_.next_value()?); + } + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(SignBytes { + sequence: sequence__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + diversifier: diversifier__.unwrap_or_default(), + path: path__.unwrap_or_default(), + data: data__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.SignBytes", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for SignatureAndData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signature.is_empty() { + len += 1; + } + if !self.path.is_empty() { + len += 1; + } + if !self.data.is_empty() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.SignatureAndData", len)?; + if !self.signature.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; + } + if !self.path.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; + } + if !self.data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for SignatureAndData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signature", + "path", + "data", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Signature, + Path, + Data, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signature" => Ok(GeneratedField::Signature), + "path" => Ok(GeneratedField::Path), + "data" => Ok(GeneratedField::Data), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = SignatureAndData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.SignatureAndData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signature__ = None; + let mut path__ = None; + let mut data__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Signature => { + if signature__.is_some() { + return Err(serde::de::Error::duplicate_field("signature")); + } + signature__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); + } + data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(SignatureAndData { + signature: signature__.unwrap_or_default(), + path: path__.unwrap_or_default(), + data: data__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.SignatureAndData", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for TimestampedSignatureData { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.signature_data.is_empty() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.TimestampedSignatureData", len)?; + if !self.signature_data.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("signatureData", pbjson::private::base64::encode(&self.signature_data).as_str())?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signature_data", + "signatureData", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SignatureData, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signatureData" | "signature_data" => Ok(GeneratedField::SignatureData), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = TimestampedSignatureData; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.solomachine.v3.TimestampedSignatureData") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signature_data__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SignatureData => { + if signature_data__.is_some() { + return Err(serde::de::Error::duplicate_field("signatureData")); + } + signature_data__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(TimestampedSignatureData { + signature_data: signature_data__.unwrap_or_default(), + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.solomachine.v3.TimestampedSignatureData", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.lightclients.tendermint.v1.rs b/src/prost/ibc.lightclients.tendermint.v1.rs new file mode 100644 index 00000000..ff15fefe --- /dev/null +++ b/src/prost/ibc.lightclients.tendermint.v1.rs @@ -0,0 +1,163 @@ +/// ClientState from Tendermint tracks the current validator set, latest height, +/// and a possible frozen height. +#[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 trust_level: ::core::option::Option, + /// duration of the period since the LastestTimestamp during which the + /// submitted headers are valid for upgrade + #[prost(message, optional, tag = "3")] + pub trusting_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// duration of the staking unbonding period + #[prost(message, optional, tag = "4")] + pub unbonding_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// defines how much new (untrusted) header's Time can drift into the future. + #[prost(message, optional, tag = "5")] + pub max_clock_drift: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// Block height when the client was frozen due to a misbehaviour + #[prost(message, optional, tag = "6")] + pub frozen_height: ::core::option::Option< + super::super::super::core::client::v1::Height, + >, + /// Latest height the client was updated to + #[prost(message, optional, tag = "7")] + pub latest_height: ::core::option::Option< + super::super::super::core::client::v1::Height, + >, + /// Proof specifications used in verifying counterparty state + #[prost(message, repeated, tag = "8")] + pub proof_specs: ::prost::alloc::vec::Vec< + super::super::super::super::cosmos::ics23::v1::ProofSpec, + >, + /// Path at which next upgraded client will be committed. + /// Each element corresponds to the key for a single CommitmentProof in the + /// chained proof. NOTE: ClientState must stored under + /// `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored + /// under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using + /// the default upgrade module, upgrade_path should be \[\]string{"upgrade", + /// "upgradedIBCState"}` + #[prost(string, repeated, tag = "9")] + pub upgrade_path: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// allow_update_after_expiry is deprecated + #[deprecated] + #[prost(bool, tag = "10")] + pub allow_update_after_expiry: bool, + /// allow_update_after_misbehaviour is deprecated + #[deprecated] + #[prost(bool, tag = "11")] + pub allow_update_after_misbehaviour: bool, +} +impl ::prost::Name for ClientState { + const NAME: &'static str = "ClientState"; + const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) + } +} +/// ConsensusState defines the consensus state from Tendermint. +#[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(message, optional, tag = "1")] + pub timestamp: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, + /// commitment root (i.e app hash) + #[prost(message, optional, tag = "2")] + pub root: ::core::option::Option< + super::super::super::core::commitment::v1::MerkleRoot, + >, + #[prost(bytes = "vec", tag = "3")] + pub next_validators_hash: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ConsensusState { + const NAME: &'static str = "ConsensusState"; + const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) + } +} +/// Misbehaviour is a wrapper over two conflicting Headers +/// that implements Misbehaviour interface expected by ICS-02 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Misbehaviour { + /// ClientID is deprecated + #[deprecated] + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub header_1: ::core::option::Option
, + #[prost(message, optional, tag = "3")] + pub header_2: ::core::option::Option
, +} +impl ::prost::Name for Misbehaviour { + const NAME: &'static str = "Misbehaviour"; + const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) + } +} +/// Header defines the Tendermint client consensus Header. +/// It encapsulates all the information necessary to update from a trusted +/// Tendermint ConsensusState. The inclusion of TrustedHeight and +/// TrustedValidators allows this update to process correctly, so long as the +/// ConsensusState for the TrustedHeight exists, this removes race conditions +/// among relayers The SignedHeader and ValidatorSet are the new untrusted update +/// fields for the client. The TrustedHeight is the height of a stored +/// ConsensusState on the client that will be used to verify the new untrusted +/// header. The Trusted ConsensusState must be within the unbonding period of +/// current time in order to correctly verify, and the TrustedValidators must +/// hash to TrustedConsensusState.NextValidatorsHash since that is the last +/// trusted validator set at the TrustedHeight. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Header { + #[prost(message, optional, tag = "1")] + pub signed_header: ::core::option::Option<::tendermint_proto::types::SignedHeader>, + #[prost(message, optional, tag = "2")] + pub validator_set: ::core::option::Option<::tendermint_proto::types::ValidatorSet>, + #[prost(message, optional, tag = "3")] + pub trusted_height: ::core::option::Option< + super::super::super::core::client::v1::Height, + >, + #[prost(message, optional, tag = "4")] + pub trusted_validators: ::core::option::Option< + ::tendermint_proto::types::ValidatorSet, + >, +} +impl ::prost::Name for Header { + const NAME: &'static str = "Header"; + const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) + } +} +/// Fraction defines the protobuf message type for tmmath.Fraction that only +/// supports positive values. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Fraction { + #[prost(uint64, tag = "1")] + pub numerator: u64, + #[prost(uint64, tag = "2")] + pub denominator: u64, +} +impl ::prost::Name for Fraction { + const NAME: &'static str = "Fraction"; + const PACKAGE: &'static str = "ibc.lightclients.tendermint.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.lightclients.tendermint.v1.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.lightclients.tendermint.v1.serde.rs b/src/prost/ibc.lightclients.tendermint.v1.serde.rs new file mode 100644 index 00000000..f1902ad2 --- /dev/null +++ b/src/prost/ibc.lightclients.tendermint.v1.serde.rs @@ -0,0 +1,789 @@ +impl serde::Serialize for ClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.chain_id.is_empty() { + len += 1; + } + if self.trust_level.is_some() { + len += 1; + } + if self.trusting_period.is_some() { + len += 1; + } + if self.unbonding_period.is_some() { + len += 1; + } + if self.max_clock_drift.is_some() { + len += 1; + } + if self.frozen_height.is_some() { + len += 1; + } + if self.latest_height.is_some() { + len += 1; + } + if !self.proof_specs.is_empty() { + len += 1; + } + if !self.upgrade_path.is_empty() { + len += 1; + } + if self.allow_update_after_expiry { + len += 1; + } + if self.allow_update_after_misbehaviour { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.ClientState", len)?; + if !self.chain_id.is_empty() { + struct_ser.serialize_field("chainId", &self.chain_id)?; + } + if let Some(v) = self.trust_level.as_ref() { + struct_ser.serialize_field("trustLevel", v)?; + } + if let Some(v) = self.trusting_period.as_ref() { + struct_ser.serialize_field("trustingPeriod", v)?; + } + if let Some(v) = self.unbonding_period.as_ref() { + struct_ser.serialize_field("unbondingPeriod", v)?; + } + if let Some(v) = self.max_clock_drift.as_ref() { + struct_ser.serialize_field("maxClockDrift", v)?; + } + if let Some(v) = self.frozen_height.as_ref() { + struct_ser.serialize_field("frozenHeight", v)?; + } + if let Some(v) = self.latest_height.as_ref() { + struct_ser.serialize_field("latestHeight", v)?; + } + if !self.proof_specs.is_empty() { + struct_ser.serialize_field("proofSpecs", &self.proof_specs)?; + } + if !self.upgrade_path.is_empty() { + struct_ser.serialize_field("upgradePath", &self.upgrade_path)?; + } + if self.allow_update_after_expiry { + struct_ser.serialize_field("allowUpdateAfterExpiry", &self.allow_update_after_expiry)?; + } + if self.allow_update_after_misbehaviour { + struct_ser.serialize_field("allowUpdateAfterMisbehaviour", &self.allow_update_after_misbehaviour)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "chain_id", + "chainId", + "trust_level", + "trustLevel", + "trusting_period", + "trustingPeriod", + "unbonding_period", + "unbondingPeriod", + "max_clock_drift", + "maxClockDrift", + "frozen_height", + "frozenHeight", + "latest_height", + "latestHeight", + "proof_specs", + "proofSpecs", + "upgrade_path", + "upgradePath", + "allow_update_after_expiry", + "allowUpdateAfterExpiry", + "allow_update_after_misbehaviour", + "allowUpdateAfterMisbehaviour", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ChainId, + TrustLevel, + TrustingPeriod, + UnbondingPeriod, + MaxClockDrift, + FrozenHeight, + LatestHeight, + ProofSpecs, + UpgradePath, + AllowUpdateAfterExpiry, + AllowUpdateAfterMisbehaviour, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "chainId" | "chain_id" => Ok(GeneratedField::ChainId), + "trustLevel" | "trust_level" => Ok(GeneratedField::TrustLevel), + "trustingPeriod" | "trusting_period" => Ok(GeneratedField::TrustingPeriod), + "unbondingPeriod" | "unbonding_period" => Ok(GeneratedField::UnbondingPeriod), + "maxClockDrift" | "max_clock_drift" => Ok(GeneratedField::MaxClockDrift), + "frozenHeight" | "frozen_height" => Ok(GeneratedField::FrozenHeight), + "latestHeight" | "latest_height" => Ok(GeneratedField::LatestHeight), + "proofSpecs" | "proof_specs" => Ok(GeneratedField::ProofSpecs), + "upgradePath" | "upgrade_path" => Ok(GeneratedField::UpgradePath), + "allowUpdateAfterExpiry" | "allow_update_after_expiry" => Ok(GeneratedField::AllowUpdateAfterExpiry), + "allowUpdateAfterMisbehaviour" | "allow_update_after_misbehaviour" => Ok(GeneratedField::AllowUpdateAfterMisbehaviour), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.tendermint.v1.ClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut chain_id__ = None; + let mut trust_level__ = None; + let mut trusting_period__ = None; + let mut unbonding_period__ = None; + let mut max_clock_drift__ = None; + let mut frozen_height__ = None; + let mut latest_height__ = None; + let mut proof_specs__ = None; + let mut upgrade_path__ = None; + let mut allow_update_after_expiry__ = None; + let mut allow_update_after_misbehaviour__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ChainId => { + if chain_id__.is_some() { + return Err(serde::de::Error::duplicate_field("chainId")); + } + chain_id__ = Some(map_.next_value()?); + } + GeneratedField::TrustLevel => { + if trust_level__.is_some() { + return Err(serde::de::Error::duplicate_field("trustLevel")); + } + trust_level__ = map_.next_value()?; + } + GeneratedField::TrustingPeriod => { + if trusting_period__.is_some() { + return Err(serde::de::Error::duplicate_field("trustingPeriod")); + } + trusting_period__ = map_.next_value()?; + } + GeneratedField::UnbondingPeriod => { + if unbonding_period__.is_some() { + return Err(serde::de::Error::duplicate_field("unbondingPeriod")); + } + unbonding_period__ = map_.next_value()?; + } + GeneratedField::MaxClockDrift => { + if max_clock_drift__.is_some() { + return Err(serde::de::Error::duplicate_field("maxClockDrift")); + } + max_clock_drift__ = map_.next_value()?; + } + GeneratedField::FrozenHeight => { + if frozen_height__.is_some() { + return Err(serde::de::Error::duplicate_field("frozenHeight")); + } + frozen_height__ = map_.next_value()?; + } + GeneratedField::LatestHeight => { + if latest_height__.is_some() { + return Err(serde::de::Error::duplicate_field("latestHeight")); + } + latest_height__ = map_.next_value()?; + } + GeneratedField::ProofSpecs => { + if proof_specs__.is_some() { + return Err(serde::de::Error::duplicate_field("proofSpecs")); + } + proof_specs__ = Some(map_.next_value()?); + } + GeneratedField::UpgradePath => { + if upgrade_path__.is_some() { + return Err(serde::de::Error::duplicate_field("upgradePath")); + } + upgrade_path__ = Some(map_.next_value()?); + } + GeneratedField::AllowUpdateAfterExpiry => { + if allow_update_after_expiry__.is_some() { + return Err(serde::de::Error::duplicate_field("allowUpdateAfterExpiry")); + } + allow_update_after_expiry__ = Some(map_.next_value()?); + } + GeneratedField::AllowUpdateAfterMisbehaviour => { + if allow_update_after_misbehaviour__.is_some() { + return Err(serde::de::Error::duplicate_field("allowUpdateAfterMisbehaviour")); + } + allow_update_after_misbehaviour__ = Some(map_.next_value()?); + } + } + } + Ok(ClientState { + chain_id: chain_id__.unwrap_or_default(), + trust_level: trust_level__, + trusting_period: trusting_period__, + unbonding_period: unbonding_period__, + max_clock_drift: max_clock_drift__, + frozen_height: frozen_height__, + latest_height: latest_height__, + proof_specs: proof_specs__.unwrap_or_default(), + upgrade_path: upgrade_path__.unwrap_or_default(), + allow_update_after_expiry: allow_update_after_expiry__.unwrap_or_default(), + allow_update_after_misbehaviour: allow_update_after_misbehaviour__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.tendermint.v1.ClientState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConsensusState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.timestamp.is_some() { + len += 1; + } + if self.root.is_some() { + len += 1; + } + if !self.next_validators_hash.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.ConsensusState", len)?; + if let Some(v) = self.timestamp.as_ref() { + struct_ser.serialize_field("timestamp", v)?; + } + if let Some(v) = self.root.as_ref() { + struct_ser.serialize_field("root", v)?; + } + if !self.next_validators_hash.is_empty() { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("nextValidatorsHash", pbjson::private::base64::encode(&self.next_validators_hash).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConsensusState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "timestamp", + "root", + "next_validators_hash", + "nextValidatorsHash", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Timestamp, + Root, + NextValidatorsHash, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "timestamp" => Ok(GeneratedField::Timestamp), + "root" => Ok(GeneratedField::Root), + "nextValidatorsHash" | "next_validators_hash" => Ok(GeneratedField::NextValidatorsHash), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConsensusState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.tendermint.v1.ConsensusState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut timestamp__ = None; + let mut root__ = None; + let mut next_validators_hash__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = map_.next_value()?; + } + GeneratedField::Root => { + if root__.is_some() { + return Err(serde::de::Error::duplicate_field("root")); + } + root__ = map_.next_value()?; + } + GeneratedField::NextValidatorsHash => { + if next_validators_hash__.is_some() { + return Err(serde::de::Error::duplicate_field("nextValidatorsHash")); + } + next_validators_hash__ = + Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + ; + } + } + } + Ok(ConsensusState { + timestamp: timestamp__, + root: root__, + next_validators_hash: next_validators_hash__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.tendermint.v1.ConsensusState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Fraction { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.numerator != 0 { + len += 1; + } + if self.denominator != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Fraction", len)?; + if self.numerator != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("numerator", ToString::to_string(&self.numerator).as_str())?; + } + if self.denominator != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("denominator", ToString::to_string(&self.denominator).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Fraction { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "numerator", + "denominator", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Numerator, + Denominator, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "numerator" => Ok(GeneratedField::Numerator), + "denominator" => Ok(GeneratedField::Denominator), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Fraction; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.tendermint.v1.Fraction") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut numerator__ = None; + let mut denominator__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Numerator => { + if numerator__.is_some() { + return Err(serde::de::Error::duplicate_field("numerator")); + } + numerator__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::Denominator => { + if denominator__.is_some() { + return Err(serde::de::Error::duplicate_field("denominator")); + } + denominator__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Fraction { + numerator: numerator__.unwrap_or_default(), + denominator: denominator__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.tendermint.v1.Fraction", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Header { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.signed_header.is_some() { + len += 1; + } + if self.validator_set.is_some() { + len += 1; + } + if self.trusted_height.is_some() { + len += 1; + } + if self.trusted_validators.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Header", len)?; + if let Some(v) = self.signed_header.as_ref() { + struct_ser.serialize_field("signedHeader", v)?; + } + if let Some(v) = self.validator_set.as_ref() { + struct_ser.serialize_field("validatorSet", v)?; + } + if let Some(v) = self.trusted_height.as_ref() { + struct_ser.serialize_field("trustedHeight", v)?; + } + if let Some(v) = self.trusted_validators.as_ref() { + struct_ser.serialize_field("trustedValidators", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Header { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "signed_header", + "signedHeader", + "validator_set", + "validatorSet", + "trusted_height", + "trustedHeight", + "trusted_validators", + "trustedValidators", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + SignedHeader, + ValidatorSet, + TrustedHeight, + TrustedValidators, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "signedHeader" | "signed_header" => Ok(GeneratedField::SignedHeader), + "validatorSet" | "validator_set" => Ok(GeneratedField::ValidatorSet), + "trustedHeight" | "trusted_height" => Ok(GeneratedField::TrustedHeight), + "trustedValidators" | "trusted_validators" => Ok(GeneratedField::TrustedValidators), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Header; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.tendermint.v1.Header") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut signed_header__ = None; + let mut validator_set__ = None; + let mut trusted_height__ = None; + let mut trusted_validators__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::SignedHeader => { + if signed_header__.is_some() { + return Err(serde::de::Error::duplicate_field("signedHeader")); + } + signed_header__ = map_.next_value()?; + } + GeneratedField::ValidatorSet => { + if validator_set__.is_some() { + return Err(serde::de::Error::duplicate_field("validatorSet")); + } + validator_set__ = map_.next_value()?; + } + GeneratedField::TrustedHeight => { + if trusted_height__.is_some() { + return Err(serde::de::Error::duplicate_field("trustedHeight")); + } + trusted_height__ = map_.next_value()?; + } + GeneratedField::TrustedValidators => { + if trusted_validators__.is_some() { + return Err(serde::de::Error::duplicate_field("trustedValidators")); + } + trusted_validators__ = map_.next_value()?; + } + } + } + Ok(Header { + signed_header: signed_header__, + validator_set: validator_set__, + trusted_height: trusted_height__, + trusted_validators: trusted_validators__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.tendermint.v1.Header", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Misbehaviour { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.header_1.is_some() { + len += 1; + } + if self.header_2.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Misbehaviour", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.header_1.as_ref() { + struct_ser.serialize_field("header1", v)?; + } + if let Some(v) = self.header_2.as_ref() { + struct_ser.serialize_field("header2", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Misbehaviour { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "header_1", + "header1", + "header_2", + "header2", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Header1, + Header2, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "header1" | "header_1" => Ok(GeneratedField::Header1), + "header2" | "header_2" => Ok(GeneratedField::Header2), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Misbehaviour; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.lightclients.tendermint.v1.Misbehaviour") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut header_1__ = None; + let mut header_2__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Header1 => { + if header_1__.is_some() { + return Err(serde::de::Error::duplicate_field("header1")); + } + header_1__ = map_.next_value()?; + } + GeneratedField::Header2 => { + if header_2__.is_some() { + return Err(serde::de::Error::duplicate_field("header2")); + } + header_2__ = map_.next_value()?; + } + } + } + Ok(Misbehaviour { + client_id: client_id__.unwrap_or_default(), + header_1: header_1__, + header_2: header_2__, + }) + } + } + deserializer.deserialize_struct("ibc.lightclients.tendermint.v1.Misbehaviour", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/ibc.mock.rs b/src/prost/ibc.mock.rs new file mode 100644 index 00000000..d47fadf7 --- /dev/null +++ b/src/prost/ibc.mock.rs @@ -0,0 +1,58 @@ +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Header { + #[prost(message, optional, tag = "1")] + pub height: ::core::option::Option, + #[prost(uint64, tag = "2")] + pub timestamp: u64, +} +impl ::prost::Name for Header { + const NAME: &'static str = "Header"; + const PACKAGE: &'static str = "ibc.mock"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.mock.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientState { + #[prost(message, optional, tag = "1")] + pub header: ::core::option::Option
, +} +impl ::prost::Name for ClientState { + const NAME: &'static str = "ClientState"; + const PACKAGE: &'static str = "ibc.mock"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.mock.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusState { + #[prost(message, optional, tag = "1")] + pub header: ::core::option::Option
, +} +impl ::prost::Name for ConsensusState { + const NAME: &'static str = "ConsensusState"; + const PACKAGE: &'static str = "ibc.mock"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.mock.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Misbehaviour { + #[prost(string, tag = "1")] + pub client_id: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub header1: ::core::option::Option
, + #[prost(message, optional, tag = "3")] + pub header2: ::core::option::Option
, +} +impl ::prost::Name for Misbehaviour { + const NAME: &'static str = "Misbehaviour"; + const PACKAGE: &'static str = "ibc.mock"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("ibc.mock.{}", Self::NAME) + } +} diff --git a/src/prost/ibc.mock.serde.rs b/src/prost/ibc.mock.serde.rs new file mode 100644 index 00000000..ceb4c54d --- /dev/null +++ b/src/prost/ibc.mock.serde.rs @@ -0,0 +1,419 @@ +impl serde::Serialize for ClientState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.header.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.mock.ClientState", len)?; + if let Some(v) = self.header.as_ref() { + struct_ser.serialize_field("header", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ClientState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "header", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Header, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "header" => Ok(GeneratedField::Header), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ClientState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.mock.ClientState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut header__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Header => { + if header__.is_some() { + return Err(serde::de::Error::duplicate_field("header")); + } + header__ = map_.next_value()?; + } + } + } + Ok(ClientState { + header: header__, + }) + } + } + deserializer.deserialize_struct("ibc.mock.ClientState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ConsensusState { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.header.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.mock.ConsensusState", len)?; + if let Some(v) = self.header.as_ref() { + struct_ser.serialize_field("header", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ConsensusState { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "header", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Header, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "header" => Ok(GeneratedField::Header), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ConsensusState; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.mock.ConsensusState") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut header__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Header => { + if header__.is_some() { + return Err(serde::de::Error::duplicate_field("header")); + } + header__ = map_.next_value()?; + } + } + } + Ok(ConsensusState { + header: header__, + }) + } + } + deserializer.deserialize_struct("ibc.mock.ConsensusState", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Header { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.height.is_some() { + len += 1; + } + if self.timestamp != 0 { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.mock.Header", len)?; + if let Some(v) = self.height.as_ref() { + struct_ser.serialize_field("height", v)?; + } + if self.timestamp != 0 { + #[allow(clippy::needless_borrow)] + struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Header { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "height", + "timestamp", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Height, + Timestamp, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "height" => Ok(GeneratedField::Height), + "timestamp" => Ok(GeneratedField::Timestamp), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Header; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.mock.Header") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut height__ = None; + let mut timestamp__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Height => { + if height__.is_some() { + return Err(serde::de::Error::duplicate_field("height")); + } + height__ = map_.next_value()?; + } + GeneratedField::Timestamp => { + if timestamp__.is_some() { + return Err(serde::de::Error::duplicate_field("timestamp")); + } + timestamp__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + } + } + Ok(Header { + height: height__, + timestamp: timestamp__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("ibc.mock.Header", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for Misbehaviour { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.client_id.is_empty() { + len += 1; + } + if self.header1.is_some() { + len += 1; + } + if self.header2.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("ibc.mock.Misbehaviour", len)?; + if !self.client_id.is_empty() { + struct_ser.serialize_field("clientId", &self.client_id)?; + } + if let Some(v) = self.header1.as_ref() { + struct_ser.serialize_field("header1", v)?; + } + if let Some(v) = self.header2.as_ref() { + struct_ser.serialize_field("header2", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for Misbehaviour { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "client_id", + "clientId", + "header1", + "header2", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + ClientId, + Header1, + Header2, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "clientId" | "client_id" => Ok(GeneratedField::ClientId), + "header1" => Ok(GeneratedField::Header1), + "header2" => Ok(GeneratedField::Header2), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = Misbehaviour; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct ibc.mock.Misbehaviour") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut client_id__ = None; + let mut header1__ = None; + let mut header2__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::ClientId => { + if client_id__.is_some() { + return Err(serde::de::Error::duplicate_field("clientId")); + } + client_id__ = Some(map_.next_value()?); + } + GeneratedField::Header1 => { + if header1__.is_some() { + return Err(serde::de::Error::duplicate_field("header1")); + } + header1__ = map_.next_value()?; + } + GeneratedField::Header2 => { + if header2__.is_some() { + return Err(serde::de::Error::duplicate_field("header2")); + } + header2__ = map_.next_value()?; + } + } + } + Ok(Misbehaviour { + client_id: client_id__.unwrap_or_default(), + header1: header1__, + header2: header2__, + }) + } + } + deserializer.deserialize_struct("ibc.mock.Misbehaviour", FIELDS, GeneratedVisitor) + } +} diff --git a/src/prost/interchain_security.ccv.consumer.v1.rs b/src/prost/interchain_security.ccv.consumer.v1.rs new file mode 100644 index 00000000..b9e93f4d --- /dev/null +++ b/src/prost/interchain_security.ccv.consumer.v1.rs @@ -0,0 +1,648 @@ +/// CrossChainValidator defines the type used to store validator information internal +/// to the consumer CCV module. Note one cross chain validator entry is persisted for +/// each consumer validator, where incoming VSC packets update this data, which is eventually +/// forwarded to comet for consumer chain consensus. +/// +/// Note this type is only used internally to the consumer CCV module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CrossChainValidator { + #[prost(bytes = "vec", tag = "1")] + pub address: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "2")] + pub power: i64, + /// pubkey is the consensus public key of the validator, as a Protobuf Any. + #[prost(message, optional, tag = "3")] + pub pubkey: ::core::option::Option< + super::super::super::super::google::protobuf::Any, + >, +} +impl ::prost::Name for CrossChainValidator { + const NAME: &'static str = "CrossChainValidator"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +/// A record storing the state of a slash packet sent to the provider chain +/// which may bounce back and forth until handled by the provider. +/// +/// Note this type is only used internally to the consumer CCV module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SlashRecord { + #[prost(bool, tag = "1")] + pub waiting_on_reply: bool, + #[prost(message, optional, tag = "2")] + pub send_time: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, +} +impl ::prost::Name for SlashRecord { + const NAME: &'static str = "SlashRecord"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +/// NextFeeDistributionEstimate holds information about next fee distribution +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct NextFeeDistributionEstimate { + /// current block height at the time of querying + #[prost(int64, tag = "1")] + pub current_height: i64, + /// block height at which last distribution took place + #[prost(int64, tag = "2")] + pub last_height: i64, + /// block height at which next distribution will take place + #[prost(int64, tag = "3")] + pub next_height: i64, + /// ratio between consumer and provider fee distribution + #[prost(string, tag = "4")] + pub distribution_fraction: ::prost::alloc::string::String, + /// total accruead fees at the time of querying + #[prost(string, tag = "5")] + pub total: ::prost::alloc::string::String, + /// amount distibuted to provider chain + #[prost(string, tag = "6")] + pub to_provider: ::prost::alloc::string::String, + /// amount distributed (kept) by consumer chain + #[prost(string, tag = "7")] + pub to_consumer: ::prost::alloc::string::String, +} +impl ::prost::Name for NextFeeDistributionEstimate { + const NAME: &'static str = "NextFeeDistributionEstimate"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryNextFeeDistributionEstimateRequest {} +impl ::prost::Name for QueryNextFeeDistributionEstimateRequest { + const NAME: &'static str = "QueryNextFeeDistributionEstimateRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryNextFeeDistributionEstimateResponse { + #[prost(message, optional, tag = "1")] + pub data: ::core::option::Option, +} +impl ::prost::Name for QueryNextFeeDistributionEstimateResponse { + const NAME: &'static str = "QueryNextFeeDistributionEstimateResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +#[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 = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +/// QueryParamsResponse is response type for the Query/Params 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, +} +impl ::prost::Name for QueryParamsResponse { + const NAME: &'static str = "QueryParamsResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProviderInfoRequest {} +impl ::prost::Name for QueryProviderInfoRequest { + const NAME: &'static str = "QueryProviderInfoRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryProviderInfoResponse { + #[prost(message, optional, tag = "1")] + pub consumer: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub provider: ::core::option::Option, +} +impl ::prost::Name for QueryProviderInfoResponse { + const NAME: &'static str = "QueryProviderInfoResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChainInfo { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub client_id: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub connection_id: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub channel_id: ::prost::alloc::string::String, +} +impl ::prost::Name for ChainInfo { + const NAME: &'static str = "ChainInfo"; + const PACKAGE: &'static str = "interchain_security.ccv.consumer.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.consumer.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// ConsumerGenesis queries the genesis state needed to start a consumer chain + /// whose proposal has been accepted + pub async fn query_next_fee_distribution( + &mut self, + request: impl tonic::IntoRequest< + super::QueryNextFeeDistributionEstimateRequest, + >, + ) -> 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( + "/interchain_security.ccv.consumer.v1.Query/QueryNextFeeDistribution", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.consumer.v1.Query", + "QueryNextFeeDistribution", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryParams queries the ccv/consumer module parameters. + pub async fn query_params( + &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( + "/interchain_security.ccv.consumer.v1.Query/QueryParams", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.consumer.v1.Query", + "QueryParams", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn query_provider_info( + &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( + "/interchain_security.ccv.consumer.v1.Query/QueryProviderInfo", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.consumer.v1.Query", + "QueryProviderInfo", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// ConsumerGenesis queries the genesis state needed to start a consumer chain + /// whose proposal has been accepted + async fn query_next_fee_distribution( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryParams queries the ccv/consumer module parameters. + async fn query_params( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn query_provider_info( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/interchain_security.ccv.consumer.v1.Query/QueryNextFeeDistribution" => { + #[allow(non_camel_case_types)] + struct QueryNextFeeDistributionSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryNextFeeDistributionEstimateRequest, + > for QueryNextFeeDistributionSvc { + type Response = super::QueryNextFeeDistributionEstimateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryNextFeeDistributionEstimateRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_next_fee_distribution(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryNextFeeDistributionSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.consumer.v1.Query/QueryParams" => { + #[allow(non_camel_case_types)] + struct QueryParamsSvc(pub Arc); + impl tonic::server::UnaryService + for QueryParamsSvc { + type Response = super::QueryParamsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_params(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryParamsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.consumer.v1.Query/QueryProviderInfo" => { + #[allow(non_camel_case_types)] + struct QueryProviderInfoSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for QueryProviderInfoSvc { + type Response = super::QueryProviderInfoResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_provider_info(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryProviderInfoSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "interchain_security.ccv.consumer.v1.Query"; + } +} diff --git a/src/prost/interchain_security.ccv.provider.v1.rs b/src/prost/interchain_security.ccv.provider.v1.rs new file mode 100644 index 00000000..f0561dee --- /dev/null +++ b/src/prost/interchain_security.ccv.provider.v1.rs @@ -0,0 +1,2515 @@ +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgAssignConsumerKey { + /// The chain id of the consumer chain to assign a consensus public key to + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + /// The validator address on the provider + #[prost(string, tag = "2")] + pub provider_addr: ::prost::alloc::string::String, + /// The consensus public key to use on the consumer. + /// in json string format corresponding to proto-any, ex: + /// `{"@type":"/cosmos.crypto.ed25519.PubKey","key":"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is="}` + #[prost(string, tag = "3")] + pub consumer_key: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgAssignConsumerKey { + const NAME: &'static str = "MsgAssignConsumerKey"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgAssignConsumerKeyResponse {} +impl ::prost::Name for MsgAssignConsumerKeyResponse { + const NAME: &'static str = "MsgAssignConsumerKeyResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// MsgSubmitConsumerMisbehaviour defines a message that reports a light client attack, +/// also known as a misbehaviour, observed on a consumer chain +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitConsumerMisbehaviour { + #[prost(string, tag = "1")] + pub submitter: ::prost::alloc::string::String, + /// The Misbehaviour of the consumer chain wrapping + /// two conflicting IBC headers + #[prost(message, optional, tag = "2")] + pub misbehaviour: ::core::option::Option< + super::super::super::super::ibc::lightclients::tendermint::v1::Misbehaviour, + >, +} +impl ::prost::Name for MsgSubmitConsumerMisbehaviour { + const NAME: &'static str = "MsgSubmitConsumerMisbehaviour"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitConsumerMisbehaviourResponse {} +impl ::prost::Name for MsgSubmitConsumerMisbehaviourResponse { + const NAME: &'static str = "MsgSubmitConsumerMisbehaviourResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// MsgSubmitConsumerDoubleVoting defines a message that reports +/// a double signing infraction observed on a consumer chain +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitConsumerDoubleVoting { + #[prost(string, tag = "1")] + pub submitter: ::prost::alloc::string::String, + /// The equivocation of the consumer chain wrapping + /// an evidence of a validator that signed two conflicting votes + #[prost(message, optional, tag = "2")] + pub duplicate_vote_evidence: ::core::option::Option< + ::tendermint_proto::types::DuplicateVoteEvidence, + >, + /// The light client header of the infraction block + #[prost(message, optional, tag = "3")] + pub infraction_block_header: ::core::option::Option< + super::super::super::super::ibc::lightclients::tendermint::v1::Header, + >, +} +impl ::prost::Name for MsgSubmitConsumerDoubleVoting { + const NAME: &'static str = "MsgSubmitConsumerDoubleVoting"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitConsumerDoubleVotingResponse {} +impl ::prost::Name for MsgSubmitConsumerDoubleVotingResponse { + const NAME: &'static str = "MsgSubmitConsumerDoubleVotingResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the Msg service. + #[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 assign_consumer_key( + &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( + "/interchain_security.ccv.provider.v1.Msg/AssignConsumerKey", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Msg", + "AssignConsumerKey", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn submit_consumer_misbehaviour( + &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( + "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerMisbehaviour", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Msg", + "SubmitConsumerMisbehaviour", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn submit_consumer_double_voting( + &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( + "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerDoubleVoting", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Msg", + "SubmitConsumerDoubleVoting", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + async fn assign_consumer_key( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn submit_consumer_misbehaviour( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn submit_consumer_double_voting( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/interchain_security.ccv.provider.v1.Msg/AssignConsumerKey" => { + #[allow(non_camel_case_types)] + struct AssignConsumerKeySvc(pub Arc); + impl tonic::server::UnaryService + for AssignConsumerKeySvc { + type Response = super::MsgAssignConsumerKeyResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::assign_consumer_key(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = AssignConsumerKeySvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerMisbehaviour" => { + #[allow(non_camel_case_types)] + struct SubmitConsumerMisbehaviourSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for SubmitConsumerMisbehaviourSvc { + type Response = super::MsgSubmitConsumerMisbehaviourResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::submit_consumer_misbehaviour(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SubmitConsumerMisbehaviourSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Msg/SubmitConsumerDoubleVoting" => { + #[allow(non_camel_case_types)] + struct SubmitConsumerDoubleVotingSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for SubmitConsumerDoubleVotingSvc { + type Response = super::MsgSubmitConsumerDoubleVotingResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::submit_consumer_double_voting(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SubmitConsumerDoubleVotingSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "interchain_security.ccv.provider.v1.Msg"; + } +} +/// ConsumerAdditionProposal is a governance proposal on the provider chain to +/// spawn a new consumer chain. If it passes, then all validators on the provider +/// chain are expected to validate the consumer chain at spawn time or get +/// slashed. It is recommended that spawn time occurs after the proposal end +/// time. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerAdditionProposal { + /// the title of the proposal + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// the description of the proposal + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// the proposed chain-id of the new consumer chain, must be different from all + /// other consumer chain ids of the executing provider chain. + #[prost(string, tag = "3")] + pub chain_id: ::prost::alloc::string::String, + /// the proposed initial height of new consumer chain. + /// For a completely new chain, this will be {0,1}. However, it may be + /// different if this is a chain that is converting to a consumer chain. + #[prost(message, optional, tag = "4")] + pub initial_height: ::core::option::Option< + super::super::super::super::ibc::core::client::v1::Height, + >, + /// The hash of the consumer chain genesis state without the consumer CCV + /// module genesis params. It is used for off-chain confirmation of + /// genesis.json validity by validators and other parties. + #[prost(bytes = "vec", tag = "5")] + pub genesis_hash: ::prost::alloc::vec::Vec, + /// The hash of the consumer chain binary that should be run by validators on + /// chain initialization. It is used for off-chain confirmation of binary + /// validity by validators and other parties. + #[prost(bytes = "vec", tag = "6")] + pub binary_hash: ::prost::alloc::vec::Vec, + /// spawn time is the time on the provider chain at which the consumer chain + /// genesis is finalized and all validators will be responsible for starting + /// their consumer chain validator node. + #[prost(message, optional, tag = "7")] + pub spawn_time: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, + /// Unbonding period for the consumer, + /// which should be smaller than that of the provider in general. + #[prost(message, optional, tag = "8")] + pub unbonding_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// Sent CCV related IBC packets will timeout after this duration + #[prost(message, optional, tag = "9")] + pub ccv_timeout_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// Sent transfer related IBC packets will timeout after this duration + #[prost(message, optional, tag = "10")] + pub transfer_timeout_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// The fraction of tokens allocated to the consumer redistribution address + /// during distribution events. The fraction is a string representing a + /// decimal number. For example "0.75" would represent 75%. + #[prost(string, tag = "11")] + pub consumer_redistribution_fraction: ::prost::alloc::string::String, + /// BlocksPerDistributionTransmission is the number of blocks between + /// ibc-token-transfers from the consumer chain to the provider chain. On + /// sending transmission event, `consumer_redistribution_fraction` of the + /// accumulated tokens are sent to the consumer redistribution address. + #[prost(int64, tag = "12")] + pub blocks_per_distribution_transmission: i64, + /// The number of historical info entries to persist in store. + /// This param is a part of the cosmos sdk staking module. In the case of + /// a ccv enabled consumer chain, the ccv module acts as the staking module. + #[prost(int64, tag = "13")] + pub historical_entries: i64, + /// The ID of a token transfer channel used for the Reward Distribution + /// sub-protocol. If DistributionTransmissionChannel == "", a new transfer + /// channel is created on top of the same connection as the CCV channel. + /// Note that transfer_channel_id is the ID of the channel end on the consumer + /// chain. it is most relevant for chains performing a sovereign to consumer + /// changeover in order to maintan the existing ibc transfer channel + #[prost(string, tag = "14")] + pub distribution_transmission_channel: ::prost::alloc::string::String, +} +impl ::prost::Name for ConsumerAdditionProposal { + const NAME: &'static str = "ConsumerAdditionProposal"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ConsumerRemovalProposal is a governance proposal on the provider chain to +/// remove (and stop) a consumer chain. If it passes, all the consumer chain's +/// state is removed from the provider chain. The outstanding unbonding operation +/// funds are released. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerRemovalProposal { + /// the title of the proposal + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// the description of the proposal + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// the chain-id of the consumer chain to be stopped + #[prost(string, tag = "3")] + pub chain_id: ::prost::alloc::string::String, + /// the time on the provider chain at which all validators are responsible to + /// stop their consumer chain validator node + #[prost(message, optional, tag = "4")] + pub stop_time: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, +} +impl ::prost::Name for ConsumerRemovalProposal { + const NAME: &'static str = "ConsumerRemovalProposal"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ChangeRewardDenomsProposal is a governance proposal on the provider chain to +/// mutate the set of denoms accepted by the provider as rewards. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChangeRewardDenomsProposal { + /// the title of the proposal + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// the description of the proposal + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// the list of consumer reward denoms to add + #[prost(string, repeated, tag = "3")] + pub denoms_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// the list of consumer reward denoms to remove + #[prost(string, repeated, tag = "4")] + pub denoms_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ChangeRewardDenomsProposal { + const NAME: &'static str = "ChangeRewardDenomsProposal"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// A persisted queue entry indicating that a slash packet data instance needs to +/// be handled. This type belongs in the "global" queue, to coordinate slash +/// packet handling times between consumers. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GlobalSlashEntry { + /// Block time that slash packet was received by provider chain. + /// This field is used for store key iteration ordering. + #[prost(message, optional, tag = "1")] + pub recv_time: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, + /// The consumer that sent a slash packet. + #[prost(string, tag = "2")] + pub consumer_chain_id: ::prost::alloc::string::String, + /// The IBC sequence number of the recv packet. + /// This field is used in the store key to ensure uniqueness. + #[prost(uint64, tag = "3")] + pub ibc_seq_num: u64, + /// The provider's consensus address of the validator being slashed. + /// This field is used to obtain validator power in HandleThrottleQueues. + /// + /// This field is not used in the store key, but is persisted in value bytes, + /// see QueueGlobalSlashEntry. + #[prost(bytes = "vec", tag = "4")] + pub provider_val_cons_addr: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GlobalSlashEntry { + const NAME: &'static str = "GlobalSlashEntry"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// Params defines the parameters for CCV Provider module +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Params { + #[prost(message, optional, tag = "1")] + pub template_client: ::core::option::Option< + super::super::super::super::ibc::lightclients::tendermint::v1::ClientState, + >, + /// TrustingPeriodFraction is used to compute the consumer and provider IBC + /// client's TrustingPeriod from the chain defined UnbondingPeriod + #[prost(string, tag = "2")] + pub trusting_period_fraction: ::prost::alloc::string::String, + /// Sent IBC packets will timeout after this duration + #[prost(message, optional, tag = "3")] + pub ccv_timeout_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// The channel initialization (IBC channel opening handshake) will timeout + /// after this duration + #[prost(message, optional, tag = "4")] + pub init_timeout_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// The VSC packets sent by the provider will timeout after this duration. + /// Note that unlike ccv_timeout_period which is an IBC param, + /// the vsc_timeout_period is a provider-side param that enables the provider + /// to timeout VSC packets even when a consumer chain is not live. + #[prost(message, optional, tag = "5")] + pub vsc_timeout_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// The period for which the slash meter is replenished + #[prost(message, optional, tag = "6")] + pub slash_meter_replenish_period: ::core::option::Option< + super::super::super::super::google::protobuf::Duration, + >, + /// The fraction of total voting power that is replenished to the slash meter + /// every replenish period. This param also serves as a maximum fraction of + /// total voting power that the slash meter can hold. + #[prost(string, tag = "7")] + pub slash_meter_replenish_fraction: ::prost::alloc::string::String, + /// The maximum amount of throttled slash or vsc matured packets + /// that can be queued for a single consumer before the provider chain halts. + #[prost(int64, tag = "8")] + pub max_throttled_packets: i64, + /// The fee required to be paid to add a reward denom + #[prost(message, optional, tag = "9")] + pub consumer_reward_denom_registration_fee: ::core::option::Option< + super::super::super::super::cosmos::base::v1beta1::Coin, + >, +} +impl ::prost::Name for Params { + const NAME: &'static str = "Params"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// SlashAcks contains cons addresses of consumer chain validators +/// successfully slashed on the provider chain. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SlashAcks { + #[prost(string, repeated, tag = "1")] + pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for SlashAcks { + const NAME: &'static str = "SlashAcks"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ConsumerAdditionProposals holds pending governance proposals on the provider +/// chain to spawn a new chain. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerAdditionProposals { + /// proposals waiting for spawn_time to pass + #[prost(message, repeated, tag = "1")] + pub pending: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ConsumerAdditionProposals { + const NAME: &'static str = "ConsumerAdditionProposals"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ConsumerRemovalProposals holds pending governance proposals on the provider +/// chain to remove (and stop) a consumer chain. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerRemovalProposals { + /// proposals waiting for stop_time to pass + #[prost(message, repeated, tag = "1")] + pub pending: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ConsumerRemovalProposals { + const NAME: &'static str = "ConsumerRemovalProposals"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// AddressList contains a list of consensus addresses +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddressList { + #[prost(bytes = "vec", repeated, tag = "1")] + pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +impl ::prost::Name for AddressList { + const NAME: &'static str = "AddressList"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChannelToChain { + #[prost(string, tag = "1")] + pub channel_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub chain_id: ::prost::alloc::string::String, +} +impl ::prost::Name for ChannelToChain { + const NAME: &'static str = "ChannelToChain"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// VscUnbondingOps contains the IDs of unbonding operations that are waiting for +/// at least one VSCMaturedPacket with vscID from a consumer chain +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VscUnbondingOps { + #[prost(uint64, tag = "1")] + pub vsc_id: u64, + #[prost(uint64, repeated, tag = "2")] + pub unbonding_op_ids: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for VscUnbondingOps { + const NAME: &'static str = "VscUnbondingOps"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// UnbondingOp contains the ids of consumer chains that need to unbond before +/// the unbonding operation with the given ID can unbond +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UnbondingOp { + #[prost(uint64, tag = "1")] + pub id: u64, + /// consumer chains that are still unbonding + #[prost(string, repeated, tag = "2")] + pub unbonding_consumer_chains: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, +} +impl ::prost::Name for UnbondingOp { + const NAME: &'static str = "UnbondingOp"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InitTimeoutTimestamp { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + pub timestamp: u64, +} +impl ::prost::Name for InitTimeoutTimestamp { + const NAME: &'static str = "InitTimeoutTimestamp"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VscSendTimestamp { + #[prost(uint64, tag = "1")] + pub vsc_id: u64, + #[prost(message, optional, tag = "2")] + pub timestamp: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, +} +impl ::prost::Name for VscSendTimestamp { + const NAME: &'static str = "VscSendTimestamp"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ValidatorSetChangePackets is a pb list of ccv.ValidatorSetChangePacketData. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValidatorSetChangePackets { + #[prost(message, repeated, tag = "1")] + pub list: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ValidatorSetChangePackets { + const NAME: &'static str = "ValidatorSetChangePackets"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// MaturedUnbondingOps defines a list of ids corresponding to ids of matured +/// unbonding operations. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MaturedUnbondingOps { + #[prost(uint64, repeated, tag = "1")] + pub ids: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for MaturedUnbondingOps { + const NAME: &'static str = "MaturedUnbondingOps"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ExportedVscSendTimestamps is VscSendTimestamp with chainID info for exporting to genesis +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExportedVscSendTimestamp { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub vsc_send_timestamps: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ExportedVscSendTimestamp { + const NAME: &'static str = "ExportedVscSendTimestamp"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct KeyAssignmentReplacement { + #[prost(bytes = "vec", tag = "1")] + pub provider_addr: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub prev_c_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>, + #[prost(int64, tag = "3")] + pub power: i64, +} +impl ::prost::Name for KeyAssignmentReplacement { + const NAME: &'static str = "KeyAssignmentReplacement"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// Used to serialize the ValidatorConsumerPubKey index from key assignment +/// ValidatorConsumerPubKey: (chainID, providerAddr consAddr) -> consumerKey +/// tmprotocrypto.PublicKey +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValidatorConsumerPubKey { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "2")] + pub provider_addr: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub consumer_key: ::core::option::Option<::tendermint_proto::crypto::PublicKey>, +} +impl ::prost::Name for ValidatorConsumerPubKey { + const NAME: &'static str = "ValidatorConsumerPubKey"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// Used to serialize the ValidatorConsumerAddr index from key assignment +/// ValidatorByConsumerAddr: (chainID, consumerAddr consAddr) -> providerAddr +/// consAddr +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValidatorByConsumerAddr { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "2")] + pub consumer_addr: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub provider_addr: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ValidatorByConsumerAddr { + const NAME: &'static str = "ValidatorByConsumerAddr"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// Used to serialize the ConsumerAddrsToPrune index from key assignment +/// ConsumerAddrsToPrune: (chainID, vscID uint64) -> consumerAddrs AddressList +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerAddrsToPrune { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + pub vsc_id: u64, + #[prost(message, optional, tag = "3")] + pub consumer_addrs: ::core::option::Option, +} +impl ::prost::Name for ConsumerAddrsToPrune { + const NAME: &'static str = "ConsumerAddrsToPrune"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerGenesisRequest { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryConsumerGenesisRequest { + const NAME: &'static str = "QueryConsumerGenesisRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerGenesisResponse { + #[prost(message, optional, tag = "1")] + pub genesis_state: ::core::option::Option, +} +impl ::prost::Name for QueryConsumerGenesisResponse { + const NAME: &'static str = "QueryConsumerGenesisResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerChainsRequest {} +impl ::prost::Name for QueryConsumerChainsRequest { + const NAME: &'static str = "QueryConsumerChainsRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerChainsResponse { + #[prost(message, repeated, tag = "1")] + pub chains: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryConsumerChainsResponse { + const NAME: &'static str = "QueryConsumerChainsResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerChainStartProposalsRequest {} +impl ::prost::Name for QueryConsumerChainStartProposalsRequest { + const NAME: &'static str = "QueryConsumerChainStartProposalsRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerChainStartProposalsResponse { + #[prost(message, optional, tag = "1")] + pub proposals: ::core::option::Option, +} +impl ::prost::Name for QueryConsumerChainStartProposalsResponse { + const NAME: &'static str = "QueryConsumerChainStartProposalsResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerChainStopProposalsRequest {} +impl ::prost::Name for QueryConsumerChainStopProposalsRequest { + const NAME: &'static str = "QueryConsumerChainStopProposalsRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryConsumerChainStopProposalsResponse { + #[prost(message, optional, tag = "1")] + pub proposals: ::core::option::Option, +} +impl ::prost::Name for QueryConsumerChainStopProposalsResponse { + const NAME: &'static str = "QueryConsumerChainStopProposalsResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chain { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub client_id: ::prost::alloc::string::String, +} +impl ::prost::Name for Chain { + const NAME: &'static str = "Chain"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorConsumerAddrRequest { + /// The id of the consumer chain + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + /// The consensus address of the validator on the provider chain + #[prost(string, tag = "2")] + pub provider_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryValidatorConsumerAddrRequest { + const NAME: &'static str = "QueryValidatorConsumerAddrRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorConsumerAddrResponse { + /// The address of the validator on the consumer chain + #[prost(string, tag = "1")] + pub consumer_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryValidatorConsumerAddrResponse { + const NAME: &'static str = "QueryValidatorConsumerAddrResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorProviderAddrRequest { + /// The id of the provider chain + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + /// The consensus address of the validator on the consumer chain + #[prost(string, tag = "2")] + pub consumer_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryValidatorProviderAddrRequest { + const NAME: &'static str = "QueryValidatorProviderAddrRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryValidatorProviderAddrResponse { + /// The address of the validator on the provider chain + #[prost(string, tag = "1")] + pub provider_address: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryValidatorProviderAddrResponse { + const NAME: &'static str = "QueryValidatorProviderAddrResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryThrottleStateRequest {} +impl ::prost::Name for QueryThrottleStateRequest { + const NAME: &'static str = "QueryThrottleStateRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryThrottleStateResponse { + /// current slash_meter state + #[prost(int64, tag = "1")] + pub slash_meter: i64, + /// allowance of voting power units (int) that the slash meter is given per + /// replenish period this also serves as the max value for the meter. + #[prost(int64, tag = "2")] + pub slash_meter_allowance: i64, + /// next time the slash meter could potentially be replenished, iff it's not + /// full + #[prost(message, optional, tag = "3")] + pub next_replenish_candidate: ::core::option::Option< + super::super::super::super::google::protobuf::Timestamp, + >, + /// data relevant to currently throttled slash packets + #[prost(message, repeated, tag = "4")] + pub packets: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryThrottleStateResponse { + const NAME: &'static str = "QueryThrottleStateResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryThrottledConsumerPacketDataRequest { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, +} +impl ::prost::Name for QueryThrottledConsumerPacketDataRequest { + const NAME: &'static str = "QueryThrottledConsumerPacketDataRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryThrottledConsumerPacketDataResponse { + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + pub size: u64, + #[prost(message, repeated, tag = "3")] + pub packet_data_instances: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for QueryThrottledConsumerPacketDataResponse { + const NAME: &'static str = "QueryThrottledConsumerPacketDataResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// A query wrapper type for the global entry and data relevant to a throttled +/// slash packet. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ThrottledSlashPacket { + #[prost(message, optional, tag = "1")] + pub global_entry: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub data: ::core::option::Option, +} +impl ::prost::Name for ThrottledSlashPacket { + const NAME: &'static str = "ThrottledSlashPacket"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ThrottledPacketDataWrapper contains either SlashPacketData or +/// VSCMaturedPacketData +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ThrottledPacketDataWrapper { + #[prost(oneof = "throttled_packet_data_wrapper::Data", tags = "1, 2")] + pub data: ::core::option::Option, +} +/// Nested message and enum types in `ThrottledPacketDataWrapper`. +pub mod throttled_packet_data_wrapper { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Data { + #[prost(message, tag = "1")] + SlashPacket(super::super::super::v1::SlashPacketData), + #[prost(message, tag = "2")] + VscMaturedPacket(super::super::super::v1::VscMaturedPacketData), + } +} +impl ::prost::Name for ThrottledPacketDataWrapper { + const NAME: &'static str = "ThrottledPacketDataWrapper"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryRegisteredConsumerRewardDenomsRequest {} +impl ::prost::Name for QueryRegisteredConsumerRewardDenomsRequest { + const NAME: &'static str = "QueryRegisteredConsumerRewardDenomsRequest"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QueryRegisteredConsumerRewardDenomsResponse { + #[prost(string, repeated, tag = "1")] + pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for QueryRegisteredConsumerRewardDenomsResponse { + const NAME: &'static str = "QueryRegisteredConsumerRewardDenomsResponse"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod query_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + #[derive(Debug, Clone)] + pub struct QueryClient { + inner: tonic::client::Grpc, + } + impl QueryClient { + /// 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 QueryClient + 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, + ) -> QueryClient> + where + F: tonic::service::Interceptor, + T::ResponseBody: Default, + T: tonic::codegen::Service< + http::Request, + Response = http::Response< + >::ResponseBody, + >, + >, + , + >>::Error: Into + Send + Sync, + { + QueryClient::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 + } + /// ConsumerGenesis queries the genesis state needed to start a consumer chain + /// whose proposal has been accepted + pub async fn query_consumer_genesis( + &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( + "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryConsumerGenesis", + ), + ); + self.inner.unary(req, path, codec).await + } + /// ConsumerChains queries active consumer chains supported by the provider + /// chain + pub async fn query_consumer_chains( + &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( + "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryConsumerChains", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryConsumerChainStarts queries consumer chain start proposals. + pub async fn query_consumer_chain_starts( + &mut self, + request: impl tonic::IntoRequest< + super::QueryConsumerChainStartProposalsRequest, + >, + ) -> 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( + "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStarts", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryConsumerChainStarts", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryConsumerChainStops queries consumer chain stop proposals. + pub async fn query_consumer_chain_stops( + &mut self, + request: impl tonic::IntoRequest< + super::QueryConsumerChainStopProposalsRequest, + >, + ) -> 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( + "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStops", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryConsumerChainStops", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryValidatorConsumerAddr queries the address + /// assigned by a validator for a consumer chain. + pub async fn query_validator_consumer_addr( + &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( + "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryValidatorConsumerAddr", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryProviderAddr returns the provider chain validator + /// given a consumer chain validator address + pub async fn query_validator_provider_addr( + &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( + "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryValidatorProviderAddr", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryThrottleState returns the main on-chain state relevant to currently + /// throttled slash packets + pub async fn query_throttle_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( + "/interchain_security.ccv.provider.v1.Query/QueryThrottleState", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryThrottleState", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryThrottledConsumerPacketData returns a list of pending packet data + /// instances (slash packet and vsc matured) for a single consumer chain + pub async fn query_throttled_consumer_packet_data( + &mut self, + request: impl tonic::IntoRequest< + super::QueryThrottledConsumerPacketDataRequest, + >, + ) -> 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( + "/interchain_security.ccv.provider.v1.Query/QueryThrottledConsumerPacketData", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryThrottledConsumerPacketData", + ), + ); + self.inner.unary(req, path, codec).await + } + /// QueryRegisteredConsumerRewardDenoms returns a list of consumer reward + /// denoms that are registered + pub async fn query_registered_consumer_reward_denoms( + &mut self, + request: impl tonic::IntoRequest< + super::QueryRegisteredConsumerRewardDenomsRequest, + >, + ) -> 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( + "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "interchain_security.ccv.provider.v1.Query", + "QueryRegisteredConsumerRewardDenoms", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod query_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. + #[async_trait] + pub trait Query: Send + Sync + 'static { + /// ConsumerGenesis queries the genesis state needed to start a consumer chain + /// whose proposal has been accepted + async fn query_consumer_genesis( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// ConsumerChains queries active consumer chains supported by the provider + /// chain + async fn query_consumer_chains( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryConsumerChainStarts queries consumer chain start proposals. + async fn query_consumer_chain_starts( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryConsumerChainStops queries consumer chain stop proposals. + async fn query_consumer_chain_stops( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryValidatorConsumerAddr queries the address + /// assigned by a validator for a consumer chain. + async fn query_validator_consumer_addr( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryProviderAddr returns the provider chain validator + /// given a consumer chain validator address + async fn query_validator_provider_addr( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryThrottleState returns the main on-chain state relevant to currently + /// throttled slash packets + async fn query_throttle_state( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryThrottledConsumerPacketData returns a list of pending packet data + /// instances (slash packet and vsc matured) for a single consumer chain + async fn query_throttled_consumer_packet_data( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + /// QueryRegisteredConsumerRewardDenoms returns a list of consumer reward + /// denoms that are registered + async fn query_registered_consumer_reward_denoms( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + #[derive(Debug)] + pub struct QueryServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl QueryServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for QueryServer + where + T: Query, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis" => { + #[allow(non_camel_case_types)] + struct QueryConsumerGenesisSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for QueryConsumerGenesisSvc { + type Response = super::QueryConsumerGenesisResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_consumer_genesis(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryConsumerGenesisSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains" => { + #[allow(non_camel_case_types)] + struct QueryConsumerChainsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for QueryConsumerChainsSvc { + type Response = super::QueryConsumerChainsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_consumer_chains(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryConsumerChainsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStarts" => { + #[allow(non_camel_case_types)] + struct QueryConsumerChainStartsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryConsumerChainStartProposalsRequest, + > for QueryConsumerChainStartsSvc { + type Response = super::QueryConsumerChainStartProposalsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryConsumerChainStartProposalsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_consumer_chain_starts(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryConsumerChainStartsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStops" => { + #[allow(non_camel_case_types)] + struct QueryConsumerChainStopsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryConsumerChainStopProposalsRequest, + > for QueryConsumerChainStopsSvc { + type Response = super::QueryConsumerChainStopProposalsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryConsumerChainStopProposalsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_consumer_chain_stops(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryConsumerChainStopsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr" => { + #[allow(non_camel_case_types)] + struct QueryValidatorConsumerAddrSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryValidatorConsumerAddrRequest, + > for QueryValidatorConsumerAddrSvc { + type Response = super::QueryValidatorConsumerAddrResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryValidatorConsumerAddrRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_validator_consumer_addr(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryValidatorConsumerAddrSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr" => { + #[allow(non_camel_case_types)] + struct QueryValidatorProviderAddrSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryValidatorProviderAddrRequest, + > for QueryValidatorProviderAddrSvc { + type Response = super::QueryValidatorProviderAddrResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryValidatorProviderAddrRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_validator_provider_addr(&inner, request) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryValidatorProviderAddrSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryThrottleState" => { + #[allow(non_camel_case_types)] + struct QueryThrottleStateSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService + for QueryThrottleStateSvc { + type Response = super::QueryThrottleStateResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_throttle_state(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryThrottleStateSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryThrottledConsumerPacketData" => { + #[allow(non_camel_case_types)] + struct QueryThrottledConsumerPacketDataSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryThrottledConsumerPacketDataRequest, + > for QueryThrottledConsumerPacketDataSvc { + type Response = super::QueryThrottledConsumerPacketDataResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryThrottledConsumerPacketDataRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_throttled_consumer_packet_data( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryThrottledConsumerPacketDataSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms" => { + #[allow(non_camel_case_types)] + struct QueryRegisteredConsumerRewardDenomsSvc(pub Arc); + impl< + T: Query, + > tonic::server::UnaryService< + super::QueryRegisteredConsumerRewardDenomsRequest, + > for QueryRegisteredConsumerRewardDenomsSvc { + type Response = super::QueryRegisteredConsumerRewardDenomsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::QueryRegisteredConsumerRewardDenomsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::query_registered_consumer_reward_denoms( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = QueryRegisteredConsumerRewardDenomsSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for QueryServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for QueryServer { + const NAME: &'static str = "interchain_security.ccv.provider.v1.Query"; + } +} +/// GenesisState defines the CCV provider chain genesis state +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GenesisState { + /// strictly positive and set to 1 (DefaultValsetUpdateID) for a new chain + #[prost(uint64, tag = "1")] + pub valset_update_id: u64, + /// empty for a new chain + #[prost(message, repeated, tag = "2")] + pub consumer_states: ::prost::alloc::vec::Vec, + /// empty for a new chain + #[prost(message, repeated, tag = "3")] + pub unbonding_ops: ::prost::alloc::vec::Vec, + /// empty for a new chain + #[prost(message, optional, tag = "4")] + pub mature_unbonding_ops: ::core::option::Option, + /// empty for a new chain + #[prost(message, repeated, tag = "5")] + pub valset_update_id_to_height: ::prost::alloc::vec::Vec, + /// empty for a new chain + #[prost(message, repeated, tag = "6")] + pub consumer_addition_proposals: ::prost::alloc::vec::Vec, + /// empty for a new chain + #[prost(message, repeated, tag = "7")] + pub consumer_removal_proposals: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub params: ::core::option::Option, + /// empty for a new chain + #[prost(message, repeated, tag = "9")] + pub validator_consumer_pubkeys: ::prost::alloc::vec::Vec, + /// empty for a new chain + #[prost(message, repeated, tag = "10")] + pub validators_by_consumer_addr: ::prost::alloc::vec::Vec, + /// empty for a new chain + #[prost(message, repeated, tag = "11")] + pub consumer_addrs_to_prune: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub init_timeout_timestamps: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "13")] + pub exported_vsc_send_timestamps: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for GenesisState { + const NAME: &'static str = "GenesisState"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// The provider CCV module's knowledge of consumer state. +/// +/// Note this type is only used internally to the provider CCV module. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerState { + /// ChainID defines the chain ID for the consumer chain + #[prost(string, tag = "1")] + pub chain_id: ::prost::alloc::string::String, + /// ChannelID defines the IBC channel ID for the consumer chain + #[prost(string, tag = "2")] + pub channel_id: ::prost::alloc::string::String, + /// ClientID defines the IBC client ID for the consumer chain + #[prost(string, tag = "3")] + pub client_id: ::prost::alloc::string::String, + /// InitalHeight defines the initial block height for the consumer chain + #[prost(uint64, tag = "4")] + pub initial_height: u64, + /// ConsumerGenesis defines the initial consumer chain genesis states + #[prost(message, optional, tag = "5")] + pub consumer_genesis: ::core::option::Option, + /// PendingValsetChanges defines the pending validator set changes for the + /// consumer chain + #[prost(message, repeated, tag = "6")] + pub pending_valset_changes: ::prost::alloc::vec::Vec< + super::super::v1::ValidatorSetChangePacketData, + >, + #[prost(string, repeated, tag = "7")] + pub slash_downtime_ack: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// UnbondingOpsIndex defines the unbonding operations waiting on this consumer + /// chain + #[prost(message, repeated, tag = "8")] + pub unbonding_ops_index: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ConsumerState { + const NAME: &'static str = "ConsumerState"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} +/// ValsetUpdateIdToHeight defines the genesis information for the mapping +/// of each valset udpate id to a block height +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValsetUpdateIdToHeight { + #[prost(uint64, tag = "1")] + pub valset_update_id: u64, + #[prost(uint64, tag = "2")] + pub height: u64, +} +impl ::prost::Name for ValsetUpdateIdToHeight { + const NAME: &'static str = "ValsetUpdateIdToHeight"; + const PACKAGE: &'static str = "interchain_security.ccv.provider.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.provider.v1.{}", Self::NAME) + } +} diff --git a/src/prost/interchain_security.ccv.v1.rs b/src/prost/interchain_security.ccv.v1.rs new file mode 100644 index 00000000..c072c5f1 --- /dev/null +++ b/src/prost/interchain_security.ccv.v1.rs @@ -0,0 +1,458 @@ +/// This packet is sent from provider chain to consumer chain if the validator +/// set for consumer chain changes (due to new bonding/unbonding messages or +/// slashing events) A VSCMatured packet from consumer chain will be sent +/// asynchronously once unbonding period is over, and this will function as +/// `UnbondingOver` message for this packet. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ValidatorSetChangePacketData { + #[prost(message, repeated, tag = "1")] + pub validator_updates: ::prost::alloc::vec::Vec< + ::tendermint_proto::abci::ValidatorUpdate, + >, + #[prost(uint64, tag = "2")] + pub valset_update_id: u64, + /// consensus address of consumer chain validators + /// successfully slashed on the provider chain + #[prost(string, repeated, tag = "3")] + pub slash_acks: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ValidatorSetChangePacketData { + const NAME: &'static str = "ValidatorSetChangePacketData"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// This packet is sent from the consumer chain to the provider chain +/// to notify that a VSC packet reached maturity on the consumer chain. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VscMaturedPacketData { + /// the id of the VSC packet that reached maturity + #[prost(uint64, tag = "1")] + pub valset_update_id: u64, +} +impl ::prost::Name for VscMaturedPacketData { + const NAME: &'static str = "VSCMaturedPacketData"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// This packet is sent from the consumer chain to the provider chain +/// to request the slashing of a validator as a result of an infraction +/// committed on the consumer chain. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SlashPacketData { + #[prost(message, optional, tag = "1")] + pub validator: ::core::option::Option<::tendermint_proto::abci::Validator>, + /// map to the infraction block height on the provider + #[prost(uint64, tag = "2")] + pub valset_update_id: u64, + /// tell if the slashing is for a downtime or a double-signing infraction + #[prost( + enumeration = "super::super::super::cosmos::staking::v1beta1::Infraction", + tag = "3" + )] + pub infraction: i32, +} +impl ::prost::Name for SlashPacketData { + const NAME: &'static str = "SlashPacketData"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// ConsumerPacketData contains a consumer packet data and a type tag +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerPacketData { + #[prost(enumeration = "ConsumerPacketDataType", tag = "1")] + pub r#type: i32, + #[prost(oneof = "consumer_packet_data::Data", tags = "2, 3")] + pub data: ::core::option::Option, +} +/// Nested message and enum types in `ConsumerPacketData`. +pub mod consumer_packet_data { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Data { + #[prost(message, tag = "2")] + SlashPacketData(super::SlashPacketData), + #[prost(message, tag = "3")] + VscMaturedPacketData(super::VscMaturedPacketData), + } +} +impl ::prost::Name for ConsumerPacketData { + const NAME: &'static str = "ConsumerPacketData"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// Note this type is used during IBC handshake methods for both the consumer and provider +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HandshakeMetadata { + #[prost(string, tag = "1")] + pub provider_fee_pool_addr: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub version: ::prost::alloc::string::String, +} +impl ::prost::Name for HandshakeMetadata { + const NAME: &'static str = "HandshakeMetadata"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// ConsumerPacketData contains a consumer packet data and a type tag +/// that is compatible with ICS v1 and v2 over the wire. It is not used for internal storage. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerPacketDataV1 { + #[prost(enumeration = "ConsumerPacketDataType", tag = "1")] + pub r#type: i32, + #[prost(oneof = "consumer_packet_data_v1::Data", tags = "2, 3")] + pub data: ::core::option::Option, +} +/// Nested message and enum types in `ConsumerPacketDataV1`. +pub mod consumer_packet_data_v1 { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Data { + #[prost(message, tag = "2")] + SlashPacketData(super::SlashPacketDataV1), + #[prost(message, tag = "3")] + VscMaturedPacketData(super::VscMaturedPacketData), + } +} +impl ::prost::Name for ConsumerPacketDataV1 { + const NAME: &'static str = "ConsumerPacketDataV1"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// This packet is sent from the consumer chain to the provider chain +/// It is backward compatible with the ICS v1 and v2 version of the packet. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SlashPacketDataV1 { + #[prost(message, optional, tag = "1")] + pub validator: ::core::option::Option<::tendermint_proto::abci::Validator>, + /// map to the infraction block height on the provider + #[prost(uint64, tag = "2")] + pub valset_update_id: u64, + /// tell if the slashing is for a downtime or a double-signing infraction + #[prost(enumeration = "InfractionType", tag = "3")] + pub infraction: i32, +} +impl ::prost::Name for SlashPacketDataV1 { + const NAME: &'static str = "SlashPacketDataV1"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// ConsumerPacketType indicates interchain security specific packet types. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ConsumerPacketDataType { + /// UNSPECIFIED packet type + ConsumerPacketTypeUnspecified = 0, + /// Slash packet + ConsumerPacketTypeSlash = 1, + /// VSCMatured packet + ConsumerPacketTypeVscm = 2, +} +impl ConsumerPacketDataType { + /// 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 { + ConsumerPacketDataType::ConsumerPacketTypeUnspecified => { + "CONSUMER_PACKET_TYPE_UNSPECIFIED" + } + ConsumerPacketDataType::ConsumerPacketTypeSlash => { + "CONSUMER_PACKET_TYPE_SLASH" + } + ConsumerPacketDataType::ConsumerPacketTypeVscm => "CONSUMER_PACKET_TYPE_VSCM", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CONSUMER_PACKET_TYPE_UNSPECIFIED" => { + Some(Self::ConsumerPacketTypeUnspecified) + } + "CONSUMER_PACKET_TYPE_SLASH" => Some(Self::ConsumerPacketTypeSlash), + "CONSUMER_PACKET_TYPE_VSCM" => Some(Self::ConsumerPacketTypeVscm), + _ => None, + } + } +} +/// InfractionType indicates the infraction type a validator commited. +/// Note ccv.InfractionType to maintain compatibility between ICS versions +/// using different versions of the cosmos-sdk and ibc-go modules. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum InfractionType { + /// UNSPECIFIED defines an empty infraction type. + Unspecified = 0, + /// DOUBLE_SIGN defines a validator that double-signs a block. + DoubleSign = 1, + /// DOWNTIME defines a validator that missed signing too many blocks. + Downtime = 2, +} +impl InfractionType { + /// 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 { + InfractionType::Unspecified => "INFRACTION_TYPE_UNSPECIFIED", + InfractionType::DoubleSign => "INFRACTION_TYPE_DOUBLE_SIGN", + InfractionType::Downtime => "INFRACTION_TYPE_DOWNTIME", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "INFRACTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "INFRACTION_TYPE_DOUBLE_SIGN" => Some(Self::DoubleSign), + "INFRACTION_TYPE_DOWNTIME" => Some(Self::Downtime), + _ => None, + } + } +} +/// ConsumerParams defines the parameters for CCV consumer module. +/// +/// Note this type is referenced in both the consumer and provider CCV modules, +/// and persisted on the provider, see MakeConsumerGenesis and SetConsumerGenesis. +/// +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerParams { + /// TODO: Remove enabled flag and find a better way to setup integration tests + /// See: + #[prost(bool, tag = "1")] + pub enabled: bool, + /// ///////////////////// + /// Distribution Params + /// Number of blocks between ibc-token-transfers from the consumer chain to + /// the provider chain. Note that at this transmission event a fraction of + /// the accumulated tokens are divided and sent consumer redistribution + /// address. + #[prost(int64, tag = "2")] + pub blocks_per_distribution_transmission: i64, + /// Channel, and provider-chain receiving address to send distribution token + /// transfers over. These parameters is auto-set during the consumer <-> + /// provider handshake procedure. + #[prost(string, tag = "3")] + pub distribution_transmission_channel: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub provider_fee_pool_addr_str: ::prost::alloc::string::String, + /// Sent CCV related IBC packets will timeout after this duration + #[prost(message, optional, tag = "5")] + pub ccv_timeout_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, + /// Sent transfer related IBC packets will timeout after this duration + #[prost(message, optional, tag = "6")] + pub transfer_timeout_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, + /// The fraction of tokens allocated to the consumer redistribution address + /// during distribution events. The fraction is a string representing a + /// decimal number. For example "0.75" would represent 75%. + #[prost(string, tag = "7")] + pub consumer_redistribution_fraction: ::prost::alloc::string::String, + /// The number of historical info entries to persist in store. + /// This param is a part of the cosmos sdk staking module. In the case of + /// a ccv enabled consumer chain, the ccv module acts as the staking module. + #[prost(int64, tag = "8")] + pub historical_entries: i64, + /// Unbonding period for the consumer, + /// which should be smaller than that of the provider in general. + #[prost(message, optional, tag = "9")] + pub unbonding_period: ::core::option::Option< + super::super::super::google::protobuf::Duration, + >, + /// The threshold for the percentage of validators at the bottom of the set who + /// can opt out of running the consumer chain without being punished. For + /// example, a value of 0.05 means that the validators in the bottom 5% of the + /// set can opt out + #[prost(string, tag = "10")] + pub soft_opt_out_threshold: ::prost::alloc::string::String, + /// Reward denoms. These are the denominations which are allowed to be sent to + /// the provider as rewards. + #[prost(string, repeated, tag = "11")] + pub reward_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// Provider-originated reward denoms. These are denoms coming from the + /// provider which are allowed to be used as rewards. e.g. "uatom" + #[prost(string, repeated, tag = "12")] + pub provider_reward_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +impl ::prost::Name for ConsumerParams { + const NAME: &'static str = "ConsumerParams"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// ConsumerGenesisState defines the CCV consumer chain genesis state. +/// +/// Note this type is referenced in both the consumer and provider CCV modules, +/// and persisted on the provider, see MakeConsumerGenesis and SetConsumerGenesis. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerGenesisState { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// empty for a new chain, filled in on restart. + #[prost(string, tag = "2")] + pub provider_client_id: ::prost::alloc::string::String, + /// empty for a new chain, filled in on restart. + #[prost(string, tag = "3")] + pub provider_channel_id: ::prost::alloc::string::String, + /// true for new chain, false for chain restart. + #[prost(bool, tag = "4")] + pub new_chain: bool, + /// ProviderClientState filled in on new chain, nil on restart. + #[prost(message, optional, tag = "5")] + pub provider_client_state: ::core::option::Option< + super::super::super::ibc::lightclients::tendermint::v1::ClientState, + >, + /// ProviderConsensusState filled in on new chain, nil on restart. + #[prost(message, optional, tag = "6")] + pub provider_consensus_state: ::core::option::Option< + super::super::super::ibc::lightclients::tendermint::v1::ConsensusState, + >, + /// MaturingPackets nil on new chain, filled in on restart. + #[prost(message, repeated, tag = "7")] + pub maturing_packets: ::prost::alloc::vec::Vec, + /// InitialValset filled in on new chain and on restart. + #[prost(message, repeated, tag = "8")] + pub initial_val_set: ::prost::alloc::vec::Vec< + ::tendermint_proto::abci::ValidatorUpdate, + >, + /// HeightToValsetUpdateId nil on new chain, filled in on restart. + #[prost(message, repeated, tag = "9")] + pub height_to_valset_update_id: ::prost::alloc::vec::Vec, + /// OutstandingDowntimes nil on new chain, filled in on restart. + #[prost(message, repeated, tag = "10")] + pub outstanding_downtime_slashing: ::prost::alloc::vec::Vec, + /// PendingConsumerPackets nil on new chain, filled in on restart. + #[prost(message, optional, tag = "11")] + pub pending_consumer_packets: ::core::option::Option, + /// LastTransmissionBlockHeight nil on new chain, filled in on restart. + #[prost(message, optional, tag = "12")] + pub last_transmission_block_height: ::core::option::Option< + LastTransmissionBlockHeight, + >, + /// flag indicating whether the consumer CCV module starts in + #[prost(bool, tag = "13")] + pub pre_ccv: bool, +} +impl ::prost::Name for ConsumerGenesisState { + const NAME: &'static str = "ConsumerGenesisState"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// HeightValsetUpdateID represents a mapping internal to the consumer CCV module +/// AND used in shared consumer genesis state, which links a block height to each recv valset update id. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HeightToValsetUpdateId { + #[prost(uint64, tag = "1")] + pub height: u64, + #[prost(uint64, tag = "2")] + pub valset_update_id: u64, +} +impl ::prost::Name for HeightToValsetUpdateId { + const NAME: &'static str = "HeightToValsetUpdateID"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// OutstandingDowntime defines the type used internally to the consumer CCV module, +/// AND used in shared consumer genesis state, in order to not send multiple slashing +/// requests for the same downtime infraction. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OutstandingDowntime { + #[prost(string, tag = "1")] + pub validator_consensus_address: ::prost::alloc::string::String, +} +impl ::prost::Name for OutstandingDowntime { + const NAME: &'static str = "OutstandingDowntime"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// LastTransmissionBlockHeight is the last time validator holding +/// pools were transmitted to the provider chain. This type is used internally +/// to the consumer CCV module AND used in shared consumer genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LastTransmissionBlockHeight { + #[prost(int64, tag = "1")] + pub height: i64, +} +impl ::prost::Name for LastTransmissionBlockHeight { + const NAME: &'static str = "LastTransmissionBlockHeight"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// MaturingVSCPacket represents a vsc packet that is maturing internal to the +/// consumer CCV module, where the consumer has not yet relayed a VSCMatured packet +/// back to the provider. This type is used internally to the consumer CCV module +/// AND used in shared consumer genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MaturingVscPacket { + #[prost(uint64, tag = "1")] + pub vsc_id: u64, + #[prost(message, optional, tag = "2")] + pub maturity_time: ::core::option::Option< + super::super::super::google::protobuf::Timestamp, + >, +} +impl ::prost::Name for MaturingVscPacket { + const NAME: &'static str = "MaturingVSCPacket"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} +/// ConsumerPacketDataList is a list of consumer packet data packets. +/// +/// Note this type is is used internally to the consumer CCV module +/// for exporting / importing state in InitGenesis and ExportGenesis, +/// AND included in the consumer genesis type (reffed by provider and consumer modules), +/// hence this is a shared type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumerPacketDataList { + #[prost(message, repeated, tag = "1")] + pub list: ::prost::alloc::vec::Vec, +} +impl ::prost::Name for ConsumerPacketDataList { + const NAME: &'static str = "ConsumerPacketDataList"; + const PACKAGE: &'static str = "interchain_security.ccv.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("interchain_security.ccv.v1.{}", Self::NAME) + } +} diff --git a/src/prost/proto_descriptor.bin b/src/prost/proto_descriptor.bin new file mode 100644 index 0000000000000000000000000000000000000000..bb1bdf04b84fa0804aba2499b430697819814b7f GIT binary patch literal 702918 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%0D_t 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�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, + #[prost(message, optional, tag = "4")] + pub proof_ops: ::core::option::Option<::tendermint_proto::crypto::ProofOps>, + #[prost(int64, tag = "5")] + pub height: i64, + #[prost(string, tag = "6")] + pub from_address: ::prost::alloc::string::String, +} +impl ::prost::Name for MsgSubmitQueryResponse { + const NAME: &'static str = "MsgSubmitQueryResponse"; + const PACKAGE: &'static str = "stride.interchainquery.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("stride.interchainquery.v1.{}", Self::NAME) + } +} +/// MsgSubmitQueryResponseResponse defines the MsgSubmitQueryResponse response +/// type. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MsgSubmitQueryResponseResponse {} +impl ::prost::Name for MsgSubmitQueryResponseResponse { + const NAME: &'static str = "MsgSubmitQueryResponseResponse"; + const PACKAGE: &'static str = "stride.interchainquery.v1"; + fn full_name() -> ::prost::alloc::string::String { + ::prost::alloc::format!("stride.interchainquery.v1.{}", Self::NAME) + } +} +/// Generated client implementations. +#[cfg(feature = "client")] +pub mod msg_client { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + use tonic::codegen::http::Uri; + /// Msg defines the interchainquery Msg service. + #[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 + } + /// SubmitQueryResponse defines a method for submit query responses. + pub async fn submit_query_response( + &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( + "/stride.interchainquery.v1.Msg/SubmitQueryResponse", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "stride.interchainquery.v1.Msg", + "SubmitQueryResponse", + ), + ); + self.inner.unary(req, path, codec).await + } + } +} +/// Generated server implementations. +#[cfg(feature = "server")] +pub mod msg_server { + #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] + use tonic::codegen::*; + /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. + #[async_trait] + pub trait Msg: Send + Sync + 'static { + /// SubmitQueryResponse defines a method for submit query responses. + async fn submit_query_response( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + } + /// Msg defines the interchainquery Msg service. + #[derive(Debug)] + pub struct MsgServer { + inner: _Inner, + accept_compression_encodings: EnabledCompressionEncodings, + send_compression_encodings: EnabledCompressionEncodings, + max_decoding_message_size: Option, + max_encoding_message_size: Option, + } + struct _Inner(Arc); + impl MsgServer { + pub fn new(inner: T) -> Self { + Self::from_arc(Arc::new(inner)) + } + pub fn from_arc(inner: Arc) -> Self { + let inner = _Inner(inner); + Self { + inner, + accept_compression_encodings: Default::default(), + send_compression_encodings: Default::default(), + max_decoding_message_size: None, + max_encoding_message_size: None, + } + } + pub fn with_interceptor( + inner: T, + interceptor: F, + ) -> InterceptedService + where + F: tonic::service::Interceptor, + { + InterceptedService::new(Self::new(inner), interceptor) + } + /// Enable decompressing requests with the given encoding. + #[must_use] + pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.accept_compression_encodings.enable(encoding); + self + } + /// Compress responses with the given encoding, if the client supports it. + #[must_use] + pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { + self.send_compression_encodings.enable(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.max_decoding_message_size = Some(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.max_encoding_message_size = Some(limit); + self + } + } + impl tonic::codegen::Service> for MsgServer + where + T: Msg, + B: Body + Send + 'static, + B::Error: Into + Send + 'static, + { + type Response = http::Response; + type Error = std::convert::Infallible; + type Future = BoxFuture; + fn poll_ready( + &mut self, + _cx: &mut Context<'_>, + ) -> Poll> { + Poll::Ready(Ok(())) + } + fn call(&mut self, req: http::Request) -> Self::Future { + let inner = self.inner.clone(); + match req.uri().path() { + "/stride.interchainquery.v1.Msg/SubmitQueryResponse" => { + #[allow(non_camel_case_types)] + struct SubmitQueryResponseSvc(pub Arc); + impl< + T: Msg, + > tonic::server::UnaryService + for SubmitQueryResponseSvc { + type Response = super::MsgSubmitQueryResponseResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::submit_query_response(&inner, request).await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let inner = inner.0; + let method = SubmitQueryResponseSvc(inner); + let codec = tonic::codec::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + _ => { + Box::pin(async move { + Ok( + http::Response::builder() + .status(200) + .header("grpc-status", "12") + .header("content-type", "application/grpc") + .body(empty_body()) + .unwrap(), + ) + }) + } + } + } + } + impl Clone for MsgServer { + fn clone(&self) -> Self { + let inner = self.inner.clone(); + Self { + inner, + accept_compression_encodings: self.accept_compression_encodings, + send_compression_encodings: self.send_compression_encodings, + max_decoding_message_size: self.max_decoding_message_size, + max_encoding_message_size: self.max_encoding_message_size, + } + } + } + impl Clone for _Inner { + fn clone(&self) -> Self { + Self(Arc::clone(&self.0)) + } + } + impl std::fmt::Debug for _Inner { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{:?}", self.0) + } + } + impl tonic::server::NamedService for MsgServer { + const NAME: &'static str = "stride.interchainquery.v1.Msg"; + } +} diff --git a/tests/test_deserialize.rs b/tests/test_deserialize.rs index d45d096d..74a0deae 100644 --- a/tests/test_deserialize.rs +++ b/tests/test_deserialize.rs @@ -1,14 +1,11 @@ use ibc_proto::ibc::core::client::v1::Height; #[test] -fn test_height_err() { +fn test_proto_json_camelcase() { let data = r#" - { - "revisionNumber": "5", - "revisionHeight": "3928271" - } + { "revisionNumber": "5", "revisionHeight": "3928271" } "#; let height: Height = serde_json::from_str(data).unwrap(); - assert_eq!(height.revision_number, 5u64); // 5 != 0 ❌ - assert_eq!(height.revision_height, 3928271u64); // 3928271 != 0 ❌ + assert_eq!(height.revision_number, 5u64); + assert_eq!(height.revision_height, 3928271u64); } diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index 5eed83aa..bcbca4d2 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -44,6 +44,7 @@ impl CompileCmd { process::exit(1); }); + // TODO: put behind feature flag? Self::build_pbjson_impls(self.out.as_ref()) .unwrap_or_else(|e| { eprintln!("[error] failed to build pbjson impls: {}", e); @@ -131,7 +132,8 @@ impl CompileCmd { tonic_build::configure() .build_client(true) .compile_well_known_types(true) - // .extern_path(".google.protobuf", "::pbjson_types") + // Manual impl in google.rs + // .extern_path(".google.protobuf", "::pbjson_types") ❌ .client_mod_attribute(".", r#"#[cfg(feature = "client")]"#) .build_server(true) .server_mod_attribute(".", r#"#[cfg(feature = "server")]"#) @@ -154,6 +156,20 @@ impl CompileCmd { pbjson_build::Builder::new() .register_descriptors(&descriptor_set)? .out_dir(&out_dir) + .exclude([ + // The validator patch is not compatible with protojson builds + ".cosmos.staking.v1beta1.StakeAuthorization", + ".cosmos.staking.v1beta1.ValidatorUpdates", + // TODO: Figure this out and comment back in the `include_proto!()` in lib.rs + // Tendermint proto does not have serde serialization + ".cosmos.base.abci.v1beta1", + ".cosmos.tx.v1beta1", + ".cosmos.base.tendermint.v1beta1", + ".interchain_security.ccv.v1", + ".interchain_security.ccv.provider.v1", + ".interchain_security.ccv.consumer.v1", + ".stride.interchainquery.v1", + ]) .build(&[".ibc", ".cosmos", ".interchain_security", ".stride", ".google"])?; Ok(()) From 5e9056e8130beaef821cdb7ae16d7c42f9ee746e Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Mon, 11 Dec 2023 11:12:31 -0800 Subject: [PATCH 05/12] in progress --- Cargo.toml | 12 ++-- src/google.rs | 1 + src/lib.rs | 56 ++++++++++++++++--- ...test_deserialize.rs => test_proto_json.rs} | 3 +- tools/proto-compiler/src/cmd/compile.rs | 17 ++++-- 5 files changed, 66 insertions(+), 23 deletions(-) rename tests/{test_deserialize.rs => test_proto_json.rs} (82%) diff --git a/Cargo.toml b/Cargo.toml index 22584734..812ab22a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,13 +32,12 @@ prost = { version = "0.12.3", default-features = false, features = ["p bytes = { version = "1.2", default-features = false } tonic = { version = "0.10", default-features = false, optional = true } serde = { version = "1.0", default-features = false, optional = true } -schemars = { version = "0.8", optional = true } subtle-encoding = { version = "0.5", default-features = false } base64 = { version = "0.21", default-features = false, features = ["alloc"] } flex-error = { version = "0.4", default-features = false } ics23 = { version = "0.11.0", default-features = false } -pbjson-types = "0.6" -pbjson = "0.6" +pbjson = { version = "0.6.0", default-features = false } +pbjson-types = { version = "0.6.0", default-features = false } ## Optional: enabled by the `parity-scale-codec` feature parity-scale-codec = { version = "3.0.0", default-features = false, features = ["full"], optional = true } @@ -48,19 +47,18 @@ scale-info = { version = "2.1.2", default-features = false, features = [ ## For borsh encode or decode, needs to track `anchor-lang` and `near-sdk-rs` borsh version borsh = { version = "0.10", default-features = false, optional = true } -[dev-dependencies] -serde_json = "1.0.107" - [dependencies.tendermint-proto] version = "0.34" default-features = false +[dev-dependencies] +serde_json = "1.0.107" + [features] default = ["std", "client"] std = ["prost/std", "bytes/std", "subtle-encoding/std", "base64/std", "flex-error/std", "ics23/std"] serde = ["dep:serde", "ics23/serde"] client = ["std", "dep:tonic", "tonic/codegen", "tonic/transport", "tonic/prost"] -json-schema = ["std", "serde", "dep:schemars"] server = ["std", "dep:tonic", "tonic/codegen", "tonic/transport", "tonic/prost"] parity-scale-codec = ["dep:parity-scale-codec", "dep:scale-info"] borsh = ["dep:borsh"] diff --git a/src/google.rs b/src/google.rs index 04473d1c..74acb0fb 100644 --- a/src/google.rs +++ b/src/google.rs @@ -1,6 +1,7 @@ pub mod protobuf { use crate::include_proto; include_proto!("google.protobuf.rs"); + #[cfg(feature = "serde")] include_proto!("google.protobuf.serde.rs"); // source: https://github.com/tokio-rs/prost/blob/master/prost-types/src/lib.rs diff --git a/src/lib.rs b/src/lib.rs index de83a387..3a821998 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,8 +3,10 @@ // Todo: automate the creation of this module setup based on the dots in the filenames. // This module setup is necessary because the generated code contains "super::" calls for dependencies. -#![cfg_attr(not(feature = "std"), no_std)] -#![deny(warnings, trivial_casts, trivial_numeric_casts, unused_import_braces)] +#![cfg_attr( + not(feature = "serde"), + deny(warnings, trivial_casts, trivial_numeric_casts, unused_import_braces) +)] #![allow(clippy::large_enum_variant, clippy::derive_partial_eq_without_eq)] #![allow(rustdoc::bare_urls)] #![forbid(unsafe_code)] @@ -43,12 +45,14 @@ pub mod cosmos { pub mod app { pub mod v1alpha1 { include_proto!("cosmos.app.v1alpha1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.app.v1alpha1.serde.rs"); } } pub mod auth { pub mod v1beta1 { include_proto!("cosmos.auth.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.auth.v1beta1.serde.rs"); /// EthAccount defines an Ethermint account. /// TODO: remove when/if a canonical `EthAccount` @@ -66,6 +70,7 @@ pub mod cosmos { pub mod module { pub mod v1 { include_proto!("cosmos.auth.module.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.auth.module.v1.serde.rs"); } } @@ -73,11 +78,13 @@ pub mod cosmos { pub mod staking { pub mod v1beta1 { include_proto!("cosmos.staking.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.staking.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.staking.module.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.staking.module.v1.serde.rs"); } } @@ -85,11 +92,13 @@ pub mod cosmos { pub mod bank { pub mod v1beta1 { include_proto!("cosmos.bank.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.bank.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.bank.module.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.bank.module.v1.serde.rs"); } } @@ -98,46 +107,50 @@ pub mod cosmos { pub mod abci { pub mod v1beta1 { include_proto!("cosmos.base.abci.v1beta1.rs"); - // include_proto!("cosmos.base.abci.v1beta1.serde.rs"); } } pub mod node { pub mod v1beta1 { include_proto!("cosmos.base.node.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.base.node.v1beta1.serde.rs"); } } pub mod query { pub mod v1beta1 { include_proto!("cosmos.base.query.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.base.query.v1beta1.serde.rs"); } } pub mod reflection { pub mod v1beta1 { include_proto!("cosmos.base.reflection.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.base.reflection.v1beta1.serde.rs"); } } pub mod v1beta1 { include_proto!("cosmos.base.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.base.v1beta1.serde.rs"); } pub mod tendermint { pub mod v1beta1 { include_proto!("cosmos.base.tendermint.v1beta1.rs"); - // include_proto!("cosmos.base.tendermint.v1beta1.serde.rs"); } } pub mod kv { pub mod v1beta1 { include_proto!("cosmos.base.kv.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.base.kv.v1beta1.serde.rs"); } } pub mod snapshots { pub mod v1beta1 { include_proto!("cosmos.base.snapshots.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.base.snapshots.v1beta1.serde.rs"); } } @@ -146,32 +159,39 @@ pub mod cosmos { pub mod multisig { pub mod v1beta1 { include_proto!("cosmos.crypto.multisig.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.multisig.v1beta1.serde.rs"); } include_proto!("cosmos.crypto.multisig.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.multisig.serde.rs"); } pub mod ed25519 { include_proto!("cosmos.crypto.ed25519.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.ed25519.serde.rs"); } pub mod secp256k1 { include_proto!("cosmos.crypto.secp256k1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.secp256k1.serde.rs"); } pub mod secp256r1 { include_proto!("cosmos.crypto.secp256r1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.secp256r1.serde.rs"); } pub mod keyring { pub mod v1 { include_proto!("cosmos.crypto.keyring.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.keyring.v1.serde.rs"); } } pub mod hd { pub mod v1 { include_proto!("cosmos.crypto.hd.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.crypto.hd.v1.serde.rs"); } } @@ -180,28 +200,31 @@ pub mod cosmos { pub mod config { pub mod v1 { include_proto!("cosmos.tx.config.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.tx.config.v1.serde.rs"); } } pub mod signing { pub mod v1beta1 { include_proto!("cosmos.tx.signing.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.tx.signing.v1beta1.serde.rs"); } } pub mod v1beta1 { include_proto!("cosmos.tx.v1beta1.rs"); - // include_proto!("cosmos.tx.v1beta1.serde.rs"); } } pub mod upgrade { pub mod v1beta1 { include_proto!("cosmos.upgrade.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.upgrade.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.upgrade.module.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.upgrade.module.v1.serde.rs"); } } @@ -209,15 +232,18 @@ pub mod cosmos { pub mod gov { pub mod v1 { include_proto!("cosmos.gov.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.gov.v1.serde.rs"); } pub mod v1beta1 { include_proto!("cosmos.gov.v1beta1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.gov.v1beta1.serde.rs"); } pub mod module { pub mod v1 { include_proto!("cosmos.gov.module.v1.rs"); + #[cfg(feature = "serde")] include_proto!("cosmos.gov.module.v1.serde.rs"); } } @@ -236,33 +262,39 @@ pub mod ibc { pub mod transfer { pub mod v1 { include_proto!("ibc.applications.transfer.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.applications.transfer.v1.serde.rs"); } pub mod v2 { include_proto!("ibc.applications.transfer.v2.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.applications.transfer.v2.serde.rs"); } } pub mod fee { pub mod v1 { include_proto!("ibc.applications.fee.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.applications.fee.v1.serde.rs"); } } pub mod interchain_accounts { pub mod v1 { include_proto!("ibc.applications.interchain_accounts.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.applications.interchain_accounts.v1.serde.rs"); } pub mod controller { pub mod v1 { include_proto!("ibc.applications.interchain_accounts.controller.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.applications.interchain_accounts.controller.v1.serde.rs"); } } pub mod host { pub mod v1 { include_proto!("ibc.applications.interchain_accounts.host.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.applications.interchain_accounts.host.v1.serde.rs"); } } @@ -272,30 +304,35 @@ pub mod ibc { pub mod channel { pub mod v1 { include_proto!("ibc.core.channel.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.core.channel.v1.serde.rs"); } } pub mod client { pub mod v1 { include_proto!("ibc.core.client.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.core.client.v1.serde.rs"); } } pub mod commitment { pub mod v1 { include_proto!("ibc.core.commitment.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.core.commitment.v1.serde.rs"); } } pub mod connection { pub mod v1 { include_proto!("ibc.core.connection.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.core.connection.v1.serde.rs"); } } pub mod types { pub mod v1 { include_proto!("ibc.core.types.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.core.types.v1.serde.rs"); } } @@ -304,28 +341,33 @@ pub mod ibc { pub mod localhost { pub mod v1 { include_proto!("ibc.lightclients.localhost.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.lightclients.localhost.v1.serde.rs"); } pub mod v2 { include_proto!("ibc.lightclients.localhost.v2.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.lightclients.localhost.v2.serde.rs"); } } pub mod solomachine { pub mod v3 { include_proto!("ibc.lightclients.solomachine.v3.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.lightclients.solomachine.v3.serde.rs"); } } pub mod tendermint { pub mod v1 { include_proto!("ibc.lightclients.tendermint.v1.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.lightclients.tendermint.v1.serde.rs"); } } } pub mod mock { include_proto!("ibc.mock.rs"); + #[cfg(feature = "serde")] include_proto!("ibc.mock.serde.rs"); } } @@ -338,18 +380,15 @@ pub mod interchain_security { #[allow(clippy::match_single_binding)] pub mod v1 { include_proto!("interchain_security.ccv.v1.rs"); - // include_proto!("interchain_security.ccv.v1.serde.rs"); } pub mod provider { pub mod v1 { include_proto!("interchain_security.ccv.provider.v1.rs"); - // include_proto!("interchain_security.ccv.provider.v1.serde.rs"); } } pub mod consumer { pub mod v1 { include_proto!("interchain_security.ccv.consumer.v1.rs"); - // include_proto!("interchain_security.ccv.consumer.v1.serde.rs"); } } } @@ -359,7 +398,6 @@ pub mod stride { pub mod interchainquery { pub mod v1 { include_proto!("stride.interchainquery.v1.rs"); - // include_proto!("stride.interchainquery.v1.serde.rs"); } } } diff --git a/tests/test_deserialize.rs b/tests/test_proto_json.rs similarity index 82% rename from tests/test_deserialize.rs rename to tests/test_proto_json.rs index 74a0deae..44593e3f 100644 --- a/tests/test_deserialize.rs +++ b/tests/test_proto_json.rs @@ -1,7 +1,8 @@ use ibc_proto::ibc::core::client::v1::Height; +#[cfg(feature = "serde")] #[test] -fn test_proto_json_camelcase() { +fn test_proto_json_deserialization() { let data = r#" { "revisionNumber": "5", "revisionHeight": "3928271" } "#; diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index bcbca4d2..ba7ca5a9 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -45,11 +45,10 @@ impl CompileCmd { }); // TODO: put behind feature flag? - Self::build_pbjson_impls(self.out.as_ref()) - .unwrap_or_else(|e| { - eprintln!("[error] failed to build pbjson impls: {}", e); - process::exit(1); - }); + Self::build_pbjson_impls(self.out.as_ref()).unwrap_or_else(|e| { + eprintln!("[error] failed to build pbjson impls: {}", e); + process::exit(1); + }); println!("[info ] Done!"); } @@ -170,7 +169,13 @@ impl CompileCmd { ".interchain_security.ccv.consumer.v1", ".stride.interchainquery.v1", ]) - .build(&[".ibc", ".cosmos", ".interchain_security", ".stride", ".google"])?; + .build(&[ + ".ibc", + ".cosmos", + ".interchain_security", + ".stride", + ".google", + ])?; Ok(()) } From 77aec0fdd882c5cf966378e430854c23ff46ca4e Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Tue, 12 Dec 2023 17:58:14 -0800 Subject: [PATCH 06/12] update deps --- Cargo.toml | 1 - tests/test_proto_json.rs | 1 + tools/proto-compiler/Cargo.toml | 15 +++++++-------- tools/proto-compiler/src/cmd/compile.rs | 11 +++-------- 4 files changed, 11 insertions(+), 17 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 812ab22a..0d9fa75f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,6 @@ base64 = { version = "0.21", default-features = false, features = ["all flex-error = { version = "0.4", default-features = false } ics23 = { version = "0.11.0", default-features = false } pbjson = { version = "0.6.0", default-features = false } -pbjson-types = { version = "0.6.0", default-features = false } ## Optional: enabled by the `parity-scale-codec` feature parity-scale-codec = { version = "3.0.0", default-features = false, features = ["full"], optional = true } diff --git a/tests/test_proto_json.rs b/tests/test_proto_json.rs index 44593e3f..153f18d3 100644 --- a/tests/test_proto_json.rs +++ b/tests/test_proto_json.rs @@ -1,3 +1,4 @@ +#[cfg(feature = "serde")] use ibc_proto::ibc::core::client::v1::Height; #[cfg(feature = "serde")] diff --git a/tools/proto-compiler/Cargo.toml b/tools/proto-compiler/Cargo.toml index c35164e4..95272354 100644 --- a/tools/proto-compiler/Cargo.toml +++ b/tools/proto-compiler/Cargo.toml @@ -7,12 +7,11 @@ publish = false rust-version = "1.60" [dependencies] -git2 = "0.18" -prost-build = "0.12" -walkdir = "2.3" -argh = "0.1" -tonic = "0.10" -tonic-build = "0.10" -similar = "2.2" -pbjson = "0.6" +git2 = "0.18" +prost-build = "0.12" +walkdir = "2.3" +argh = "0.1" +tonic = "0.10" +tonic-build = "0.10" +similar = "2.2" pbjson-build = "0.6" diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index ba7ca5a9..aaf6df71 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -44,7 +44,6 @@ impl CompileCmd { process::exit(1); }); - // TODO: put behind feature flag? Self::build_pbjson_impls(self.out.as_ref()).unwrap_or_else(|e| { eprintln!("[error] failed to build pbjson impls: {}", e); process::exit(1); @@ -126,18 +125,14 @@ impl CompileCmd { let mut config = prost_build::Config::new(); config.enable_type_names(); - let descriptor_set_path = out_dir.join("proto_descriptor.bin"); - tonic_build::configure() .build_client(true) .compile_well_known_types(true) - // Manual impl in google.rs - // .extern_path(".google.protobuf", "::pbjson_types") ❌ .client_mod_attribute(".", r#"#[cfg(feature = "client")]"#) .build_server(true) .server_mod_attribute(".", r#"#[cfg(feature = "server")]"#) .out_dir(out_dir) - .file_descriptor_set_path(descriptor_set_path.clone()) + .file_descriptor_set_path(out_dir.join("proto_descriptor.bin")) .extern_path(".tendermint", "::tendermint_proto") .extern_path(".ics23", "::ics23") .compile_with_config(config, &protos, &includes)?; @@ -159,8 +154,8 @@ impl CompileCmd { // The validator patch is not compatible with protojson builds ".cosmos.staking.v1beta1.StakeAuthorization", ".cosmos.staking.v1beta1.ValidatorUpdates", - // TODO: Figure this out and comment back in the `include_proto!()` in lib.rs - // Tendermint proto does not have serde serialization + // TODO: These have dependencies on tendermint-proto, which does not implement protojson. + // After it's implemented there, we can delete these exclusions. ".cosmos.base.abci.v1beta1", ".cosmos.tx.v1beta1", ".cosmos.base.tendermint.v1beta1", From 8f47dbc430bd7e1aabfd1396f142f3b3d856857f Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Tue, 12 Dec 2023 18:03:29 -0800 Subject: [PATCH 07/12] Add eq/ord type attrs back --- src/prost/google.protobuf.rs | 2 ++ src/prost/ibc.core.client.v1.rs | 1 + tools/proto-compiler/src/cmd/compile.rs | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/src/prost/google.protobuf.rs b/src/prost/google.protobuf.rs index fbc92b35..e64380dd 100644 --- a/src/prost/google.protobuf.rs +++ b/src/prost/google.protobuf.rs @@ -81,6 +81,7 @@ /// "value": "1.212s" /// } /// +#[derive(Eq)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Any { @@ -1642,6 +1643,7 @@ impl ::prost::Name for Timestamp { /// microsecond should be expressed in JSON format as "3.000001s". /// /// +#[derive(Eq)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Duration { diff --git a/src/prost/ibc.core.client.v1.rs b/src/prost/ibc.core.client.v1.rs index 843e9a59..1aa4a5f2 100644 --- a/src/prost/ibc.core.client.v1.rs +++ b/src/prost/ibc.core.client.v1.rs @@ -69,6 +69,7 @@ impl ::prost::Name for ClientConsensusStates { /// breaking changes In these cases, the RevisionNumber is incremented so that /// height continues to be monitonically increasing even as the RevisionHeight /// gets reset +#[derive(Eq, PartialOrd, Ord)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Height { diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index aaf6df71..c7c82d5e 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -121,6 +121,9 @@ impl CompileCmd { // List available paths for dependencies let includes: Vec = proto_includes_paths.iter().map(PathBuf::from).collect(); + let attrs_ord = "#[derive(Eq, PartialOrd, Ord)]"; + let attrs_eq = "#[derive(Eq)]"; + // Automatically derive a `prost::Name` implementation. let mut config = prost_build::Config::new(); config.enable_type_names(); @@ -135,6 +138,9 @@ impl CompileCmd { .file_descriptor_set_path(out_dir.join("proto_descriptor.bin")) .extern_path(".tendermint", "::tendermint_proto") .extern_path(".ics23", "::ics23") + .type_attribute(".google.protobuf.Any", attrs_eq) + .type_attribute(".google.protobuf.Duration", attrs_eq) + .type_attribute(".ibc.core.client.v1.Height", attrs_ord) .compile_with_config(config, &protos, &includes)?; println!("[info ] Protos compiled successfully"); From 2b072186af9c329727183de07b3287c078744e30 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Mon, 18 Dec 2023 13:54:58 -0800 Subject: [PATCH 08/12] Using informal pbjson fork --- Cargo.toml | 20 +- src/prost/cosmos.app.v1alpha1.serde.rs | 60 +- src/prost/cosmos.auth.module.v1.serde.rs | 42 +- src/prost/cosmos.auth.v1beta1.serde.rs | 545 +++--- src/prost/cosmos.bank.module.v1.serde.rs | 20 +- src/prost/cosmos.bank.v1beta1.serde.rs | 814 ++++----- src/prost/cosmos.base.kv.v1beta1.serde.rs | 40 +- src/prost/cosmos.base.node.v1beta1.serde.rs | 36 +- src/prost/cosmos.base.query.v1beta1.serde.rs | 57 +- .../cosmos.base.reflection.v1beta1.serde.rs | 72 +- .../cosmos.base.reflection.v2alpha1.serde.rs | 498 +++--- .../cosmos.base.snapshots.v1beta1.serde.rs | 206 ++- src/prost/cosmos.base.store.v1beta1.serde.rs | 143 +- src/prost/cosmos.base.v1beta1.serde.rs | 76 +- src/prost/cosmos.crypto.ed25519.serde.rs | 38 +- src/prost/cosmos.crypto.hd.v1.serde.rs | 26 +- src/prost/cosmos.crypto.keyring.v1.serde.rs | 100 +- src/prost/cosmos.crypto.multisig.serde.rs | 20 +- .../cosmos.crypto.multisig.v1beta1.serde.rs | 41 +- src/prost/cosmos.crypto.secp256k1.serde.rs | 38 +- src/prost/cosmos.crypto.secp256r1.serde.rs | 38 +- src/prost/cosmos.gov.module.v1.serde.rs | 23 +- src/prost/cosmos.gov.v1.serde.rs | 914 +++++----- src/prost/cosmos.gov.v1beta1.serde.rs | 807 +++++---- src/prost/cosmos.ics23.v1.serde.rs | 364 ++-- src/prost/cosmos.staking.module.v1.serde.rs | 20 +- src/prost/cosmos.staking.v1beta1.serde.rs | 1456 ++++++++-------- src/prost/cosmos.tx.config.v1.serde.rs | 20 +- src/prost/cosmos.tx.signing.v1beta1.serde.rs | 126 +- src/prost/cosmos.upgrade.module.v1.serde.rs | 18 +- src/prost/cosmos.upgrade.v1beta1.serde.rs | 355 ++-- src/prost/google.api.serde.rs | 76 +- src/prost/google.protobuf.serde.rs | 890 +++++----- src/prost/ibc.applications.fee.v1.serde.rs | 797 +++++---- ...interchain_accounts.controller.v1.serde.rs | 220 ++- ...ns.interchain_accounts.genesis.v1.serde.rs | 114 +- ...tions.interchain_accounts.host.v1.serde.rs | 94 +- ...plications.interchain_accounts.v1.serde.rs | 111 +- .../ibc.applications.transfer.v1.serde.rs | 420 +++-- .../ibc.applications.transfer.v2.serde.rs | 26 +- src/prost/ibc.core.channel.v1.serde.rs | 1463 ++++++++--------- src/prost/ibc.core.client.v1.serde.rs | 867 +++++----- src/prost/ibc.core.commitment.v1.serde.rs | 74 +- src/prost/ibc.core.connection.v1.serde.rs | 721 ++++---- src/prost/ibc.core.types.v1.serde.rs | 22 +- .../ibc.lightclients.localhost.v1.serde.rs | 20 +- .../ibc.lightclients.localhost.v2.serde.rs | 18 +- .../ibc.lightclients.solomachine.v2.serde.rs | 415 +++-- .../ibc.lightclients.solomachine.v3.serde.rs | 211 ++- .../ibc.lightclients.tendermint.v1.serde.rs | 133 +- src/prost/ibc.mock.serde.rs | 81 +- tools/proto-compiler/Cargo.toml | 16 +- 52 files changed, 6818 insertions(+), 7004 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0d9fa75f..72c24ebc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -28,15 +28,15 @@ doctest = false all-features = true [dependencies] -prost = { version = "0.12.3", default-features = false, features = ["prost-derive"] } -bytes = { version = "1.2", default-features = false } -tonic = { version = "0.10", default-features = false, optional = true } -serde = { version = "1.0", default-features = false, optional = true } -subtle-encoding = { version = "0.5", default-features = false } -base64 = { version = "0.21", default-features = false, features = ["alloc"] } -flex-error = { version = "0.4", default-features = false } -ics23 = { version = "0.11.0", default-features = false } -pbjson = { version = "0.6.0", default-features = false } +prost = { version = "0.12.3", default-features = false, features = ["prost-derive"] } +bytes = { version = "1.2", default-features = false } +tonic = { version = "0.10", default-features = false, optional = true } +serde = { version = "1.0", default-features = false, optional = true } +subtle-encoding = { version = "0.5", default-features = false } +base64 = { version = "0.21", default-features = false, features = ["alloc"] } +flex-error = { version = "0.4", default-features = false } +ics23 = { version = "0.11.0", default-features = false } +informalsystems-pbjson = { version = "0.6.0", optional = true, default-features = false } ## Optional: enabled by the `parity-scale-codec` feature parity-scale-codec = { version = "3.0.0", default-features = false, features = ["full"], optional = true } @@ -56,7 +56,7 @@ serde_json = "1.0.107" [features] default = ["std", "client"] std = ["prost/std", "bytes/std", "subtle-encoding/std", "base64/std", "flex-error/std", "ics23/std"] -serde = ["dep:serde", "ics23/serde"] +serde = ["dep:serde", "ics23/serde", "informalsystems-pbjson"] client = ["std", "dep:tonic", "tonic/codegen", "tonic/transport", "tonic/prost"] server = ["std", "dep:tonic", "tonic/codegen", "tonic/transport", "tonic/prost"] parity-scale-codec = ["dep:parity-scale-codec", "dep:scale-info"] diff --git a/src/prost/cosmos.app.v1alpha1.serde.rs b/src/prost/cosmos.app.v1alpha1.serde.rs index 9b96f35a..c02a8973 100644 --- a/src/prost/cosmos.app.v1alpha1.serde.rs +++ b/src/prost/cosmos.app.v1alpha1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for MigrateFromInfo { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for MigrateFromInfo { } impl<'de> serde::Deserialize<'de> for MigrateFromInfo { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -31,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for MigrateFromInfo { Module, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for MigrateFromInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -62,22 +62,22 @@ impl<'de> serde::Deserialize<'de> for MigrateFromInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MigrateFromInfo; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.app.v1alpha1.MigrateFromInfo") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut module__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Module => { if module__.is_some() { return Err(serde::de::Error::duplicate_field("module")); } - module__ = Some(map_.next_value()?); + module__ = Some(map.next_value()?); } } } @@ -91,7 +91,7 @@ impl<'de> serde::Deserialize<'de> for MigrateFromInfo { } impl serde::Serialize for ModuleDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -121,7 +121,7 @@ impl serde::Serialize for ModuleDescriptor { } impl<'de> serde::Deserialize<'de> for ModuleDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -141,7 +141,7 @@ impl<'de> serde::Deserialize<'de> for ModuleDescriptor { CanMigrateFrom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -150,12 +150,12 @@ impl<'de> serde::Deserialize<'de> for ModuleDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -174,36 +174,36 @@ impl<'de> serde::Deserialize<'de> for ModuleDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ModuleDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.app.v1alpha1.ModuleDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut go_import__ = None; let mut use_package__ = None; let mut can_migrate_from__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::GoImport => { if go_import__.is_some() { return Err(serde::de::Error::duplicate_field("goImport")); } - go_import__ = Some(map_.next_value()?); + go_import__ = Some(map.next_value()?); } GeneratedField::UsePackage => { if use_package__.is_some() { return Err(serde::de::Error::duplicate_field("usePackage")); } - use_package__ = Some(map_.next_value()?); + use_package__ = Some(map.next_value()?); } GeneratedField::CanMigrateFrom => { if can_migrate_from__.is_some() { return Err(serde::de::Error::duplicate_field("canMigrateFrom")); } - can_migrate_from__ = Some(map_.next_value()?); + can_migrate_from__ = Some(map.next_value()?); } } } @@ -219,7 +219,7 @@ impl<'de> serde::Deserialize<'de> for ModuleDescriptor { } impl serde::Serialize for PackageReference { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -243,7 +243,7 @@ impl serde::Serialize for PackageReference { } impl<'de> serde::Deserialize<'de> for PackageReference { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -258,7 +258,7 @@ impl<'de> serde::Deserialize<'de> for PackageReference { Revision, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -267,12 +267,12 @@ impl<'de> serde::Deserialize<'de> for PackageReference { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -290,30 +290,30 @@ impl<'de> serde::Deserialize<'de> for PackageReference { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PackageReference; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.app.v1alpha1.PackageReference") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut revision__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Revision => { if revision__.is_some() { return Err(serde::de::Error::duplicate_field("revision")); } revision__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.auth.module.v1.serde.rs b/src/prost/cosmos.auth.module.v1.serde.rs index d9c2aa73..dff1b5de 100644 --- a/src/prost/cosmos.auth.module.v1.serde.rs +++ b/src/prost/cosmos.auth.module.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Module { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -30,7 +30,7 @@ impl serde::Serialize for Module { } impl<'de> serde::Deserialize<'de> for Module { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,7 +49,7 @@ impl<'de> serde::Deserialize<'de> for Module { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -58,12 +58,12 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -82,36 +82,36 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Module; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.module.v1.Module") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut bech32_prefix__ = None; let mut module_account_permissions__ = None; let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Bech32Prefix => { if bech32_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("bech32Prefix")); } - bech32_prefix__ = Some(map_.next_value()?); + bech32_prefix__ = Some(map.next_value()?); } GeneratedField::ModuleAccountPermissions => { if module_account_permissions__.is_some() { return Err(serde::de::Error::duplicate_field("moduleAccountPermissions")); } - module_account_permissions__ = Some(map_.next_value()?); + module_account_permissions__ = Some(map.next_value()?); } GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } @@ -127,7 +127,7 @@ impl<'de> serde::Deserialize<'de> for Module { } impl serde::Serialize for ModuleAccountPermission { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -151,7 +151,7 @@ impl serde::Serialize for ModuleAccountPermission { } impl<'de> serde::Deserialize<'de> for ModuleAccountPermission { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -166,7 +166,7 @@ impl<'de> serde::Deserialize<'de> for ModuleAccountPermission { Permissions, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -175,12 +175,12 @@ impl<'de> serde::Deserialize<'de> for ModuleAccountPermission { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -198,29 +198,29 @@ impl<'de> serde::Deserialize<'de> for ModuleAccountPermission { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ModuleAccountPermission; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.module.v1.ModuleAccountPermission") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut account__ = None; let mut permissions__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Account => { if account__.is_some() { return Err(serde::de::Error::duplicate_field("account")); } - account__ = Some(map_.next_value()?); + account__ = Some(map.next_value()?); } GeneratedField::Permissions => { if permissions__.is_some() { return Err(serde::de::Error::duplicate_field("permissions")); } - permissions__ = Some(map_.next_value()?); + permissions__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.auth.v1beta1.serde.rs b/src/prost/cosmos.auth.v1beta1.serde.rs index cdb25c1a..d5929637 100644 --- a/src/prost/cosmos.auth.v1beta1.serde.rs +++ b/src/prost/cosmos.auth.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for AddressBytesToStringRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -11,7 +11,6 @@ impl serde::Serialize for AddressBytesToStringRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressBytesToStringRequest", len)?; if !self.address_bytes.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("addressBytes", pbjson::private::base64::encode(&self.address_bytes).as_str())?; } struct_ser.end() @@ -19,7 +18,7 @@ impl serde::Serialize for AddressBytesToStringRequest { } impl<'de> serde::Deserialize<'de> for AddressBytesToStringRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -33,7 +32,7 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringRequest { AddressBytes, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -42,12 +41,12 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -64,23 +63,23 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AddressBytesToStringRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.AddressBytesToStringRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address_bytes__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AddressBytes => { if address_bytes__.is_some() { return Err(serde::de::Error::duplicate_field("addressBytes")); } address_bytes__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -95,7 +94,7 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringRequest { } impl serde::Serialize for AddressBytesToStringResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -113,7 +112,7 @@ impl serde::Serialize for AddressBytesToStringResponse { } impl<'de> serde::Deserialize<'de> for AddressBytesToStringResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -127,7 +126,7 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringResponse { AddressString, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -136,12 +135,12 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -158,22 +157,22 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AddressBytesToStringResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.AddressBytesToStringResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address_string__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AddressString => { if address_string__.is_some() { return Err(serde::de::Error::duplicate_field("addressString")); } - address_string__ = Some(map_.next_value()?); + address_string__ = Some(map.next_value()?); } } } @@ -187,7 +186,7 @@ impl<'de> serde::Deserialize<'de> for AddressBytesToStringResponse { } impl serde::Serialize for AddressStringToBytesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -205,7 +204,7 @@ impl serde::Serialize for AddressStringToBytesRequest { } impl<'de> serde::Deserialize<'de> for AddressStringToBytesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -219,7 +218,7 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesRequest { AddressString, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -228,12 +227,12 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -250,22 +249,22 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AddressStringToBytesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.AddressStringToBytesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address_string__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AddressString => { if address_string__.is_some() { return Err(serde::de::Error::duplicate_field("addressString")); } - address_string__ = Some(map_.next_value()?); + address_string__ = Some(map.next_value()?); } } } @@ -279,7 +278,7 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesRequest { } impl serde::Serialize for AddressStringToBytesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -290,7 +289,6 @@ impl serde::Serialize for AddressStringToBytesResponse { } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressStringToBytesResponse", len)?; if !self.address_bytes.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("addressBytes", pbjson::private::base64::encode(&self.address_bytes).as_str())?; } struct_ser.end() @@ -298,7 +296,7 @@ impl serde::Serialize for AddressStringToBytesResponse { } impl<'de> serde::Deserialize<'de> for AddressStringToBytesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -312,7 +310,7 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesResponse { AddressBytes, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -321,12 +319,12 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -343,23 +341,23 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AddressStringToBytesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.AddressStringToBytesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address_bytes__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AddressBytes => { if address_bytes__.is_some() { return Err(serde::de::Error::duplicate_field("addressBytes")); } address_bytes__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -374,7 +372,7 @@ impl<'de> serde::Deserialize<'de> for AddressStringToBytesResponse { } impl serde::Serialize for BaseAccount { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -400,19 +398,17 @@ impl serde::Serialize for BaseAccount { struct_ser.serialize_field("pubKey", v)?; } if self.account_number != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("accountNumber", ToString::to_string(&self.account_number).as_str())?; + struct_ser.serialize_field("accountNumber", ::alloc::string::ToString::to_string(&self.account_number).as_str())?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for BaseAccount { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -433,7 +429,7 @@ impl<'de> serde::Deserialize<'de> for BaseAccount { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -442,12 +438,12 @@ impl<'de> serde::Deserialize<'de> for BaseAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -467,11 +463,11 @@ impl<'de> serde::Deserialize<'de> for BaseAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = BaseAccount; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.BaseAccount") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -479,26 +475,26 @@ impl<'de> serde::Deserialize<'de> for BaseAccount { let mut pub_key__ = None; let mut account_number__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::PubKey => { if pub_key__.is_some() { return Err(serde::de::Error::duplicate_field("pubKey")); } - pub_key__ = map_.next_value()?; + pub_key__ = map.next_value()?; } GeneratedField::AccountNumber => { if account_number__.is_some() { return Err(serde::de::Error::duplicate_field("accountNumber")); } account_number__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Sequence => { @@ -506,7 +502,7 @@ impl<'de> serde::Deserialize<'de> for BaseAccount { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -524,7 +520,7 @@ impl<'de> serde::Deserialize<'de> for BaseAccount { } impl serde::Serialize for Bech32PrefixRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -536,7 +532,7 @@ impl serde::Serialize for Bech32PrefixRequest { } impl<'de> serde::Deserialize<'de> for Bech32PrefixRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -547,7 +543,7 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -556,12 +552,12 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -575,16 +571,16 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Bech32PrefixRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.Bech32PrefixRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(Bech32PrefixRequest { }) @@ -595,7 +591,7 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixRequest { } impl serde::Serialize for Bech32PrefixResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -613,7 +609,7 @@ impl serde::Serialize for Bech32PrefixResponse { } impl<'de> serde::Deserialize<'de> for Bech32PrefixResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -627,7 +623,7 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixResponse { Bech32Prefix, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -636,12 +632,12 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -658,22 +654,22 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Bech32PrefixResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.Bech32PrefixResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut bech32_prefix__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Bech32Prefix => { if bech32_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("bech32Prefix")); } - bech32_prefix__ = Some(map_.next_value()?); + bech32_prefix__ = Some(map.next_value()?); } } } @@ -687,7 +683,7 @@ impl<'de> serde::Deserialize<'de> for Bech32PrefixResponse { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -711,7 +707,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -726,7 +722,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { Accounts, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -735,12 +731,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -758,29 +754,29 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; let mut accounts__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } GeneratedField::Accounts => { if accounts__.is_some() { return Err(serde::de::Error::duplicate_field("accounts")); } - accounts__ = Some(map_.next_value()?); + accounts__ = Some(map.next_value()?); } } } @@ -795,7 +791,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for ModuleAccount { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -825,7 +821,7 @@ impl serde::Serialize for ModuleAccount { } impl<'de> serde::Deserialize<'de> for ModuleAccount { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -843,7 +839,7 @@ impl<'de> serde::Deserialize<'de> for ModuleAccount { Permissions, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -852,12 +848,12 @@ impl<'de> serde::Deserialize<'de> for ModuleAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -876,36 +872,36 @@ impl<'de> serde::Deserialize<'de> for ModuleAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ModuleAccount; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.ModuleAccount") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut base_account__ = None; let mut name__ = None; let mut permissions__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::BaseAccount => { if base_account__.is_some() { return Err(serde::de::Error::duplicate_field("baseAccount")); } - base_account__ = map_.next_value()?; + base_account__ = map.next_value()?; } GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Permissions => { if permissions__.is_some() { return Err(serde::de::Error::duplicate_field("permissions")); } - permissions__ = Some(map_.next_value()?); + permissions__ = Some(map.next_value()?); } } } @@ -921,7 +917,7 @@ impl<'de> serde::Deserialize<'de> for ModuleAccount { } impl serde::Serialize for ModuleCredential { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -938,14 +934,14 @@ impl serde::Serialize for ModuleCredential { struct_ser.serialize_field("moduleName", &self.module_name)?; } if !self.derivation_keys.is_empty() { - struct_ser.serialize_field("derivationKeys", &self.derivation_keys.iter().map(pbjson::private::base64::encode).collect::>())?; + struct_ser.serialize_field("derivationKeys", &self.derivation_keys.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for ModuleCredential { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -962,7 +958,7 @@ impl<'de> serde::Deserialize<'de> for ModuleCredential { DerivationKeys, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -971,12 +967,12 @@ impl<'de> serde::Deserialize<'de> for ModuleCredential { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -994,30 +990,30 @@ impl<'de> serde::Deserialize<'de> for ModuleCredential { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ModuleCredential; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.ModuleCredential") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut module_name__ = None; let mut derivation_keys__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ModuleName => { if module_name__.is_some() { return Err(serde::de::Error::duplicate_field("moduleName")); } - module_name__ = Some(map_.next_value()?); + module_name__ = Some(map.next_value()?); } GeneratedField::DerivationKeys => { if derivation_keys__.is_some() { return Err(serde::de::Error::duplicate_field("derivationKeys")); } derivation_keys__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::BytesDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -1034,7 +1030,7 @@ impl<'de> serde::Deserialize<'de> for ModuleCredential { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1058,7 +1054,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1073,7 +1069,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1082,12 +1078,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1105,29 +1101,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -1142,7 +1138,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1154,7 +1150,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1165,7 +1161,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1174,12 +1170,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1193,16 +1189,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -1213,7 +1209,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1236,31 +1232,26 @@ impl serde::Serialize for Params { } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.Params", len)?; if self.max_memo_characters != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("maxMemoCharacters", ToString::to_string(&self.max_memo_characters).as_str())?; + struct_ser.serialize_field("maxMemoCharacters", ::alloc::string::ToString::to_string(&self.max_memo_characters).as_str())?; } if self.tx_sig_limit != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("txSigLimit", ToString::to_string(&self.tx_sig_limit).as_str())?; + struct_ser.serialize_field("txSigLimit", ::alloc::string::ToString::to_string(&self.tx_sig_limit).as_str())?; } if self.tx_size_cost_per_byte != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("txSizeCostPerByte", ToString::to_string(&self.tx_size_cost_per_byte).as_str())?; + struct_ser.serialize_field("txSizeCostPerByte", ::alloc::string::ToString::to_string(&self.tx_size_cost_per_byte).as_str())?; } if self.sig_verify_cost_ed25519 != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sigVerifyCostEd25519", ToString::to_string(&self.sig_verify_cost_ed25519).as_str())?; + struct_ser.serialize_field("sigVerifyCostEd25519", ::alloc::string::ToString::to_string(&self.sig_verify_cost_ed25519).as_str())?; } if self.sig_verify_cost_secp256k1 != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sigVerifyCostSecp256k1", ToString::to_string(&self.sig_verify_cost_secp256k1).as_str())?; + struct_ser.serialize_field("sigVerifyCostSecp256k1", ::alloc::string::ToString::to_string(&self.sig_verify_cost_secp256k1).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1286,7 +1277,7 @@ impl<'de> serde::Deserialize<'de> for Params { SigVerifyCostSecp256k1, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1295,12 +1286,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1321,11 +1312,11 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1334,14 +1325,14 @@ impl<'de> serde::Deserialize<'de> for Params { let mut tx_size_cost_per_byte__ = None; let mut sig_verify_cost_ed25519__ = None; let mut sig_verify_cost_secp256k1__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MaxMemoCharacters => { if max_memo_characters__.is_some() { return Err(serde::de::Error::duplicate_field("maxMemoCharacters")); } max_memo_characters__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::TxSigLimit => { @@ -1349,7 +1340,7 @@ impl<'de> serde::Deserialize<'de> for Params { return Err(serde::de::Error::duplicate_field("txSigLimit")); } tx_sig_limit__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::TxSizeCostPerByte => { @@ -1357,7 +1348,7 @@ impl<'de> serde::Deserialize<'de> for Params { return Err(serde::de::Error::duplicate_field("txSizeCostPerByte")); } tx_size_cost_per_byte__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::SigVerifyCostEd25519 => { @@ -1365,7 +1356,7 @@ impl<'de> serde::Deserialize<'de> for Params { return Err(serde::de::Error::duplicate_field("sigVerifyCostEd25519")); } sig_verify_cost_ed25519__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::SigVerifyCostSecp256k1 => { @@ -1373,7 +1364,7 @@ impl<'de> serde::Deserialize<'de> for Params { return Err(serde::de::Error::duplicate_field("sigVerifyCostSecp256k1")); } sig_verify_cost_secp256k1__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -1392,7 +1383,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryAccountAddressByIdRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1406,19 +1397,17 @@ impl serde::Serialize for QueryAccountAddressByIdRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDRequest", len)?; if self.id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("id", ToString::to_string(&self.id).as_str())?; + struct_ser.serialize_field("id", ::alloc::string::ToString::to_string(&self.id).as_str())?; } if self.account_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("accountId", ToString::to_string(&self.account_id).as_str())?; + struct_ser.serialize_field("accountId", ::alloc::string::ToString::to_string(&self.account_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1434,7 +1423,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { AccountId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1443,12 +1432,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1466,24 +1455,24 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountAddressByIdRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountAddressByIDRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut id__ = None; let mut account_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Id => { if id__.is_some() { return Err(serde::de::Error::duplicate_field("id")); } id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::AccountId => { @@ -1491,7 +1480,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { return Err(serde::de::Error::duplicate_field("accountId")); } account_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -1507,7 +1496,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdRequest { } impl serde::Serialize for QueryAccountAddressByIdResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1525,7 +1514,7 @@ impl serde::Serialize for QueryAccountAddressByIdResponse { } impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1539,7 +1528,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdResponse { AccountAddress, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1548,12 +1537,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1570,22 +1559,22 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountAddressByIdResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountAddressByIDResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut account_address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AccountAddress => { if account_address__.is_some() { return Err(serde::de::Error::duplicate_field("accountAddress")); } - account_address__ = Some(map_.next_value()?); + account_address__ = Some(map.next_value()?); } } } @@ -1599,7 +1588,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountAddressByIdResponse { } impl serde::Serialize for QueryAccountInfoRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1617,7 +1606,7 @@ impl serde::Serialize for QueryAccountInfoRequest { } impl<'de> serde::Deserialize<'de> for QueryAccountInfoRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1630,7 +1619,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoRequest { Address, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1639,12 +1628,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1661,22 +1650,22 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountInfoRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountInfoRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } } } @@ -1690,7 +1679,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoRequest { } impl serde::Serialize for QueryAccountInfoResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1708,7 +1697,7 @@ impl serde::Serialize for QueryAccountInfoResponse { } impl<'de> serde::Deserialize<'de> for QueryAccountInfoResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1721,7 +1710,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoResponse { Info, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1730,12 +1719,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1752,22 +1741,22 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountInfoResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountInfoResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut info__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Info => { if info__.is_some() { return Err(serde::de::Error::duplicate_field("info")); } - info__ = map_.next_value()?; + info__ = map.next_value()?; } } } @@ -1781,7 +1770,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountInfoResponse { } impl serde::Serialize for QueryAccountRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1799,7 +1788,7 @@ impl serde::Serialize for QueryAccountRequest { } impl<'de> serde::Deserialize<'de> for QueryAccountRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1812,7 +1801,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountRequest { Address, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1821,12 +1810,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1843,22 +1832,22 @@ impl<'de> serde::Deserialize<'de> for QueryAccountRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } } } @@ -1872,7 +1861,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountRequest { } impl serde::Serialize for QueryAccountResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1890,7 +1879,7 @@ impl serde::Serialize for QueryAccountResponse { } impl<'de> serde::Deserialize<'de> for QueryAccountResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1903,7 +1892,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountResponse { Account, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1912,12 +1901,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1934,22 +1923,22 @@ impl<'de> serde::Deserialize<'de> for QueryAccountResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut account__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Account => { if account__.is_some() { return Err(serde::de::Error::duplicate_field("account")); } - account__ = map_.next_value()?; + account__ = map.next_value()?; } } } @@ -1963,7 +1952,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountResponse { } impl serde::Serialize for QueryAccountsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1981,7 +1970,7 @@ impl serde::Serialize for QueryAccountsRequest { } impl<'de> serde::Deserialize<'de> for QueryAccountsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1994,7 +1983,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2003,12 +1992,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2025,22 +2014,22 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2054,7 +2043,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsRequest { } impl serde::Serialize for QueryAccountsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2078,7 +2067,7 @@ impl serde::Serialize for QueryAccountsResponse { } impl<'de> serde::Deserialize<'de> for QueryAccountsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2093,7 +2082,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2102,12 +2091,12 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2125,29 +2114,29 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAccountsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryAccountsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut accounts__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Accounts => { if accounts__.is_some() { return Err(serde::de::Error::duplicate_field("accounts")); } - accounts__ = Some(map_.next_value()?); + accounts__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2162,7 +2151,7 @@ impl<'de> serde::Deserialize<'de> for QueryAccountsResponse { } impl serde::Serialize for QueryModuleAccountByNameRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2180,7 +2169,7 @@ impl serde::Serialize for QueryModuleAccountByNameRequest { } impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2193,7 +2182,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameRequest { Name, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2202,12 +2191,12 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2224,22 +2213,22 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryModuleAccountByNameRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountByNameRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } } } @@ -2253,7 +2242,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameRequest { } impl serde::Serialize for QueryModuleAccountByNameResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2271,7 +2260,7 @@ impl serde::Serialize for QueryModuleAccountByNameResponse { } impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2284,7 +2273,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameResponse { Account, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2293,12 +2282,12 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2315,22 +2304,22 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryModuleAccountByNameResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountByNameResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut account__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Account => { if account__.is_some() { return Err(serde::de::Error::duplicate_field("account")); } - account__ = map_.next_value()?; + account__ = map.next_value()?; } } } @@ -2344,7 +2333,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountByNameResponse { } impl serde::Serialize for QueryModuleAccountsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2356,7 +2345,7 @@ impl serde::Serialize for QueryModuleAccountsRequest { } impl<'de> serde::Deserialize<'de> for QueryModuleAccountsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2367,7 +2356,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2376,12 +2365,12 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2395,16 +2384,16 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryModuleAccountsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryModuleAccountsRequest { }) @@ -2415,7 +2404,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsRequest { } impl serde::Serialize for QueryModuleAccountsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2433,7 +2422,7 @@ impl serde::Serialize for QueryModuleAccountsResponse { } impl<'de> serde::Deserialize<'de> for QueryModuleAccountsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2446,7 +2435,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsResponse { Accounts, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2455,12 +2444,12 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2477,22 +2466,22 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryModuleAccountsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryModuleAccountsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut accounts__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Accounts => { if accounts__.is_some() { return Err(serde::de::Error::duplicate_field("accounts")); } - accounts__ = Some(map_.next_value()?); + accounts__ = Some(map.next_value()?); } } } @@ -2506,7 +2495,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleAccountsResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2518,7 +2507,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2529,7 +2518,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2538,12 +2527,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2557,16 +2546,16 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryParamsRequest { }) @@ -2577,7 +2566,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2595,7 +2584,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2608,7 +2597,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2617,12 +2606,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2639,22 +2628,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.auth.v1beta1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } diff --git a/src/prost/cosmos.bank.module.v1.serde.rs b/src/prost/cosmos.bank.module.v1.serde.rs index 40fb3cf5..0ced0274 100644 --- a/src/prost/cosmos.bank.module.v1.serde.rs +++ b/src/prost/cosmos.bank.module.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Module { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for Module { } impl<'de> serde::Deserialize<'de> for Module { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for Module { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -72,29 +72,29 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Module; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.module.v1.Module") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut blocked_module_accounts_override__ = None; let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::BlockedModuleAccountsOverride => { if blocked_module_accounts_override__.is_some() { return Err(serde::de::Error::duplicate_field("blockedModuleAccountsOverride")); } - blocked_module_accounts_override__ = Some(map_.next_value()?); + blocked_module_accounts_override__ = Some(map.next_value()?); } GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.bank.v1beta1.serde.rs b/src/prost/cosmos.bank.v1beta1.serde.rs index 891ac826..b4fa84eb 100644 --- a/src/prost/cosmos.bank.v1beta1.serde.rs +++ b/src/prost/cosmos.bank.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Balance { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for Balance { } impl<'de> serde::Deserialize<'de> for Balance { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -39,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for Balance { Coins, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -48,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for Balance { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -71,29 +71,29 @@ impl<'de> serde::Deserialize<'de> for Balance { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Balance; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.Balance") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut coins__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Coins => { if coins__.is_some() { return Err(serde::de::Error::duplicate_field("coins")); } - coins__ = Some(map_.next_value()?); + coins__ = Some(map.next_value()?); } } } @@ -108,7 +108,7 @@ impl<'de> serde::Deserialize<'de> for Balance { } impl serde::Serialize for DenomOwner { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -132,7 +132,7 @@ impl serde::Serialize for DenomOwner { } impl<'de> serde::Deserialize<'de> for DenomOwner { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -147,7 +147,7 @@ impl<'de> serde::Deserialize<'de> for DenomOwner { Balance, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -156,12 +156,12 @@ impl<'de> serde::Deserialize<'de> for DenomOwner { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -179,29 +179,29 @@ impl<'de> serde::Deserialize<'de> for DenomOwner { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DenomOwner; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.DenomOwner") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut balance__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Balance => { if balance__.is_some() { return Err(serde::de::Error::duplicate_field("balance")); } - balance__ = map_.next_value()?; + balance__ = map.next_value()?; } } } @@ -216,7 +216,7 @@ impl<'de> serde::Deserialize<'de> for DenomOwner { } impl serde::Serialize for DenomUnit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -246,7 +246,7 @@ impl serde::Serialize for DenomUnit { } impl<'de> serde::Deserialize<'de> for DenomUnit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -263,7 +263,7 @@ impl<'de> serde::Deserialize<'de> for DenomUnit { Aliases, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -272,12 +272,12 @@ impl<'de> serde::Deserialize<'de> for DenomUnit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -296,38 +296,38 @@ impl<'de> serde::Deserialize<'de> for DenomUnit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DenomUnit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.DenomUnit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; let mut exponent__ = None; let mut aliases__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } GeneratedField::Exponent => { if exponent__.is_some() { return Err(serde::de::Error::duplicate_field("exponent")); } exponent__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Aliases => { if aliases__.is_some() { return Err(serde::de::Error::duplicate_field("aliases")); } - aliases__ = Some(map_.next_value()?); + aliases__ = Some(map.next_value()?); } } } @@ -343,7 +343,7 @@ impl<'de> serde::Deserialize<'de> for DenomUnit { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -385,7 +385,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -408,7 +408,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { SendEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -417,12 +417,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -443,11 +443,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -456,37 +456,37 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut supply__ = None; let mut denom_metadata__ = None; let mut send_enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } GeneratedField::Balances => { if balances__.is_some() { return Err(serde::de::Error::duplicate_field("balances")); } - balances__ = Some(map_.next_value()?); + balances__ = Some(map.next_value()?); } GeneratedField::Supply => { if supply__.is_some() { return Err(serde::de::Error::duplicate_field("supply")); } - supply__ = Some(map_.next_value()?); + supply__ = Some(map.next_value()?); } GeneratedField::DenomMetadata => { if denom_metadata__.is_some() { return Err(serde::de::Error::duplicate_field("denomMetadata")); } - denom_metadata__ = Some(map_.next_value()?); + denom_metadata__ = Some(map.next_value()?); } GeneratedField::SendEnabled => { if send_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("sendEnabled")); } - send_enabled__ = Some(map_.next_value()?); + send_enabled__ = Some(map.next_value()?); } } } @@ -504,7 +504,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for Input { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -528,7 +528,7 @@ impl serde::Serialize for Input { } impl<'de> serde::Deserialize<'de> for Input { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -543,7 +543,7 @@ impl<'de> serde::Deserialize<'de> for Input { Coins, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -552,12 +552,12 @@ impl<'de> serde::Deserialize<'de> for Input { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -575,29 +575,29 @@ impl<'de> serde::Deserialize<'de> for Input { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Input; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.Input") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut coins__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Coins => { if coins__.is_some() { return Err(serde::de::Error::duplicate_field("coins")); } - coins__ = Some(map_.next_value()?); + coins__ = Some(map.next_value()?); } } } @@ -612,7 +612,7 @@ impl<'de> serde::Deserialize<'de> for Input { } impl serde::Serialize for Metadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -672,7 +672,7 @@ impl serde::Serialize for Metadata { } impl<'de> serde::Deserialize<'de> for Metadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -701,7 +701,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { UriHash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -710,12 +710,12 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -739,11 +739,11 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Metadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.Metadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -755,55 +755,55 @@ impl<'de> serde::Deserialize<'de> for Metadata { let mut symbol__ = None; let mut uri__ = None; let mut uri_hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = Some(map_.next_value()?); + description__ = Some(map.next_value()?); } GeneratedField::DenomUnits => { if denom_units__.is_some() { return Err(serde::de::Error::duplicate_field("denomUnits")); } - denom_units__ = Some(map_.next_value()?); + denom_units__ = Some(map.next_value()?); } GeneratedField::Base => { if base__.is_some() { return Err(serde::de::Error::duplicate_field("base")); } - base__ = Some(map_.next_value()?); + base__ = Some(map.next_value()?); } GeneratedField::Display => { if display__.is_some() { return Err(serde::de::Error::duplicate_field("display")); } - display__ = Some(map_.next_value()?); + display__ = Some(map.next_value()?); } GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Symbol => { if symbol__.is_some() { return Err(serde::de::Error::duplicate_field("symbol")); } - symbol__ = Some(map_.next_value()?); + symbol__ = Some(map.next_value()?); } GeneratedField::Uri => { if uri__.is_some() { return Err(serde::de::Error::duplicate_field("uri")); } - uri__ = Some(map_.next_value()?); + uri__ = Some(map.next_value()?); } GeneratedField::UriHash => { if uri_hash__.is_some() { return Err(serde::de::Error::duplicate_field("uriHash")); } - uri_hash__ = Some(map_.next_value()?); + uri_hash__ = Some(map.next_value()?); } } } @@ -824,7 +824,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { } impl serde::Serialize for MsgMultiSend { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -848,7 +848,7 @@ impl serde::Serialize for MsgMultiSend { } impl<'de> serde::Deserialize<'de> for MsgMultiSend { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -863,7 +863,7 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSend { Outputs, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -872,12 +872,12 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSend { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -895,29 +895,29 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSend { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgMultiSend; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgMultiSend") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut inputs__ = None; let mut outputs__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Inputs => { if inputs__.is_some() { return Err(serde::de::Error::duplicate_field("inputs")); } - inputs__ = Some(map_.next_value()?); + inputs__ = Some(map.next_value()?); } GeneratedField::Outputs => { if outputs__.is_some() { return Err(serde::de::Error::duplicate_field("outputs")); } - outputs__ = Some(map_.next_value()?); + outputs__ = Some(map.next_value()?); } } } @@ -932,7 +932,7 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSend { } impl serde::Serialize for MsgMultiSendResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -944,7 +944,7 @@ impl serde::Serialize for MsgMultiSendResponse { } impl<'de> serde::Deserialize<'de> for MsgMultiSendResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -955,7 +955,7 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSendResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -964,12 +964,12 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSendResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -983,16 +983,16 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSendResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgMultiSendResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgMultiSendResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgMultiSendResponse { }) @@ -1003,7 +1003,7 @@ impl<'de> serde::Deserialize<'de> for MsgMultiSendResponse { } impl serde::Serialize for MsgSend { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1033,7 +1033,7 @@ impl serde::Serialize for MsgSend { } impl<'de> serde::Deserialize<'de> for MsgSend { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1052,7 +1052,7 @@ impl<'de> serde::Deserialize<'de> for MsgSend { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1061,12 +1061,12 @@ impl<'de> serde::Deserialize<'de> for MsgSend { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1085,36 +1085,36 @@ impl<'de> serde::Deserialize<'de> for MsgSend { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSend; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgSend") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut from_address__ = None; let mut to_address__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::FromAddress => { if from_address__.is_some() { return Err(serde::de::Error::duplicate_field("fromAddress")); } - from_address__ = Some(map_.next_value()?); + from_address__ = Some(map.next_value()?); } GeneratedField::ToAddress => { if to_address__.is_some() { return Err(serde::de::Error::duplicate_field("toAddress")); } - to_address__ = Some(map_.next_value()?); + to_address__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -1130,7 +1130,7 @@ impl<'de> serde::Deserialize<'de> for MsgSend { } impl serde::Serialize for MsgSendResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1142,7 +1142,7 @@ impl serde::Serialize for MsgSendResponse { } impl<'de> serde::Deserialize<'de> for MsgSendResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1153,7 +1153,7 @@ impl<'de> serde::Deserialize<'de> for MsgSendResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1162,12 +1162,12 @@ impl<'de> serde::Deserialize<'de> for MsgSendResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1181,16 +1181,16 @@ impl<'de> serde::Deserialize<'de> for MsgSendResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSendResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgSendResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgSendResponse { }) @@ -1201,7 +1201,7 @@ impl<'de> serde::Deserialize<'de> for MsgSendResponse { } impl serde::Serialize for MsgSetSendEnabled { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1231,7 +1231,7 @@ impl serde::Serialize for MsgSetSendEnabled { } impl<'de> serde::Deserialize<'de> for MsgSetSendEnabled { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1250,7 +1250,7 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabled { UseDefaultFor, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1259,12 +1259,12 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabled { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1283,36 +1283,36 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabled { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSetSendEnabled; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgSetSendEnabled") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; let mut send_enabled__ = None; let mut use_default_for__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } GeneratedField::SendEnabled => { if send_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("sendEnabled")); } - send_enabled__ = Some(map_.next_value()?); + send_enabled__ = Some(map.next_value()?); } GeneratedField::UseDefaultFor => { if use_default_for__.is_some() { return Err(serde::de::Error::duplicate_field("useDefaultFor")); } - use_default_for__ = Some(map_.next_value()?); + use_default_for__ = Some(map.next_value()?); } } } @@ -1328,7 +1328,7 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabled { } impl serde::Serialize for MsgSetSendEnabledResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1340,7 +1340,7 @@ impl serde::Serialize for MsgSetSendEnabledResponse { } impl<'de> serde::Deserialize<'de> for MsgSetSendEnabledResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1351,7 +1351,7 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabledResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1360,12 +1360,12 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabledResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1379,16 +1379,16 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabledResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSetSendEnabledResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgSetSendEnabledResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgSetSendEnabledResponse { }) @@ -1399,7 +1399,7 @@ impl<'de> serde::Deserialize<'de> for MsgSetSendEnabledResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1423,7 +1423,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1438,7 +1438,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1447,12 +1447,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1470,29 +1470,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -1507,7 +1507,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1519,7 +1519,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1530,7 +1530,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1539,12 +1539,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1558,16 +1558,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -1578,7 +1578,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Output { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1602,7 +1602,7 @@ impl serde::Serialize for Output { } impl<'de> serde::Deserialize<'de> for Output { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1617,7 +1617,7 @@ impl<'de> serde::Deserialize<'de> for Output { Coins, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1626,12 +1626,12 @@ impl<'de> serde::Deserialize<'de> for Output { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1649,29 +1649,29 @@ impl<'de> serde::Deserialize<'de> for Output { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Output; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.Output") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut coins__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Coins => { if coins__.is_some() { return Err(serde::de::Error::duplicate_field("coins")); } - coins__ = Some(map_.next_value()?); + coins__ = Some(map.next_value()?); } } } @@ -1686,7 +1686,7 @@ impl<'de> serde::Deserialize<'de> for Output { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1710,7 +1710,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1727,7 +1727,7 @@ impl<'de> serde::Deserialize<'de> for Params { DefaultSendEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1736,12 +1736,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1759,29 +1759,29 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut send_enabled__ = None; let mut default_send_enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SendEnabled => { if send_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("sendEnabled")); } - send_enabled__ = Some(map_.next_value()?); + send_enabled__ = Some(map.next_value()?); } GeneratedField::DefaultSendEnabled => { if default_send_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("defaultSendEnabled")); } - default_send_enabled__ = Some(map_.next_value()?); + default_send_enabled__ = Some(map.next_value()?); } } } @@ -1796,7 +1796,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryAllBalancesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1820,7 +1820,7 @@ impl serde::Serialize for QueryAllBalancesRequest { } impl<'de> serde::Deserialize<'de> for QueryAllBalancesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1835,7 +1835,7 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1844,12 +1844,12 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1867,29 +1867,29 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAllBalancesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryAllBalancesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -1904,7 +1904,7 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesRequest { } impl serde::Serialize for QueryAllBalancesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1928,7 +1928,7 @@ impl serde::Serialize for QueryAllBalancesResponse { } impl<'de> serde::Deserialize<'de> for QueryAllBalancesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1943,7 +1943,7 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1952,12 +1952,12 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1975,29 +1975,29 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAllBalancesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryAllBalancesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut balances__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Balances => { if balances__.is_some() { return Err(serde::de::Error::duplicate_field("balances")); } - balances__ = Some(map_.next_value()?); + balances__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2012,7 +2012,7 @@ impl<'de> serde::Deserialize<'de> for QueryAllBalancesResponse { } impl serde::Serialize for QueryBalanceRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2036,7 +2036,7 @@ impl serde::Serialize for QueryBalanceRequest { } impl<'de> serde::Deserialize<'de> for QueryBalanceRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2051,7 +2051,7 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceRequest { Denom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2060,12 +2060,12 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2083,29 +2083,29 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryBalanceRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryBalanceRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut denom__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } } } @@ -2120,7 +2120,7 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceRequest { } impl serde::Serialize for QueryBalanceResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2138,7 +2138,7 @@ impl serde::Serialize for QueryBalanceResponse { } impl<'de> serde::Deserialize<'de> for QueryBalanceResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2151,7 +2151,7 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceResponse { Balance, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2160,12 +2160,12 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2182,22 +2182,22 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryBalanceResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryBalanceResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut balance__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Balance => { if balance__.is_some() { return Err(serde::de::Error::duplicate_field("balance")); } - balance__ = map_.next_value()?; + balance__ = map.next_value()?; } } } @@ -2211,7 +2211,7 @@ impl<'de> serde::Deserialize<'de> for QueryBalanceResponse { } impl serde::Serialize for QueryDenomMetadataRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2229,7 +2229,7 @@ impl serde::Serialize for QueryDenomMetadataRequest { } impl<'de> serde::Deserialize<'de> for QueryDenomMetadataRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2242,7 +2242,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataRequest { Denom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2251,12 +2251,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2273,22 +2273,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomMetadataRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomMetadataRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } } } @@ -2302,7 +2302,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataRequest { } impl serde::Serialize for QueryDenomMetadataResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2320,7 +2320,7 @@ impl serde::Serialize for QueryDenomMetadataResponse { } impl<'de> serde::Deserialize<'de> for QueryDenomMetadataResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2333,7 +2333,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataResponse { Metadata, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2342,12 +2342,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2364,22 +2364,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomMetadataResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomMetadataResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut metadata__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = map_.next_value()?; + metadata__ = map.next_value()?; } } } @@ -2393,7 +2393,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomMetadataResponse { } impl serde::Serialize for QueryDenomOwnersRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2417,7 +2417,7 @@ impl serde::Serialize for QueryDenomOwnersRequest { } impl<'de> serde::Deserialize<'de> for QueryDenomOwnersRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2432,7 +2432,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2441,12 +2441,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2464,29 +2464,29 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomOwnersRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomOwnersRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2501,7 +2501,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersRequest { } impl serde::Serialize for QueryDenomOwnersResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2525,7 +2525,7 @@ impl serde::Serialize for QueryDenomOwnersResponse { } impl<'de> serde::Deserialize<'de> for QueryDenomOwnersResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2541,7 +2541,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2550,12 +2550,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2573,29 +2573,29 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomOwnersResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomOwnersResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom_owners__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DenomOwners => { if denom_owners__.is_some() { return Err(serde::de::Error::duplicate_field("denomOwners")); } - denom_owners__ = Some(map_.next_value()?); + denom_owners__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2610,7 +2610,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomOwnersResponse { } impl serde::Serialize for QueryDenomsMetadataRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2628,7 +2628,7 @@ impl serde::Serialize for QueryDenomsMetadataRequest { } impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2641,7 +2641,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2650,12 +2650,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2672,22 +2672,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomsMetadataRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomsMetadataRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2701,7 +2701,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataRequest { } impl serde::Serialize for QueryDenomsMetadataResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2725,7 +2725,7 @@ impl serde::Serialize for QueryDenomsMetadataResponse { } impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2740,7 +2740,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2749,12 +2749,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2772,29 +2772,29 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomsMetadataResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryDenomsMetadataResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut metadatas__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Metadatas => { if metadatas__.is_some() { return Err(serde::de::Error::duplicate_field("metadatas")); } - metadatas__ = Some(map_.next_value()?); + metadatas__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2809,7 +2809,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomsMetadataResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2821,7 +2821,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2832,7 +2832,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2841,12 +2841,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2860,16 +2860,16 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryParamsRequest { }) @@ -2880,7 +2880,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2898,7 +2898,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2911,7 +2911,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2920,12 +2920,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2942,22 +2942,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -2971,7 +2971,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { } impl serde::Serialize for QuerySendEnabledRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2995,7 +2995,7 @@ impl serde::Serialize for QuerySendEnabledRequest { } impl<'de> serde::Deserialize<'de> for QuerySendEnabledRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3010,7 +3010,7 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3019,12 +3019,12 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3042,29 +3042,29 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySendEnabledRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySendEnabledRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denoms__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denoms => { if denoms__.is_some() { return Err(serde::de::Error::duplicate_field("denoms")); } - denoms__ = Some(map_.next_value()?); + denoms__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3079,7 +3079,7 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledRequest { } impl serde::Serialize for QuerySendEnabledResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3103,7 +3103,7 @@ impl serde::Serialize for QuerySendEnabledResponse { } impl<'de> serde::Deserialize<'de> for QuerySendEnabledResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3119,7 +3119,7 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3128,12 +3128,12 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3151,29 +3151,29 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySendEnabledResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySendEnabledResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut send_enabled__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SendEnabled => { if send_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("sendEnabled")); } - send_enabled__ = Some(map_.next_value()?); + send_enabled__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3188,7 +3188,7 @@ impl<'de> serde::Deserialize<'de> for QuerySendEnabledResponse { } impl serde::Serialize for QuerySpendableBalanceByDenomRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3212,7 +3212,7 @@ impl serde::Serialize for QuerySpendableBalanceByDenomRequest { } impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3227,7 +3227,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomRequest { Denom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3236,12 +3236,12 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3259,29 +3259,29 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySpendableBalanceByDenomRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalanceByDenomRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut denom__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } } } @@ -3296,7 +3296,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomRequest { } impl serde::Serialize for QuerySpendableBalanceByDenomResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3314,7 +3314,7 @@ impl serde::Serialize for QuerySpendableBalanceByDenomResponse { } impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3327,7 +3327,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomResponse { Balance, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3336,12 +3336,12 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3358,22 +3358,22 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySpendableBalanceByDenomResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut balance__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Balance => { if balance__.is_some() { return Err(serde::de::Error::duplicate_field("balance")); } - balance__ = map_.next_value()?; + balance__ = map.next_value()?; } } } @@ -3387,7 +3387,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalanceByDenomResponse { } impl serde::Serialize for QuerySpendableBalancesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3411,7 +3411,7 @@ impl serde::Serialize for QuerySpendableBalancesRequest { } impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3426,7 +3426,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3435,12 +3435,12 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3458,29 +3458,29 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySpendableBalancesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalancesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3495,7 +3495,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesRequest { } impl serde::Serialize for QuerySpendableBalancesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3519,7 +3519,7 @@ impl serde::Serialize for QuerySpendableBalancesResponse { } impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3534,7 +3534,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3543,12 +3543,12 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3566,29 +3566,29 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySpendableBalancesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySpendableBalancesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut balances__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Balances => { if balances__.is_some() { return Err(serde::de::Error::duplicate_field("balances")); } - balances__ = Some(map_.next_value()?); + balances__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3603,7 +3603,7 @@ impl<'de> serde::Deserialize<'de> for QuerySpendableBalancesResponse { } impl serde::Serialize for QuerySupplyOfRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3621,7 +3621,7 @@ impl serde::Serialize for QuerySupplyOfRequest { } impl<'de> serde::Deserialize<'de> for QuerySupplyOfRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3634,7 +3634,7 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfRequest { Denom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3643,12 +3643,12 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3665,22 +3665,22 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySupplyOfRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySupplyOfRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } } } @@ -3694,7 +3694,7 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfRequest { } impl serde::Serialize for QuerySupplyOfResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3712,7 +3712,7 @@ impl serde::Serialize for QuerySupplyOfResponse { } impl<'de> serde::Deserialize<'de> for QuerySupplyOfResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3725,7 +3725,7 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfResponse { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3734,12 +3734,12 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3756,22 +3756,22 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QuerySupplyOfResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QuerySupplyOfResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = map_.next_value()?; + amount__ = map.next_value()?; } } } @@ -3785,7 +3785,7 @@ impl<'de> serde::Deserialize<'de> for QuerySupplyOfResponse { } impl serde::Serialize for QueryTotalSupplyRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3803,7 +3803,7 @@ impl serde::Serialize for QueryTotalSupplyRequest { } impl<'de> serde::Deserialize<'de> for QueryTotalSupplyRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3816,7 +3816,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3825,12 +3825,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3847,22 +3847,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalSupplyRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryTotalSupplyRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3876,7 +3876,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyRequest { } impl serde::Serialize for QueryTotalSupplyResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3900,7 +3900,7 @@ impl serde::Serialize for QueryTotalSupplyResponse { } impl<'de> serde::Deserialize<'de> for QueryTotalSupplyResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3915,7 +3915,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3924,12 +3924,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3947,29 +3947,29 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalSupplyResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.QueryTotalSupplyResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut supply__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Supply => { if supply__.is_some() { return Err(serde::de::Error::duplicate_field("supply")); } - supply__ = Some(map_.next_value()?); + supply__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3984,7 +3984,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalSupplyResponse { } impl serde::Serialize for SendAuthorization { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4008,7 +4008,7 @@ impl serde::Serialize for SendAuthorization { } impl<'de> serde::Deserialize<'de> for SendAuthorization { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4025,7 +4025,7 @@ impl<'de> serde::Deserialize<'de> for SendAuthorization { AllowList, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4034,12 +4034,12 @@ impl<'de> serde::Deserialize<'de> for SendAuthorization { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4057,29 +4057,29 @@ impl<'de> serde::Deserialize<'de> for SendAuthorization { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SendAuthorization; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.SendAuthorization") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut spend_limit__ = None; let mut allow_list__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SpendLimit => { if spend_limit__.is_some() { return Err(serde::de::Error::duplicate_field("spendLimit")); } - spend_limit__ = Some(map_.next_value()?); + spend_limit__ = Some(map.next_value()?); } GeneratedField::AllowList => { if allow_list__.is_some() { return Err(serde::de::Error::duplicate_field("allowList")); } - allow_list__ = Some(map_.next_value()?); + allow_list__ = Some(map.next_value()?); } } } @@ -4094,7 +4094,7 @@ impl<'de> serde::Deserialize<'de> for SendAuthorization { } impl serde::Serialize for SendEnabled { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4118,7 +4118,7 @@ impl serde::Serialize for SendEnabled { } impl<'de> serde::Deserialize<'de> for SendEnabled { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4133,7 +4133,7 @@ impl<'de> serde::Deserialize<'de> for SendEnabled { Enabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4142,12 +4142,12 @@ impl<'de> serde::Deserialize<'de> for SendEnabled { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4165,29 +4165,29 @@ impl<'de> serde::Deserialize<'de> for SendEnabled { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SendEnabled; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.SendEnabled") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; let mut enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } GeneratedField::Enabled => { if enabled__.is_some() { return Err(serde::de::Error::duplicate_field("enabled")); } - enabled__ = Some(map_.next_value()?); + enabled__ = Some(map.next_value()?); } } } @@ -4202,7 +4202,7 @@ impl<'de> serde::Deserialize<'de> for SendEnabled { } impl serde::Serialize for Supply { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4220,7 +4220,7 @@ impl serde::Serialize for Supply { } impl<'de> serde::Deserialize<'de> for Supply { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4233,7 +4233,7 @@ impl<'de> serde::Deserialize<'de> for Supply { Total, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4242,12 +4242,12 @@ impl<'de> serde::Deserialize<'de> for Supply { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4264,22 +4264,22 @@ impl<'de> serde::Deserialize<'de> for Supply { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Supply; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.bank.v1beta1.Supply") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut total__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Total => { if total__.is_some() { return Err(serde::de::Error::duplicate_field("total")); } - total__ = Some(map_.next_value()?); + total__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.base.kv.v1beta1.serde.rs b/src/prost/cosmos.base.kv.v1beta1.serde.rs index 8100d9d6..3da9563a 100644 --- a/src/prost/cosmos.base.kv.v1beta1.serde.rs +++ b/src/prost/cosmos.base.kv.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Pair { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -14,11 +14,9 @@ impl serde::Serialize for Pair { } let mut struct_ser = serializer.serialize_struct("cosmos.base.kv.v1beta1.Pair", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -26,7 +24,7 @@ impl serde::Serialize for Pair { } impl<'de> serde::Deserialize<'de> for Pair { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for Pair { Value, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for Pair { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,24 +71,24 @@ impl<'de> serde::Deserialize<'de> for Pair { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Pair; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.kv.v1beta1.Pair") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; let mut value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -98,7 +96,7 @@ impl<'de> serde::Deserialize<'de> for Pair { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -114,7 +112,7 @@ impl<'de> serde::Deserialize<'de> for Pair { } impl serde::Serialize for Pairs { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -132,7 +130,7 @@ impl serde::Serialize for Pairs { } impl<'de> serde::Deserialize<'de> for Pairs { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -145,7 +143,7 @@ impl<'de> serde::Deserialize<'de> for Pairs { Pairs, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -154,12 +152,12 @@ impl<'de> serde::Deserialize<'de> for Pairs { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -176,22 +174,22 @@ impl<'de> serde::Deserialize<'de> for Pairs { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Pairs; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.kv.v1beta1.Pairs") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pairs__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pairs => { if pairs__.is_some() { return Err(serde::de::Error::duplicate_field("pairs")); } - pairs__ = Some(map_.next_value()?); + pairs__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.base.node.v1beta1.serde.rs b/src/prost/cosmos.base.node.v1beta1.serde.rs index acfb44f5..25ac18fc 100644 --- a/src/prost/cosmos.base.node.v1beta1.serde.rs +++ b/src/prost/cosmos.base.node.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ConfigRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -12,7 +12,7 @@ impl serde::Serialize for ConfigRequest { } impl<'de> serde::Deserialize<'de> for ConfigRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -23,7 +23,7 @@ impl<'de> serde::Deserialize<'de> for ConfigRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,12 +32,12 @@ impl<'de> serde::Deserialize<'de> for ConfigRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -51,16 +51,16 @@ impl<'de> serde::Deserialize<'de> for ConfigRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConfigRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.node.v1beta1.ConfigRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(ConfigRequest { }) @@ -71,7 +71,7 @@ impl<'de> serde::Deserialize<'de> for ConfigRequest { } impl serde::Serialize for ConfigResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -89,7 +89,7 @@ impl serde::Serialize for ConfigResponse { } impl<'de> serde::Deserialize<'de> for ConfigResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -103,7 +103,7 @@ impl<'de> serde::Deserialize<'de> for ConfigResponse { MinimumGasPrice, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -112,12 +112,12 @@ impl<'de> serde::Deserialize<'de> for ConfigResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -134,22 +134,22 @@ impl<'de> serde::Deserialize<'de> for ConfigResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConfigResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.node.v1beta1.ConfigResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut minimum_gas_price__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MinimumGasPrice => { if minimum_gas_price__.is_some() { return Err(serde::de::Error::duplicate_field("minimumGasPrice")); } - minimum_gas_price__ = Some(map_.next_value()?); + minimum_gas_price__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.base.query.v1beta1.serde.rs b/src/prost/cosmos.base.query.v1beta1.serde.rs index c945f864..fb4759e3 100644 --- a/src/prost/cosmos.base.query.v1beta1.serde.rs +++ b/src/prost/cosmos.base.query.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for PageRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -23,16 +23,13 @@ impl serde::Serialize for PageRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.base.query.v1beta1.PageRequest", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if self.offset != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("offset", ToString::to_string(&self.offset).as_str())?; + struct_ser.serialize_field("offset", ::alloc::string::ToString::to_string(&self.offset).as_str())?; } if self.limit != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("limit", ToString::to_string(&self.limit).as_str())?; + struct_ser.serialize_field("limit", ::alloc::string::ToString::to_string(&self.limit).as_str())?; } if self.count_total { struct_ser.serialize_field("countTotal", &self.count_total)?; @@ -45,7 +42,7 @@ impl serde::Serialize for PageRequest { } impl<'de> serde::Deserialize<'de> for PageRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -67,7 +64,7 @@ impl<'de> serde::Deserialize<'de> for PageRequest { Reverse, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -76,12 +73,12 @@ impl<'de> serde::Deserialize<'de> for PageRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -102,11 +99,11 @@ impl<'de> serde::Deserialize<'de> for PageRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PageRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.query.v1beta1.PageRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -115,14 +112,14 @@ impl<'de> serde::Deserialize<'de> for PageRequest { let mut limit__ = None; let mut count_total__ = None; let mut reverse__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Offset => { @@ -130,7 +127,7 @@ impl<'de> serde::Deserialize<'de> for PageRequest { return Err(serde::de::Error::duplicate_field("offset")); } offset__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Limit => { @@ -138,20 +135,20 @@ impl<'de> serde::Deserialize<'de> for PageRequest { return Err(serde::de::Error::duplicate_field("limit")); } limit__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::CountTotal => { if count_total__.is_some() { return Err(serde::de::Error::duplicate_field("countTotal")); } - count_total__ = Some(map_.next_value()?); + count_total__ = Some(map.next_value()?); } GeneratedField::Reverse => { if reverse__.is_some() { return Err(serde::de::Error::duplicate_field("reverse")); } - reverse__ = Some(map_.next_value()?); + reverse__ = Some(map.next_value()?); } } } @@ -169,7 +166,7 @@ impl<'de> serde::Deserialize<'de> for PageRequest { } impl serde::Serialize for PageResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -183,19 +180,17 @@ impl serde::Serialize for PageResponse { } let mut struct_ser = serializer.serialize_struct("cosmos.base.query.v1beta1.PageResponse", len)?; if !self.next_key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("nextKey", pbjson::private::base64::encode(&self.next_key).as_str())?; } if self.total != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("total", ToString::to_string(&self.total).as_str())?; + struct_ser.serialize_field("total", ::alloc::string::ToString::to_string(&self.total).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for PageResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -211,7 +206,7 @@ impl<'de> serde::Deserialize<'de> for PageResponse { Total, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -220,12 +215,12 @@ impl<'de> serde::Deserialize<'de> for PageResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -243,24 +238,24 @@ impl<'de> serde::Deserialize<'de> for PageResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PageResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.query.v1beta1.PageResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut next_key__ = None; let mut total__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NextKey => { if next_key__.is_some() { return Err(serde::de::Error::duplicate_field("nextKey")); } next_key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Total => { @@ -268,7 +263,7 @@ impl<'de> serde::Deserialize<'de> for PageResponse { return Err(serde::de::Error::duplicate_field("total")); } total__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.base.reflection.v1beta1.serde.rs b/src/prost/cosmos.base.reflection.v1beta1.serde.rs index 312c1ad1..57fc3f12 100644 --- a/src/prost/cosmos.base.reflection.v1beta1.serde.rs +++ b/src/prost/cosmos.base.reflection.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ListAllInterfacesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -12,7 +12,7 @@ impl serde::Serialize for ListAllInterfacesRequest { } impl<'de> serde::Deserialize<'de> for ListAllInterfacesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -23,7 +23,7 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,12 +32,12 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -51,16 +51,16 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ListAllInterfacesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v1beta1.ListAllInterfacesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(ListAllInterfacesRequest { }) @@ -71,7 +71,7 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesRequest { } impl serde::Serialize for ListAllInterfacesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -89,7 +89,7 @@ impl serde::Serialize for ListAllInterfacesResponse { } impl<'de> serde::Deserialize<'de> for ListAllInterfacesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -103,7 +103,7 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesResponse { InterfaceNames, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -112,12 +112,12 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -134,22 +134,22 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ListAllInterfacesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v1beta1.ListAllInterfacesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut interface_names__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::InterfaceNames => { if interface_names__.is_some() { return Err(serde::de::Error::duplicate_field("interfaceNames")); } - interface_names__ = Some(map_.next_value()?); + interface_names__ = Some(map.next_value()?); } } } @@ -163,7 +163,7 @@ impl<'de> serde::Deserialize<'de> for ListAllInterfacesResponse { } impl serde::Serialize for ListImplementationsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -181,7 +181,7 @@ impl serde::Serialize for ListImplementationsRequest { } impl<'de> serde::Deserialize<'de> for ListImplementationsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -195,7 +195,7 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsRequest { InterfaceName, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -204,12 +204,12 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -226,22 +226,22 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ListImplementationsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v1beta1.ListImplementationsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut interface_name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::InterfaceName => { if interface_name__.is_some() { return Err(serde::de::Error::duplicate_field("interfaceName")); } - interface_name__ = Some(map_.next_value()?); + interface_name__ = Some(map.next_value()?); } } } @@ -255,7 +255,7 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsRequest { } impl serde::Serialize for ListImplementationsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -273,7 +273,7 @@ impl serde::Serialize for ListImplementationsResponse { } impl<'de> serde::Deserialize<'de> for ListImplementationsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -287,7 +287,7 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsResponse { ImplementationMessageNames, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -296,12 +296,12 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -318,22 +318,22 @@ impl<'de> serde::Deserialize<'de> for ListImplementationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ListImplementationsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v1beta1.ListImplementationsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut implementation_message_names__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ImplementationMessageNames => { if implementation_message_names__.is_some() { return Err(serde::de::Error::duplicate_field("implementationMessageNames")); } - implementation_message_names__ = Some(map_.next_value()?); + implementation_message_names__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.base.reflection.v2alpha1.serde.rs b/src/prost/cosmos.base.reflection.v2alpha1.serde.rs index f53d75e8..d98d8488 100644 --- a/src/prost/cosmos.base.reflection.v2alpha1.serde.rs +++ b/src/prost/cosmos.base.reflection.v2alpha1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for AppDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -48,7 +48,7 @@ impl serde::Serialize for AppDescriptor { } impl<'de> serde::Deserialize<'de> for AppDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -72,7 +72,7 @@ impl<'de> serde::Deserialize<'de> for AppDescriptor { Tx, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -81,12 +81,12 @@ impl<'de> serde::Deserialize<'de> for AppDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -108,11 +108,11 @@ impl<'de> serde::Deserialize<'de> for AppDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AppDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.AppDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -122,43 +122,43 @@ impl<'de> serde::Deserialize<'de> for AppDescriptor { let mut configuration__ = None; let mut query_services__ = None; let mut tx__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authn => { if authn__.is_some() { return Err(serde::de::Error::duplicate_field("authn")); } - authn__ = map_.next_value()?; + authn__ = map.next_value()?; } GeneratedField::Chain => { if chain__.is_some() { return Err(serde::de::Error::duplicate_field("chain")); } - chain__ = map_.next_value()?; + chain__ = map.next_value()?; } GeneratedField::Codec => { if codec__.is_some() { return Err(serde::de::Error::duplicate_field("codec")); } - codec__ = map_.next_value()?; + codec__ = map.next_value()?; } GeneratedField::Configuration => { if configuration__.is_some() { return Err(serde::de::Error::duplicate_field("configuration")); } - configuration__ = map_.next_value()?; + configuration__ = map.next_value()?; } GeneratedField::QueryServices => { if query_services__.is_some() { return Err(serde::de::Error::duplicate_field("queryServices")); } - query_services__ = map_.next_value()?; + query_services__ = map.next_value()?; } GeneratedField::Tx => { if tx__.is_some() { return Err(serde::de::Error::duplicate_field("tx")); } - tx__ = map_.next_value()?; + tx__ = map.next_value()?; } } } @@ -177,7 +177,7 @@ impl<'de> serde::Deserialize<'de> for AppDescriptor { } impl serde::Serialize for AuthnDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -195,7 +195,7 @@ impl serde::Serialize for AuthnDescriptor { } impl<'de> serde::Deserialize<'de> for AuthnDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -209,7 +209,7 @@ impl<'de> serde::Deserialize<'de> for AuthnDescriptor { SignModes, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -218,12 +218,12 @@ impl<'de> serde::Deserialize<'de> for AuthnDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -240,22 +240,22 @@ impl<'de> serde::Deserialize<'de> for AuthnDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AuthnDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.AuthnDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sign_modes__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SignModes => { if sign_modes__.is_some() { return Err(serde::de::Error::duplicate_field("signModes")); } - sign_modes__ = Some(map_.next_value()?); + sign_modes__ = Some(map.next_value()?); } } } @@ -269,7 +269,7 @@ impl<'de> serde::Deserialize<'de> for AuthnDescriptor { } impl serde::Serialize for ChainDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -287,7 +287,7 @@ impl serde::Serialize for ChainDescriptor { } impl<'de> serde::Deserialize<'de> for ChainDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -300,7 +300,7 @@ impl<'de> serde::Deserialize<'de> for ChainDescriptor { Id, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -309,12 +309,12 @@ impl<'de> serde::Deserialize<'de> for ChainDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -331,22 +331,22 @@ impl<'de> serde::Deserialize<'de> for ChainDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ChainDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.ChainDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Id => { if id__.is_some() { return Err(serde::de::Error::duplicate_field("id")); } - id__ = Some(map_.next_value()?); + id__ = Some(map.next_value()?); } } } @@ -360,7 +360,7 @@ impl<'de> serde::Deserialize<'de> for ChainDescriptor { } impl serde::Serialize for CodecDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -378,7 +378,7 @@ impl serde::Serialize for CodecDescriptor { } impl<'de> serde::Deserialize<'de> for CodecDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -391,7 +391,7 @@ impl<'de> serde::Deserialize<'de> for CodecDescriptor { Interfaces, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -400,12 +400,12 @@ impl<'de> serde::Deserialize<'de> for CodecDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -422,22 +422,22 @@ impl<'de> serde::Deserialize<'de> for CodecDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CodecDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.CodecDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut interfaces__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Interfaces => { if interfaces__.is_some() { return Err(serde::de::Error::duplicate_field("interfaces")); } - interfaces__ = Some(map_.next_value()?); + interfaces__ = Some(map.next_value()?); } } } @@ -451,7 +451,7 @@ impl<'de> serde::Deserialize<'de> for CodecDescriptor { } impl serde::Serialize for ConfigurationDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -469,7 +469,7 @@ impl serde::Serialize for ConfigurationDescriptor { } impl<'de> serde::Deserialize<'de> for ConfigurationDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -483,7 +483,7 @@ impl<'de> serde::Deserialize<'de> for ConfigurationDescriptor { Bech32AccountAddressPrefix, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -492,12 +492,12 @@ impl<'de> serde::Deserialize<'de> for ConfigurationDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -514,22 +514,22 @@ impl<'de> serde::Deserialize<'de> for ConfigurationDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConfigurationDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.ConfigurationDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut bech32_account_address_prefix__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Bech32AccountAddressPrefix => { if bech32_account_address_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("bech32AccountAddressPrefix")); } - bech32_account_address_prefix__ = Some(map_.next_value()?); + bech32_account_address_prefix__ = Some(map.next_value()?); } } } @@ -543,7 +543,7 @@ impl<'de> serde::Deserialize<'de> for ConfigurationDescriptor { } impl serde::Serialize for GetAuthnDescriptorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -555,7 +555,7 @@ impl serde::Serialize for GetAuthnDescriptorRequest { } impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -566,7 +566,7 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -575,12 +575,12 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -594,16 +594,16 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetAuthnDescriptorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetAuthnDescriptorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(GetAuthnDescriptorRequest { }) @@ -614,7 +614,7 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorRequest { } impl serde::Serialize for GetAuthnDescriptorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -632,7 +632,7 @@ impl serde::Serialize for GetAuthnDescriptorResponse { } impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -645,7 +645,7 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorResponse { Authn, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -654,12 +654,12 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -676,22 +676,22 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetAuthnDescriptorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authn__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authn => { if authn__.is_some() { return Err(serde::de::Error::duplicate_field("authn")); } - authn__ = map_.next_value()?; + authn__ = map.next_value()?; } } } @@ -705,7 +705,7 @@ impl<'de> serde::Deserialize<'de> for GetAuthnDescriptorResponse { } impl serde::Serialize for GetChainDescriptorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -717,7 +717,7 @@ impl serde::Serialize for GetChainDescriptorRequest { } impl<'de> serde::Deserialize<'de> for GetChainDescriptorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -728,7 +728,7 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -737,12 +737,12 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -756,16 +756,16 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetChainDescriptorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetChainDescriptorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(GetChainDescriptorRequest { }) @@ -776,7 +776,7 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorRequest { } impl serde::Serialize for GetChainDescriptorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -794,7 +794,7 @@ impl serde::Serialize for GetChainDescriptorResponse { } impl<'de> serde::Deserialize<'de> for GetChainDescriptorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -807,7 +807,7 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorResponse { Chain, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -816,12 +816,12 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -838,22 +838,22 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetChainDescriptorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut chain__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Chain => { if chain__.is_some() { return Err(serde::de::Error::duplicate_field("chain")); } - chain__ = map_.next_value()?; + chain__ = map.next_value()?; } } } @@ -867,7 +867,7 @@ impl<'de> serde::Deserialize<'de> for GetChainDescriptorResponse { } impl serde::Serialize for GetCodecDescriptorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -879,7 +879,7 @@ impl serde::Serialize for GetCodecDescriptorRequest { } impl<'de> serde::Deserialize<'de> for GetCodecDescriptorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -890,7 +890,7 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -899,12 +899,12 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -918,16 +918,16 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetCodecDescriptorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetCodecDescriptorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(GetCodecDescriptorRequest { }) @@ -938,7 +938,7 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorRequest { } impl serde::Serialize for GetCodecDescriptorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -956,7 +956,7 @@ impl serde::Serialize for GetCodecDescriptorResponse { } impl<'de> serde::Deserialize<'de> for GetCodecDescriptorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -969,7 +969,7 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorResponse { Codec, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -978,12 +978,12 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1000,22 +1000,22 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetCodecDescriptorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut codec__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Codec => { if codec__.is_some() { return Err(serde::de::Error::duplicate_field("codec")); } - codec__ = map_.next_value()?; + codec__ = map.next_value()?; } } } @@ -1029,7 +1029,7 @@ impl<'de> serde::Deserialize<'de> for GetCodecDescriptorResponse { } impl serde::Serialize for GetConfigurationDescriptorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1041,7 +1041,7 @@ impl serde::Serialize for GetConfigurationDescriptorRequest { } impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1052,7 +1052,7 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1061,12 +1061,12 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1080,16 +1080,16 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetConfigurationDescriptorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(GetConfigurationDescriptorRequest { }) @@ -1100,7 +1100,7 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorRequest { } impl serde::Serialize for GetConfigurationDescriptorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1118,7 +1118,7 @@ impl serde::Serialize for GetConfigurationDescriptorResponse { } impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1131,7 +1131,7 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorResponse { Config, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1140,12 +1140,12 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1162,22 +1162,22 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetConfigurationDescriptorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut config__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Config => { if config__.is_some() { return Err(serde::de::Error::duplicate_field("config")); } - config__ = map_.next_value()?; + config__ = map.next_value()?; } } } @@ -1191,7 +1191,7 @@ impl<'de> serde::Deserialize<'de> for GetConfigurationDescriptorResponse { } impl serde::Serialize for GetQueryServicesDescriptorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1203,7 +1203,7 @@ impl serde::Serialize for GetQueryServicesDescriptorRequest { } impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1214,7 +1214,7 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1223,12 +1223,12 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1242,16 +1242,16 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetQueryServicesDescriptorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(GetQueryServicesDescriptorRequest { }) @@ -1262,7 +1262,7 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorRequest { } impl serde::Serialize for GetQueryServicesDescriptorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1280,7 +1280,7 @@ impl serde::Serialize for GetQueryServicesDescriptorResponse { } impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1293,7 +1293,7 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorResponse { Queries, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1302,12 +1302,12 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1324,22 +1324,22 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetQueryServicesDescriptorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut queries__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Queries => { if queries__.is_some() { return Err(serde::de::Error::duplicate_field("queries")); } - queries__ = map_.next_value()?; + queries__ = map.next_value()?; } } } @@ -1353,7 +1353,7 @@ impl<'de> serde::Deserialize<'de> for GetQueryServicesDescriptorResponse { } impl serde::Serialize for GetTxDescriptorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1365,7 +1365,7 @@ impl serde::Serialize for GetTxDescriptorRequest { } impl<'de> serde::Deserialize<'de> for GetTxDescriptorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1376,7 +1376,7 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1385,12 +1385,12 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1404,16 +1404,16 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetTxDescriptorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetTxDescriptorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(GetTxDescriptorRequest { }) @@ -1424,7 +1424,7 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorRequest { } impl serde::Serialize for GetTxDescriptorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1442,7 +1442,7 @@ impl serde::Serialize for GetTxDescriptorResponse { } impl<'de> serde::Deserialize<'de> for GetTxDescriptorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1455,7 +1455,7 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorResponse { Tx, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1464,12 +1464,12 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1486,22 +1486,22 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GetTxDescriptorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut tx__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Tx => { if tx__.is_some() { return Err(serde::de::Error::duplicate_field("tx")); } - tx__ = map_.next_value()?; + tx__ = map.next_value()?; } } } @@ -1515,7 +1515,7 @@ impl<'de> serde::Deserialize<'de> for GetTxDescriptorResponse { } impl serde::Serialize for InterfaceAcceptingMessageDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1539,7 +1539,7 @@ impl serde::Serialize for InterfaceAcceptingMessageDescriptor { } impl<'de> serde::Deserialize<'de> for InterfaceAcceptingMessageDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1555,7 +1555,7 @@ impl<'de> serde::Deserialize<'de> for InterfaceAcceptingMessageDescriptor { FieldDescriptorNames, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1564,12 +1564,12 @@ impl<'de> serde::Deserialize<'de> for InterfaceAcceptingMessageDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1587,29 +1587,29 @@ impl<'de> serde::Deserialize<'de> for InterfaceAcceptingMessageDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InterfaceAcceptingMessageDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fullname__ = None; let mut field_descriptor_names__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fullname => { if fullname__.is_some() { return Err(serde::de::Error::duplicate_field("fullname")); } - fullname__ = Some(map_.next_value()?); + fullname__ = Some(map.next_value()?); } GeneratedField::FieldDescriptorNames => { if field_descriptor_names__.is_some() { return Err(serde::de::Error::duplicate_field("fieldDescriptorNames")); } - field_descriptor_names__ = Some(map_.next_value()?); + field_descriptor_names__ = Some(map.next_value()?); } } } @@ -1624,7 +1624,7 @@ impl<'de> serde::Deserialize<'de> for InterfaceAcceptingMessageDescriptor { } impl serde::Serialize for InterfaceDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1654,7 +1654,7 @@ impl serde::Serialize for InterfaceDescriptor { } impl<'de> serde::Deserialize<'de> for InterfaceDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1673,7 +1673,7 @@ impl<'de> serde::Deserialize<'de> for InterfaceDescriptor { InterfaceImplementers, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1682,12 +1682,12 @@ impl<'de> serde::Deserialize<'de> for InterfaceDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1706,36 +1706,36 @@ impl<'de> serde::Deserialize<'de> for InterfaceDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InterfaceDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.InterfaceDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fullname__ = None; let mut interface_accepting_messages__ = None; let mut interface_implementers__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fullname => { if fullname__.is_some() { return Err(serde::de::Error::duplicate_field("fullname")); } - fullname__ = Some(map_.next_value()?); + fullname__ = Some(map.next_value()?); } GeneratedField::InterfaceAcceptingMessages => { if interface_accepting_messages__.is_some() { return Err(serde::de::Error::duplicate_field("interfaceAcceptingMessages")); } - interface_accepting_messages__ = Some(map_.next_value()?); + interface_accepting_messages__ = Some(map.next_value()?); } GeneratedField::InterfaceImplementers => { if interface_implementers__.is_some() { return Err(serde::de::Error::duplicate_field("interfaceImplementers")); } - interface_implementers__ = Some(map_.next_value()?); + interface_implementers__ = Some(map.next_value()?); } } } @@ -1751,7 +1751,7 @@ impl<'de> serde::Deserialize<'de> for InterfaceDescriptor { } impl serde::Serialize for InterfaceImplementerDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1775,7 +1775,7 @@ impl serde::Serialize for InterfaceImplementerDescriptor { } impl<'de> serde::Deserialize<'de> for InterfaceImplementerDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1791,7 +1791,7 @@ impl<'de> serde::Deserialize<'de> for InterfaceImplementerDescriptor { TypeUrl, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1800,12 +1800,12 @@ impl<'de> serde::Deserialize<'de> for InterfaceImplementerDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1823,29 +1823,29 @@ impl<'de> serde::Deserialize<'de> for InterfaceImplementerDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InterfaceImplementerDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fullname__ = None; let mut type_url__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fullname => { if fullname__.is_some() { return Err(serde::de::Error::duplicate_field("fullname")); } - fullname__ = Some(map_.next_value()?); + fullname__ = Some(map.next_value()?); } GeneratedField::TypeUrl => { if type_url__.is_some() { return Err(serde::de::Error::duplicate_field("typeUrl")); } - type_url__ = Some(map_.next_value()?); + type_url__ = Some(map.next_value()?); } } } @@ -1860,7 +1860,7 @@ impl<'de> serde::Deserialize<'de> for InterfaceImplementerDescriptor { } impl serde::Serialize for MsgDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1878,7 +1878,7 @@ impl serde::Serialize for MsgDescriptor { } impl<'de> serde::Deserialize<'de> for MsgDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1892,7 +1892,7 @@ impl<'de> serde::Deserialize<'de> for MsgDescriptor { MsgTypeUrl, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1901,12 +1901,12 @@ impl<'de> serde::Deserialize<'de> for MsgDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1923,22 +1923,22 @@ impl<'de> serde::Deserialize<'de> for MsgDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.MsgDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut msg_type_url__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MsgTypeUrl => { if msg_type_url__.is_some() { return Err(serde::de::Error::duplicate_field("msgTypeUrl")); } - msg_type_url__ = Some(map_.next_value()?); + msg_type_url__ = Some(map.next_value()?); } } } @@ -1952,7 +1952,7 @@ impl<'de> serde::Deserialize<'de> for MsgDescriptor { } impl serde::Serialize for QueryMethodDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1976,7 +1976,7 @@ impl serde::Serialize for QueryMethodDescriptor { } impl<'de> serde::Deserialize<'de> for QueryMethodDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1992,7 +1992,7 @@ impl<'de> serde::Deserialize<'de> for QueryMethodDescriptor { FullQueryPath, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2001,12 +2001,12 @@ impl<'de> serde::Deserialize<'de> for QueryMethodDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2024,29 +2024,29 @@ impl<'de> serde::Deserialize<'de> for QueryMethodDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryMethodDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.QueryMethodDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut full_query_path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::FullQueryPath => { if full_query_path__.is_some() { return Err(serde::de::Error::duplicate_field("fullQueryPath")); } - full_query_path__ = Some(map_.next_value()?); + full_query_path__ = Some(map.next_value()?); } } } @@ -2061,7 +2061,7 @@ impl<'de> serde::Deserialize<'de> for QueryMethodDescriptor { } impl serde::Serialize for QueryServiceDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2091,7 +2091,7 @@ impl serde::Serialize for QueryServiceDescriptor { } impl<'de> serde::Deserialize<'de> for QueryServiceDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2109,7 +2109,7 @@ impl<'de> serde::Deserialize<'de> for QueryServiceDescriptor { Methods, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2118,12 +2118,12 @@ impl<'de> serde::Deserialize<'de> for QueryServiceDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2142,36 +2142,36 @@ impl<'de> serde::Deserialize<'de> for QueryServiceDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryServiceDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.QueryServiceDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fullname__ = None; let mut is_module__ = None; let mut methods__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fullname => { if fullname__.is_some() { return Err(serde::de::Error::duplicate_field("fullname")); } - fullname__ = Some(map_.next_value()?); + fullname__ = Some(map.next_value()?); } GeneratedField::IsModule => { if is_module__.is_some() { return Err(serde::de::Error::duplicate_field("isModule")); } - is_module__ = Some(map_.next_value()?); + is_module__ = Some(map.next_value()?); } GeneratedField::Methods => { if methods__.is_some() { return Err(serde::de::Error::duplicate_field("methods")); } - methods__ = Some(map_.next_value()?); + methods__ = Some(map.next_value()?); } } } @@ -2187,7 +2187,7 @@ impl<'de> serde::Deserialize<'de> for QueryServiceDescriptor { } impl serde::Serialize for QueryServicesDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2205,7 +2205,7 @@ impl serde::Serialize for QueryServicesDescriptor { } impl<'de> serde::Deserialize<'de> for QueryServicesDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2219,7 +2219,7 @@ impl<'de> serde::Deserialize<'de> for QueryServicesDescriptor { QueryServices, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2228,12 +2228,12 @@ impl<'de> serde::Deserialize<'de> for QueryServicesDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2250,22 +2250,22 @@ impl<'de> serde::Deserialize<'de> for QueryServicesDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryServicesDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.QueryServicesDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut query_services__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::QueryServices => { if query_services__.is_some() { return Err(serde::de::Error::duplicate_field("queryServices")); } - query_services__ = Some(map_.next_value()?); + query_services__ = Some(map.next_value()?); } } } @@ -2279,7 +2279,7 @@ impl<'de> serde::Deserialize<'de> for QueryServicesDescriptor { } impl serde::Serialize for SigningModeDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2309,7 +2309,7 @@ impl serde::Serialize for SigningModeDescriptor { } impl<'de> serde::Deserialize<'de> for SigningModeDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2327,7 +2327,7 @@ impl<'de> serde::Deserialize<'de> for SigningModeDescriptor { AuthnInfoProviderMethodFullname, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2336,12 +2336,12 @@ impl<'de> serde::Deserialize<'de> for SigningModeDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2360,38 +2360,38 @@ impl<'de> serde::Deserialize<'de> for SigningModeDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SigningModeDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.SigningModeDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut number__ = None; let mut authn_info_provider_method_fullname__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Number => { if number__.is_some() { return Err(serde::de::Error::duplicate_field("number")); } number__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::AuthnInfoProviderMethodFullname => { if authn_info_provider_method_fullname__.is_some() { return Err(serde::de::Error::duplicate_field("authnInfoProviderMethodFullname")); } - authn_info_provider_method_fullname__ = Some(map_.next_value()?); + authn_info_provider_method_fullname__ = Some(map.next_value()?); } } } @@ -2407,7 +2407,7 @@ impl<'de> serde::Deserialize<'de> for SigningModeDescriptor { } impl serde::Serialize for TxDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2431,7 +2431,7 @@ impl serde::Serialize for TxDescriptor { } impl<'de> serde::Deserialize<'de> for TxDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2446,7 +2446,7 @@ impl<'de> serde::Deserialize<'de> for TxDescriptor { Msgs, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2455,12 +2455,12 @@ impl<'de> serde::Deserialize<'de> for TxDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2478,29 +2478,29 @@ impl<'de> serde::Deserialize<'de> for TxDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TxDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.reflection.v2alpha1.TxDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fullname__ = None; let mut msgs__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fullname => { if fullname__.is_some() { return Err(serde::de::Error::duplicate_field("fullname")); } - fullname__ = Some(map_.next_value()?); + fullname__ = Some(map.next_value()?); } GeneratedField::Msgs => { if msgs__.is_some() { return Err(serde::de::Error::duplicate_field("msgs")); } - msgs__ = Some(map_.next_value()?); + msgs__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.base.snapshots.v1beta1.serde.rs b/src/prost/cosmos.base.snapshots.v1beta1.serde.rs index 581c9a49..764f715b 100644 --- a/src/prost/cosmos.base.snapshots.v1beta1.serde.rs +++ b/src/prost/cosmos.base.snapshots.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Metadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -11,14 +11,14 @@ impl serde::Serialize for Metadata { } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.Metadata", len)?; if !self.chunk_hashes.is_empty() { - struct_ser.serialize_field("chunkHashes", &self.chunk_hashes.iter().map(pbjson::private::base64::encode).collect::>())?; + struct_ser.serialize_field("chunkHashes", &self.chunk_hashes.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Metadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,7 +32,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { ChunkHashes, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,12 +41,12 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -63,23 +63,23 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Metadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.Metadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut chunk_hashes__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChunkHashes => { if chunk_hashes__.is_some() { return Err(serde::de::Error::duplicate_field("chunkHashes")); } chunk_hashes__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::BytesDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -95,7 +95,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { } impl serde::Serialize for Snapshot { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -118,8 +118,7 @@ impl serde::Serialize for Snapshot { } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.Snapshot", len)?; if self.height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } if self.format != 0 { struct_ser.serialize_field("format", &self.format)?; @@ -128,7 +127,6 @@ impl serde::Serialize for Snapshot { struct_ser.serialize_field("chunks", &self.chunks)?; } if !self.hash.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; } if let Some(v) = self.metadata.as_ref() { @@ -139,7 +137,7 @@ impl serde::Serialize for Snapshot { } impl<'de> serde::Deserialize<'de> for Snapshot { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -160,7 +158,7 @@ impl<'de> serde::Deserialize<'de> for Snapshot { Metadata, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -169,12 +167,12 @@ impl<'de> serde::Deserialize<'de> for Snapshot { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -195,11 +193,11 @@ impl<'de> serde::Deserialize<'de> for Snapshot { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Snapshot; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.Snapshot") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -208,14 +206,14 @@ impl<'de> serde::Deserialize<'de> for Snapshot { let mut chunks__ = None; let mut hash__ = None; let mut metadata__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Format => { @@ -223,7 +221,7 @@ impl<'de> serde::Deserialize<'de> for Snapshot { return Err(serde::de::Error::duplicate_field("format")); } format__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Chunks => { @@ -231,7 +229,7 @@ impl<'de> serde::Deserialize<'de> for Snapshot { return Err(serde::de::Error::duplicate_field("chunks")); } chunks__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Hash => { @@ -239,14 +237,14 @@ impl<'de> serde::Deserialize<'de> for Snapshot { return Err(serde::de::Error::duplicate_field("hash")); } hash__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = map_.next_value()?; + metadata__ = map.next_value()?; } } } @@ -264,7 +262,7 @@ impl<'de> serde::Deserialize<'de> for Snapshot { } impl serde::Serialize for SnapshotExtensionMeta { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -288,7 +286,7 @@ impl serde::Serialize for SnapshotExtensionMeta { } impl<'de> serde::Deserialize<'de> for SnapshotExtensionMeta { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -303,7 +301,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionMeta { Format, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -312,12 +310,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionMeta { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -335,30 +333,30 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionMeta { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotExtensionMeta; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut format__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Format => { if format__.is_some() { return Err(serde::de::Error::duplicate_field("format")); } format__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -374,7 +372,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionMeta { } impl serde::Serialize for SnapshotExtensionPayload { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -385,7 +383,6 @@ impl serde::Serialize for SnapshotExtensionPayload { } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload", len)?; if !self.payload.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("payload", pbjson::private::base64::encode(&self.payload).as_str())?; } struct_ser.end() @@ -393,7 +390,7 @@ impl serde::Serialize for SnapshotExtensionPayload { } impl<'de> serde::Deserialize<'de> for SnapshotExtensionPayload { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -406,7 +403,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionPayload { Payload, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -415,12 +412,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionPayload { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -437,23 +434,23 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionPayload { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotExtensionPayload; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut payload__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Payload => { if payload__.is_some() { return Err(serde::de::Error::duplicate_field("payload")); } payload__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -468,7 +465,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotExtensionPayload { } impl serde::Serialize for SnapshotIavlItem { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -488,16 +485,13 @@ impl serde::Serialize for SnapshotIavlItem { } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotIAVLItem", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } if self.version != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } if self.height != 0 { struct_ser.serialize_field("height", &self.height)?; @@ -507,7 +501,7 @@ impl serde::Serialize for SnapshotIavlItem { } impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -526,7 +520,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -535,12 +529,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -560,11 +554,11 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotIavlItem; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotIAVLItem") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -572,14 +566,14 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { let mut value__ = None; let mut version__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -587,7 +581,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Version => { @@ -595,7 +589,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { return Err(serde::de::Error::duplicate_field("version")); } version__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Height => { @@ -603,7 +597,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { return Err(serde::de::Error::duplicate_field("height")); } height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -621,7 +615,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotIavlItem { } impl serde::Serialize for SnapshotItem { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -658,7 +652,7 @@ impl serde::Serialize for SnapshotItem { } impl<'de> serde::Deserialize<'de> for SnapshotItem { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -682,7 +676,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotItem { Schema, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -691,12 +685,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -718,57 +712,57 @@ impl<'de> serde::Deserialize<'de> for SnapshotItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotItem; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotItem") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut item__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Store => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("store")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Store) + item__ = map.next_value::<::core::option::Option<_>>()?.map(snapshot_item::Item::Store) ; } GeneratedField::Iavl => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("iavl")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Iavl) + item__ = map.next_value::<::core::option::Option<_>>()?.map(snapshot_item::Item::Iavl) ; } GeneratedField::Extension => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("extension")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Extension) + item__ = map.next_value::<::core::option::Option<_>>()?.map(snapshot_item::Item::Extension) ; } GeneratedField::ExtensionPayload => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("extensionPayload")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::ExtensionPayload) + item__ = map.next_value::<::core::option::Option<_>>()?.map(snapshot_item::Item::ExtensionPayload) ; } GeneratedField::Kv => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("kv")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Kv) + item__ = map.next_value::<::core::option::Option<_>>()?.map(snapshot_item::Item::Kv) ; } GeneratedField::Schema => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("schema")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(snapshot_item::Item::Schema) + item__ = map.next_value::<::core::option::Option<_>>()?.map(snapshot_item::Item::Schema) ; } } @@ -783,7 +777,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotItem { } impl serde::Serialize for SnapshotKvItem { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -797,11 +791,9 @@ impl serde::Serialize for SnapshotKvItem { } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotKVItem", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -809,7 +801,7 @@ impl serde::Serialize for SnapshotKvItem { } impl<'de> serde::Deserialize<'de> for SnapshotKvItem { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -824,7 +816,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotKvItem { Value, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -833,12 +825,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotKvItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -856,24 +848,24 @@ impl<'de> serde::Deserialize<'de> for SnapshotKvItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotKvItem; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotKVItem") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; let mut value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -881,7 +873,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotKvItem { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -897,7 +889,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotKvItem { } impl serde::Serialize for SnapshotSchema { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -908,14 +900,14 @@ impl serde::Serialize for SnapshotSchema { } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotSchema", len)?; if !self.keys.is_empty() { - struct_ser.serialize_field("keys", &self.keys.iter().map(pbjson::private::base64::encode).collect::>())?; + struct_ser.serialize_field("keys", &self.keys.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for SnapshotSchema { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -928,7 +920,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotSchema { Keys, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -937,12 +929,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotSchema { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -959,23 +951,23 @@ impl<'de> serde::Deserialize<'de> for SnapshotSchema { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotSchema; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotSchema") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut keys__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Keys => { if keys__.is_some() { return Err(serde::de::Error::duplicate_field("keys")); } keys__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::BytesDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -991,7 +983,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotSchema { } impl serde::Serialize for SnapshotStoreItem { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1009,7 +1001,7 @@ impl serde::Serialize for SnapshotStoreItem { } impl<'de> serde::Deserialize<'de> for SnapshotStoreItem { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1022,7 +1014,7 @@ impl<'de> serde::Deserialize<'de> for SnapshotStoreItem { Name, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1031,12 +1023,12 @@ impl<'de> serde::Deserialize<'de> for SnapshotStoreItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1053,22 +1045,22 @@ impl<'de> serde::Deserialize<'de> for SnapshotStoreItem { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SnapshotStoreItem; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.snapshots.v1beta1.SnapshotStoreItem") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.base.store.v1beta1.serde.rs b/src/prost/cosmos.base.store.v1beta1.serde.rs index 444318e9..703d6e12 100644 --- a/src/prost/cosmos.base.store.v1beta1.serde.rs +++ b/src/prost/cosmos.base.store.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for BlockMetadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -48,7 +48,7 @@ impl serde::Serialize for BlockMetadata { } impl<'de> serde::Deserialize<'de> for BlockMetadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -77,7 +77,7 @@ impl<'de> serde::Deserialize<'de> for BlockMetadata { ResponseCommit, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -86,12 +86,12 @@ impl<'de> serde::Deserialize<'de> for BlockMetadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -113,11 +113,11 @@ impl<'de> serde::Deserialize<'de> for BlockMetadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = BlockMetadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.store.v1beta1.BlockMetadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -127,43 +127,43 @@ impl<'de> serde::Deserialize<'de> for BlockMetadata { let mut request_end_block__ = None; let mut response_end_block__ = None; let mut response_commit__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::RequestBeginBlock => { if request_begin_block__.is_some() { return Err(serde::de::Error::duplicate_field("requestBeginBlock")); } - request_begin_block__ = map_.next_value()?; + request_begin_block__ = map.next_value()?; } GeneratedField::ResponseBeginBlock => { if response_begin_block__.is_some() { return Err(serde::de::Error::duplicate_field("responseBeginBlock")); } - response_begin_block__ = map_.next_value()?; + response_begin_block__ = map.next_value()?; } GeneratedField::DeliverTxs => { if deliver_txs__.is_some() { return Err(serde::de::Error::duplicate_field("deliverTxs")); } - deliver_txs__ = Some(map_.next_value()?); + deliver_txs__ = Some(map.next_value()?); } GeneratedField::RequestEndBlock => { if request_end_block__.is_some() { return Err(serde::de::Error::duplicate_field("requestEndBlock")); } - request_end_block__ = map_.next_value()?; + request_end_block__ = map.next_value()?; } GeneratedField::ResponseEndBlock => { if response_end_block__.is_some() { return Err(serde::de::Error::duplicate_field("responseEndBlock")); } - response_end_block__ = map_.next_value()?; + response_end_block__ = map.next_value()?; } GeneratedField::ResponseCommit => { if response_commit__.is_some() { return Err(serde::de::Error::duplicate_field("responseCommit")); } - response_commit__ = map_.next_value()?; + response_commit__ = map.next_value()?; } } } @@ -182,7 +182,7 @@ impl<'de> serde::Deserialize<'de> for BlockMetadata { } impl serde::Serialize for block_metadata::DeliverTx { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -206,7 +206,7 @@ impl serde::Serialize for block_metadata::DeliverTx { } impl<'de> serde::Deserialize<'de> for block_metadata::DeliverTx { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -221,7 +221,7 @@ impl<'de> serde::Deserialize<'de> for block_metadata::DeliverTx { Response, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -230,12 +230,12 @@ impl<'de> serde::Deserialize<'de> for block_metadata::DeliverTx { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -253,29 +253,29 @@ impl<'de> serde::Deserialize<'de> for block_metadata::DeliverTx { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = block_metadata::DeliverTx; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.store.v1beta1.BlockMetadata.DeliverTx") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut request__ = None; let mut response__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Request => { if request__.is_some() { return Err(serde::de::Error::duplicate_field("request")); } - request__ = map_.next_value()?; + request__ = map.next_value()?; } GeneratedField::Response => { if response__.is_some() { return Err(serde::de::Error::duplicate_field("response")); } - response__ = map_.next_value()?; + response__ = map.next_value()?; } } } @@ -290,7 +290,7 @@ impl<'de> serde::Deserialize<'de> for block_metadata::DeliverTx { } impl serde::Serialize for CommitId { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -304,11 +304,9 @@ impl serde::Serialize for CommitId { } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.CommitID", len)?; if self.version != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } if !self.hash.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; } struct_ser.end() @@ -316,7 +314,7 @@ impl serde::Serialize for CommitId { } impl<'de> serde::Deserialize<'de> for CommitId { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -331,7 +329,7 @@ impl<'de> serde::Deserialize<'de> for CommitId { Hash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -340,12 +338,12 @@ impl<'de> serde::Deserialize<'de> for CommitId { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -363,24 +361,24 @@ impl<'de> serde::Deserialize<'de> for CommitId { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CommitId; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.store.v1beta1.CommitID") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut version__ = None; let mut hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } version__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Hash => { @@ -388,7 +386,7 @@ impl<'de> serde::Deserialize<'de> for CommitId { return Err(serde::de::Error::duplicate_field("hash")); } hash__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -404,7 +402,7 @@ impl<'de> serde::Deserialize<'de> for CommitId { } impl serde::Serialize for CommitInfo { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -421,8 +419,7 @@ impl serde::Serialize for CommitInfo { } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.CommitInfo", len)?; if self.version != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } if !self.store_infos.is_empty() { struct_ser.serialize_field("storeInfos", &self.store_infos)?; @@ -435,7 +432,7 @@ impl serde::Serialize for CommitInfo { } impl<'de> serde::Deserialize<'de> for CommitInfo { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -453,7 +450,7 @@ impl<'de> serde::Deserialize<'de> for CommitInfo { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -462,12 +459,12 @@ impl<'de> serde::Deserialize<'de> for CommitInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -486,38 +483,38 @@ impl<'de> serde::Deserialize<'de> for CommitInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CommitInfo; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.store.v1beta1.CommitInfo") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut version__ = None; let mut store_infos__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } version__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::StoreInfos => { if store_infos__.is_some() { return Err(serde::de::Error::duplicate_field("storeInfos")); } - store_infos__ = Some(map_.next_value()?); + store_infos__ = Some(map.next_value()?); } GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } - timestamp__ = map_.next_value()?; + timestamp__ = map.next_value()?; } } } @@ -533,7 +530,7 @@ impl<'de> serde::Deserialize<'de> for CommitInfo { } impl serde::Serialize for StoreInfo { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -557,7 +554,7 @@ impl serde::Serialize for StoreInfo { } impl<'de> serde::Deserialize<'de> for StoreInfo { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -573,7 +570,7 @@ impl<'de> serde::Deserialize<'de> for StoreInfo { CommitId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -582,12 +579,12 @@ impl<'de> serde::Deserialize<'de> for StoreInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -605,29 +602,29 @@ impl<'de> serde::Deserialize<'de> for StoreInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = StoreInfo; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.store.v1beta1.StoreInfo") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut commit_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::CommitId => { if commit_id__.is_some() { return Err(serde::de::Error::duplicate_field("commitId")); } - commit_id__ = map_.next_value()?; + commit_id__ = map.next_value()?; } } } @@ -642,7 +639,7 @@ impl<'de> serde::Deserialize<'de> for StoreInfo { } impl serde::Serialize for StoreKvPair { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -668,11 +665,9 @@ impl serde::Serialize for StoreKvPair { struct_ser.serialize_field("delete", &self.delete)?; } if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -680,7 +675,7 @@ impl serde::Serialize for StoreKvPair { } impl<'de> serde::Deserialize<'de> for StoreKvPair { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -700,7 +695,7 @@ impl<'de> serde::Deserialize<'de> for StoreKvPair { Value, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -709,12 +704,12 @@ impl<'de> serde::Deserialize<'de> for StoreKvPair { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -734,11 +729,11 @@ impl<'de> serde::Deserialize<'de> for StoreKvPair { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = StoreKvPair; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.store.v1beta1.StoreKVPair") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -746,26 +741,26 @@ impl<'de> serde::Deserialize<'de> for StoreKvPair { let mut delete__ = None; let mut key__ = None; let mut value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::StoreKey => { if store_key__.is_some() { return Err(serde::de::Error::duplicate_field("storeKey")); } - store_key__ = Some(map_.next_value()?); + store_key__ = Some(map.next_value()?); } GeneratedField::Delete => { if delete__.is_some() { return Err(serde::de::Error::duplicate_field("delete")); } - delete__ = Some(map_.next_value()?); + delete__ = Some(map.next_value()?); } GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -773,7 +768,7 @@ impl<'de> serde::Deserialize<'de> for StoreKvPair { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.base.v1beta1.serde.rs b/src/prost/cosmos.base.v1beta1.serde.rs index ef0b2c67..0f6b0d5a 100644 --- a/src/prost/cosmos.base.v1beta1.serde.rs +++ b/src/prost/cosmos.base.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Coin { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for Coin { } impl<'de> serde::Deserialize<'de> for Coin { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -39,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for Coin { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -48,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for Coin { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -71,29 +71,29 @@ impl<'de> serde::Deserialize<'de> for Coin { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Coin; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.v1beta1.Coin") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -108,7 +108,7 @@ impl<'de> serde::Deserialize<'de> for Coin { } impl serde::Serialize for DecCoin { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -132,7 +132,7 @@ impl serde::Serialize for DecCoin { } impl<'de> serde::Deserialize<'de> for DecCoin { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -147,7 +147,7 @@ impl<'de> serde::Deserialize<'de> for DecCoin { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -156,12 +156,12 @@ impl<'de> serde::Deserialize<'de> for DecCoin { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -179,29 +179,29 @@ impl<'de> serde::Deserialize<'de> for DecCoin { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DecCoin; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.v1beta1.DecCoin") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -216,7 +216,7 @@ impl<'de> serde::Deserialize<'de> for DecCoin { } impl serde::Serialize for DecProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -234,7 +234,7 @@ impl serde::Serialize for DecProto { } impl<'de> serde::Deserialize<'de> for DecProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -247,7 +247,7 @@ impl<'de> serde::Deserialize<'de> for DecProto { Dec, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -256,12 +256,12 @@ impl<'de> serde::Deserialize<'de> for DecProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -278,22 +278,22 @@ impl<'de> serde::Deserialize<'de> for DecProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DecProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.v1beta1.DecProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut dec__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Dec => { if dec__.is_some() { return Err(serde::de::Error::duplicate_field("dec")); } - dec__ = Some(map_.next_value()?); + dec__ = Some(map.next_value()?); } } } @@ -307,7 +307,7 @@ impl<'de> serde::Deserialize<'de> for DecProto { } impl serde::Serialize for IntProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -325,7 +325,7 @@ impl serde::Serialize for IntProto { } impl<'de> serde::Deserialize<'de> for IntProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -338,7 +338,7 @@ impl<'de> serde::Deserialize<'de> for IntProto { Int, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -347,12 +347,12 @@ impl<'de> serde::Deserialize<'de> for IntProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -369,22 +369,22 @@ impl<'de> serde::Deserialize<'de> for IntProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IntProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.base.v1beta1.IntProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut int__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Int => { if int__.is_some() { return Err(serde::de::Error::duplicate_field("int")); } - int__ = Some(map_.next_value()?); + int__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.crypto.ed25519.serde.rs b/src/prost/cosmos.crypto.ed25519.serde.rs index 342f3f6e..ed41876d 100644 --- a/src/prost/cosmos.crypto.ed25519.serde.rs +++ b/src/prost/cosmos.crypto.ed25519.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for PrivKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -11,7 +11,6 @@ impl serde::Serialize for PrivKey { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.ed25519.PrivKey", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -19,7 +18,7 @@ impl serde::Serialize for PrivKey { } impl<'de> serde::Deserialize<'de> for PrivKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for PrivKey { Key, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for PrivKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -63,23 +62,23 @@ impl<'de> serde::Deserialize<'de> for PrivKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PrivKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.ed25519.PrivKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -94,7 +93,7 @@ impl<'de> serde::Deserialize<'de> for PrivKey { } impl serde::Serialize for PubKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -105,7 +104,6 @@ impl serde::Serialize for PubKey { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.ed25519.PubKey", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -113,7 +111,7 @@ impl serde::Serialize for PubKey { } impl<'de> serde::Deserialize<'de> for PubKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -126,7 +124,7 @@ impl<'de> serde::Deserialize<'de> for PubKey { Key, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -135,12 +133,12 @@ impl<'de> serde::Deserialize<'de> for PubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -157,23 +155,23 @@ impl<'de> serde::Deserialize<'de> for PubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PubKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.ed25519.PubKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.crypto.hd.v1.serde.rs b/src/prost/cosmos.crypto.hd.v1.serde.rs index 686379c0..ecb2762a 100644 --- a/src/prost/cosmos.crypto.hd.v1.serde.rs +++ b/src/prost/cosmos.crypto.hd.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Bip44Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -42,7 +42,7 @@ impl serde::Serialize for Bip44Params { } impl<'de> serde::Deserialize<'de> for Bip44Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -65,7 +65,7 @@ impl<'de> serde::Deserialize<'de> for Bip44Params { AddressIndex, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -74,12 +74,12 @@ impl<'de> serde::Deserialize<'de> for Bip44Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -100,11 +100,11 @@ impl<'de> serde::Deserialize<'de> for Bip44Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Bip44Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.hd.v1.BIP44Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -113,14 +113,14 @@ impl<'de> serde::Deserialize<'de> for Bip44Params { let mut account__ = None; let mut change__ = None; let mut address_index__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Purpose => { if purpose__.is_some() { return Err(serde::de::Error::duplicate_field("purpose")); } purpose__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::CoinType => { @@ -128,7 +128,7 @@ impl<'de> serde::Deserialize<'de> for Bip44Params { return Err(serde::de::Error::duplicate_field("coinType")); } coin_type__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Account => { @@ -136,21 +136,21 @@ impl<'de> serde::Deserialize<'de> for Bip44Params { return Err(serde::de::Error::duplicate_field("account")); } account__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Change => { if change__.is_some() { return Err(serde::de::Error::duplicate_field("change")); } - change__ = Some(map_.next_value()?); + change__ = Some(map.next_value()?); } GeneratedField::AddressIndex => { if address_index__.is_some() { return Err(serde::de::Error::duplicate_field("addressIndex")); } address_index__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.crypto.keyring.v1.serde.rs b/src/prost/cosmos.crypto.keyring.v1.serde.rs index 3ea6bbed..c7a9c54a 100644 --- a/src/prost/cosmos.crypto.keyring.v1.serde.rs +++ b/src/prost/cosmos.crypto.keyring.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Record { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -43,7 +43,7 @@ impl serde::Serialize for Record { } impl<'de> serde::Deserialize<'de> for Record { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -67,7 +67,7 @@ impl<'de> serde::Deserialize<'de> for Record { Offline, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -76,12 +76,12 @@ impl<'de> serde::Deserialize<'de> for Record { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -103,57 +103,57 @@ impl<'de> serde::Deserialize<'de> for Record { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Record; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.keyring.v1.Record") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut pub_key__ = None; let mut item__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::PubKey => { if pub_key__.is_some() { return Err(serde::de::Error::duplicate_field("pubKey")); } - pub_key__ = map_.next_value()?; + pub_key__ = map.next_value()?; } GeneratedField::Local => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("local")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Local) + item__ = map.next_value::<::core::option::Option<_>>()?.map(record::Item::Local) ; } GeneratedField::Ledger => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("ledger")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Ledger) + item__ = map.next_value::<::core::option::Option<_>>()?.map(record::Item::Ledger) ; } GeneratedField::Multi => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("multi")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Multi) + item__ = map.next_value::<::core::option::Option<_>>()?.map(record::Item::Multi) ; } GeneratedField::Offline => { if item__.is_some() { return Err(serde::de::Error::duplicate_field("offline")); } - item__ = map_.next_value::<::std::option::Option<_>>()?.map(record::Item::Offline) + item__ = map.next_value::<::core::option::Option<_>>()?.map(record::Item::Offline) ; } } @@ -170,7 +170,7 @@ impl<'de> serde::Deserialize<'de> for Record { } impl serde::Serialize for record::Ledger { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -188,7 +188,7 @@ impl serde::Serialize for record::Ledger { } impl<'de> serde::Deserialize<'de> for record::Ledger { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -201,7 +201,7 @@ impl<'de> serde::Deserialize<'de> for record::Ledger { Path, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -210,12 +210,12 @@ impl<'de> serde::Deserialize<'de> for record::Ledger { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -232,22 +232,22 @@ impl<'de> serde::Deserialize<'de> for record::Ledger { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = record::Ledger; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Ledger") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } - path__ = map_.next_value()?; + path__ = map.next_value()?; } } } @@ -261,7 +261,7 @@ impl<'de> serde::Deserialize<'de> for record::Ledger { } impl serde::Serialize for record::Local { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -279,7 +279,7 @@ impl serde::Serialize for record::Local { } impl<'de> serde::Deserialize<'de> for record::Local { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -293,7 +293,7 @@ impl<'de> serde::Deserialize<'de> for record::Local { PrivKey, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -302,12 +302,12 @@ impl<'de> serde::Deserialize<'de> for record::Local { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -324,22 +324,22 @@ impl<'de> serde::Deserialize<'de> for record::Local { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = record::Local; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Local") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut priv_key__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PrivKey => { if priv_key__.is_some() { return Err(serde::de::Error::duplicate_field("privKey")); } - priv_key__ = map_.next_value()?; + priv_key__ = map.next_value()?; } } } @@ -353,7 +353,7 @@ impl<'de> serde::Deserialize<'de> for record::Local { } impl serde::Serialize for record::Multi { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -365,7 +365,7 @@ impl serde::Serialize for record::Multi { } impl<'de> serde::Deserialize<'de> for record::Multi { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -376,7 +376,7 @@ impl<'de> serde::Deserialize<'de> for record::Multi { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -385,12 +385,12 @@ impl<'de> serde::Deserialize<'de> for record::Multi { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -404,16 +404,16 @@ impl<'de> serde::Deserialize<'de> for record::Multi { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = record::Multi; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Multi") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(record::Multi { }) @@ -424,7 +424,7 @@ impl<'de> serde::Deserialize<'de> for record::Multi { } impl serde::Serialize for record::Offline { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -436,7 +436,7 @@ impl serde::Serialize for record::Offline { } impl<'de> serde::Deserialize<'de> for record::Offline { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -447,7 +447,7 @@ impl<'de> serde::Deserialize<'de> for record::Offline { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -456,12 +456,12 @@ impl<'de> serde::Deserialize<'de> for record::Offline { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -475,16 +475,16 @@ impl<'de> serde::Deserialize<'de> for record::Offline { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = record::Offline; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.keyring.v1.Record.Offline") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(record::Offline { }) diff --git a/src/prost/cosmos.crypto.multisig.serde.rs b/src/prost/cosmos.crypto.multisig.serde.rs index 0f5613fc..ab40a7ef 100644 --- a/src/prost/cosmos.crypto.multisig.serde.rs +++ b/src/prost/cosmos.crypto.multisig.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for LegacyAminoPubKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for LegacyAminoPubKey { } impl<'de> serde::Deserialize<'de> for LegacyAminoPubKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for LegacyAminoPubKey { PublicKeys, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for LegacyAminoPubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -72,31 +72,31 @@ impl<'de> serde::Deserialize<'de> for LegacyAminoPubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = LegacyAminoPubKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.multisig.LegacyAminoPubKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut threshold__ = None; let mut public_keys__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Threshold => { if threshold__.is_some() { return Err(serde::de::Error::duplicate_field("threshold")); } threshold__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::PublicKeys => { if public_keys__.is_some() { return Err(serde::de::Error::duplicate_field("publicKeys")); } - public_keys__ = Some(map_.next_value()?); + public_keys__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs b/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs index 5021a9d5..6a6f8920 100644 --- a/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs +++ b/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for CompactBitArray { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -17,7 +17,6 @@ impl serde::Serialize for CompactBitArray { struct_ser.serialize_field("extraBitsStored", &self.extra_bits_stored)?; } if !self.elems.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("elems", pbjson::private::base64::encode(&self.elems).as_str())?; } struct_ser.end() @@ -25,7 +24,7 @@ impl serde::Serialize for CompactBitArray { } impl<'de> serde::Deserialize<'de> for CompactBitArray { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for CompactBitArray { Elems, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for CompactBitArray { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,24 +72,24 @@ impl<'de> serde::Deserialize<'de> for CompactBitArray { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CompactBitArray; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.multisig.v1beta1.CompactBitArray") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut extra_bits_stored__ = None; let mut elems__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ExtraBitsStored => { if extra_bits_stored__.is_some() { return Err(serde::de::Error::duplicate_field("extraBitsStored")); } extra_bits_stored__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Elems => { @@ -98,7 +97,7 @@ impl<'de> serde::Deserialize<'de> for CompactBitArray { return Err(serde::de::Error::duplicate_field("elems")); } elems__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -114,7 +113,7 @@ impl<'de> serde::Deserialize<'de> for CompactBitArray { } impl serde::Serialize for MultiSignature { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -125,14 +124,14 @@ impl serde::Serialize for MultiSignature { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.v1beta1.MultiSignature", len)?; if !self.signatures.is_empty() { - struct_ser.serialize_field("signatures", &self.signatures.iter().map(pbjson::private::base64::encode).collect::>())?; + struct_ser.serialize_field("signatures", &self.signatures.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MultiSignature { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -145,7 +144,7 @@ impl<'de> serde::Deserialize<'de> for MultiSignature { Signatures, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -154,12 +153,12 @@ impl<'de> serde::Deserialize<'de> for MultiSignature { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -176,23 +175,23 @@ impl<'de> serde::Deserialize<'de> for MultiSignature { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MultiSignature; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.multisig.v1beta1.MultiSignature") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signatures__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signatures => { if signatures__.is_some() { return Err(serde::de::Error::duplicate_field("signatures")); } signatures__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::BytesDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } diff --git a/src/prost/cosmos.crypto.secp256k1.serde.rs b/src/prost/cosmos.crypto.secp256k1.serde.rs index d7cd2ac1..328b08c2 100644 --- a/src/prost/cosmos.crypto.secp256k1.serde.rs +++ b/src/prost/cosmos.crypto.secp256k1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for PrivKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -11,7 +11,6 @@ impl serde::Serialize for PrivKey { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256k1.PrivKey", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -19,7 +18,7 @@ impl serde::Serialize for PrivKey { } impl<'de> serde::Deserialize<'de> for PrivKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for PrivKey { Key, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for PrivKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -63,23 +62,23 @@ impl<'de> serde::Deserialize<'de> for PrivKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PrivKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.secp256k1.PrivKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -94,7 +93,7 @@ impl<'de> serde::Deserialize<'de> for PrivKey { } impl serde::Serialize for PubKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -105,7 +104,6 @@ impl serde::Serialize for PubKey { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256k1.PubKey", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -113,7 +111,7 @@ impl serde::Serialize for PubKey { } impl<'de> serde::Deserialize<'de> for PubKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -126,7 +124,7 @@ impl<'de> serde::Deserialize<'de> for PubKey { Key, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -135,12 +133,12 @@ impl<'de> serde::Deserialize<'de> for PubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -157,23 +155,23 @@ impl<'de> serde::Deserialize<'de> for PubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PubKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.secp256k1.PubKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.crypto.secp256r1.serde.rs b/src/prost/cosmos.crypto.secp256r1.serde.rs index 6695d9af..b48a7f83 100644 --- a/src/prost/cosmos.crypto.secp256r1.serde.rs +++ b/src/prost/cosmos.crypto.secp256r1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for PrivKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -11,7 +11,6 @@ impl serde::Serialize for PrivKey { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256r1.PrivKey", len)?; if !self.secret.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("secret", pbjson::private::base64::encode(&self.secret).as_str())?; } struct_ser.end() @@ -19,7 +18,7 @@ impl serde::Serialize for PrivKey { } impl<'de> serde::Deserialize<'de> for PrivKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for PrivKey { Secret, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for PrivKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -63,23 +62,23 @@ impl<'de> serde::Deserialize<'de> for PrivKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PrivKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.secp256r1.PrivKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut secret__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Secret => { if secret__.is_some() { return Err(serde::de::Error::duplicate_field("secret")); } secret__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -94,7 +93,7 @@ impl<'de> serde::Deserialize<'de> for PrivKey { } impl serde::Serialize for PubKey { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -105,7 +104,6 @@ impl serde::Serialize for PubKey { } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256r1.PubKey", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -113,7 +111,7 @@ impl serde::Serialize for PubKey { } impl<'de> serde::Deserialize<'de> for PubKey { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -126,7 +124,7 @@ impl<'de> serde::Deserialize<'de> for PubKey { Key, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -135,12 +133,12 @@ impl<'de> serde::Deserialize<'de> for PubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -157,23 +155,23 @@ impl<'de> serde::Deserialize<'de> for PubKey { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PubKey; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.crypto.secp256r1.PubKey") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.gov.module.v1.serde.rs b/src/prost/cosmos.gov.module.v1.serde.rs index 553ad411..67380bca 100644 --- a/src/prost/cosmos.gov.module.v1.serde.rs +++ b/src/prost/cosmos.gov.module.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Module { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -14,8 +14,7 @@ impl serde::Serialize for Module { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.module.v1.Module", len)?; if self.max_metadata_len != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("maxMetadataLen", ToString::to_string(&self.max_metadata_len).as_str())?; + struct_ser.serialize_field("maxMetadataLen", ::alloc::string::ToString::to_string(&self.max_metadata_len).as_str())?; } if !self.authority.is_empty() { struct_ser.serialize_field("authority", &self.authority)?; @@ -25,7 +24,7 @@ impl serde::Serialize for Module { } impl<'de> serde::Deserialize<'de> for Module { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for Module { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,31 +72,31 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Module; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.module.v1.Module") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut max_metadata_len__ = None; let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MaxMetadataLen => { if max_metadata_len__.is_some() { return Err(serde::de::Error::duplicate_field("maxMetadataLen")); } max_metadata_len__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.gov.v1.serde.rs b/src/prost/cosmos.gov.v1.serde.rs index 4f689c29..ed3f2593 100644 --- a/src/prost/cosmos.gov.v1.serde.rs +++ b/src/prost/cosmos.gov.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Deposit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -17,8 +17,7 @@ impl serde::Serialize for Deposit { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Deposit", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.depositor.is_empty() { struct_ser.serialize_field("depositor", &self.depositor)?; @@ -31,7 +30,7 @@ impl serde::Serialize for Deposit { } impl<'de> serde::Deserialize<'de> for Deposit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,7 +48,7 @@ impl<'de> serde::Deserialize<'de> for Deposit { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -58,12 +57,12 @@ impl<'de> serde::Deserialize<'de> for Deposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -82,38 +81,38 @@ impl<'de> serde::Deserialize<'de> for Deposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Deposit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.Deposit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut depositor__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -129,7 +128,7 @@ impl<'de> serde::Deserialize<'de> for Deposit { } impl serde::Serialize for DepositParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -153,7 +152,7 @@ impl serde::Serialize for DepositParams { } impl<'de> serde::Deserialize<'de> for DepositParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -170,7 +169,7 @@ impl<'de> serde::Deserialize<'de> for DepositParams { MaxDepositPeriod, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -179,12 +178,12 @@ impl<'de> serde::Deserialize<'de> for DepositParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -202,29 +201,29 @@ impl<'de> serde::Deserialize<'de> for DepositParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DepositParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.DepositParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut min_deposit__ = None; let mut max_deposit_period__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MinDeposit => { if min_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("minDeposit")); } - min_deposit__ = Some(map_.next_value()?); + min_deposit__ = Some(map.next_value()?); } GeneratedField::MaxDepositPeriod => { if max_deposit_period__.is_some() { return Err(serde::de::Error::duplicate_field("maxDepositPeriod")); } - max_deposit_period__ = map_.next_value()?; + max_deposit_period__ = map.next_value()?; } } } @@ -239,7 +238,7 @@ impl<'de> serde::Deserialize<'de> for DepositParams { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -271,8 +270,7 @@ impl serde::Serialize for GenesisState { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.GenesisState", len)?; if self.starting_proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("startingProposalId", ToString::to_string(&self.starting_proposal_id).as_str())?; + struct_ser.serialize_field("startingProposalId", ::alloc::string::ToString::to_string(&self.starting_proposal_id).as_str())?; } if !self.deposits.is_empty() { struct_ser.serialize_field("deposits", &self.deposits)?; @@ -300,7 +298,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -331,7 +329,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -340,12 +338,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -369,11 +367,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -385,57 +383,57 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut voting_params__ = None; let mut tally_params__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::StartingProposalId => { if starting_proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("startingProposalId")); } starting_proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Deposits => { if deposits__.is_some() { return Err(serde::de::Error::duplicate_field("deposits")); } - deposits__ = Some(map_.next_value()?); + deposits__ = Some(map.next_value()?); } GeneratedField::Votes => { if votes__.is_some() { return Err(serde::de::Error::duplicate_field("votes")); } - votes__ = Some(map_.next_value()?); + votes__ = Some(map.next_value()?); } GeneratedField::Proposals => { if proposals__.is_some() { return Err(serde::de::Error::duplicate_field("proposals")); } - proposals__ = Some(map_.next_value()?); + proposals__ = Some(map.next_value()?); } GeneratedField::DepositParams => { if deposit_params__.is_some() { return Err(serde::de::Error::duplicate_field("depositParams")); } - deposit_params__ = map_.next_value()?; + deposit_params__ = map.next_value()?; } GeneratedField::VotingParams => { if voting_params__.is_some() { return Err(serde::de::Error::duplicate_field("votingParams")); } - voting_params__ = map_.next_value()?; + voting_params__ = map.next_value()?; } GeneratedField::TallyParams => { if tally_params__.is_some() { return Err(serde::de::Error::duplicate_field("tallyParams")); } - tally_params__ = map_.next_value()?; + tally_params__ = map.next_value()?; } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -456,7 +454,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for MsgDeposit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -473,8 +471,7 @@ impl serde::Serialize for MsgDeposit { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgDeposit", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.depositor.is_empty() { struct_ser.serialize_field("depositor", &self.depositor)?; @@ -487,7 +484,7 @@ impl serde::Serialize for MsgDeposit { } impl<'de> serde::Deserialize<'de> for MsgDeposit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -505,7 +502,7 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -514,12 +511,12 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -538,38 +535,38 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDeposit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgDeposit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut depositor__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -585,7 +582,7 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { } impl serde::Serialize for MsgDepositResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -597,7 +594,7 @@ impl serde::Serialize for MsgDepositResponse { } impl<'de> serde::Deserialize<'de> for MsgDepositResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -608,7 +605,7 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -617,12 +614,12 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -636,16 +633,16 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDepositResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgDepositResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgDepositResponse { }) @@ -656,7 +653,7 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { } impl serde::Serialize for MsgExecLegacyContent { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -680,7 +677,7 @@ impl serde::Serialize for MsgExecLegacyContent { } impl<'de> serde::Deserialize<'de> for MsgExecLegacyContent { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -695,7 +692,7 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContent { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -704,12 +701,12 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContent { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -727,29 +724,29 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContent { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgExecLegacyContent; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgExecLegacyContent") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut content__ = None; let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Content => { if content__.is_some() { return Err(serde::de::Error::duplicate_field("content")); } - content__ = map_.next_value()?; + content__ = map.next_value()?; } GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } @@ -764,7 +761,7 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContent { } impl serde::Serialize for MsgExecLegacyContentResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -776,7 +773,7 @@ impl serde::Serialize for MsgExecLegacyContentResponse { } impl<'de> serde::Deserialize<'de> for MsgExecLegacyContentResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -787,7 +784,7 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContentResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -796,12 +793,12 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContentResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -815,16 +812,16 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContentResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgExecLegacyContentResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgExecLegacyContentResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgExecLegacyContentResponse { }) @@ -835,7 +832,7 @@ impl<'de> serde::Deserialize<'de> for MsgExecLegacyContentResponse { } impl serde::Serialize for MsgSubmitProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -883,7 +880,7 @@ impl serde::Serialize for MsgSubmitProposal { } impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -907,7 +904,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { Summary, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -916,12 +913,12 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -943,11 +940,11 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSubmitProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgSubmitProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -957,43 +954,43 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { let mut metadata__ = None; let mut title__ = None; let mut summary__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Messages => { if messages__.is_some() { return Err(serde::de::Error::duplicate_field("messages")); } - messages__ = Some(map_.next_value()?); + messages__ = Some(map.next_value()?); } GeneratedField::InitialDeposit => { if initial_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("initialDeposit")); } - initial_deposit__ = Some(map_.next_value()?); + initial_deposit__ = Some(map.next_value()?); } GeneratedField::Proposer => { if proposer__.is_some() { return Err(serde::de::Error::duplicate_field("proposer")); } - proposer__ = Some(map_.next_value()?); + proposer__ = Some(map.next_value()?); } GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = Some(map_.next_value()?); + metadata__ = Some(map.next_value()?); } GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Summary => { if summary__.is_some() { return Err(serde::de::Error::duplicate_field("summary")); } - summary__ = Some(map_.next_value()?); + summary__ = Some(map.next_value()?); } } } @@ -1012,7 +1009,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { } impl serde::Serialize for MsgSubmitProposalResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1023,15 +1020,14 @@ impl serde::Serialize for MsgSubmitProposalResponse { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgSubmitProposalResponse", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1045,7 +1041,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { ProposalId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1054,12 +1050,12 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1076,23 +1072,23 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSubmitProposalResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgSubmitProposalResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -1107,7 +1103,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1131,7 +1127,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1146,7 +1142,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1155,12 +1151,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1178,29 +1174,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -1215,7 +1211,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1227,7 +1223,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1238,7 +1234,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1247,12 +1243,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1266,16 +1262,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -1286,7 +1282,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for MsgVote { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1306,15 +1302,14 @@ impl serde::Serialize for MsgVote { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVote", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; } if self.option != 0 { - let v = VoteOption::try_from(self.option) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + let v = VoteOption::from_i32(self.option) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } if !self.metadata.is_empty() { @@ -1325,7 +1320,7 @@ impl serde::Serialize for MsgVote { } impl<'de> serde::Deserialize<'de> for MsgVote { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1345,7 +1340,7 @@ impl<'de> serde::Deserialize<'de> for MsgVote { Metadata, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1354,12 +1349,12 @@ impl<'de> serde::Deserialize<'de> for MsgVote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1379,11 +1374,11 @@ impl<'de> serde::Deserialize<'de> for MsgVote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVote; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgVote") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1391,33 +1386,33 @@ impl<'de> serde::Deserialize<'de> for MsgVote { let mut voter__ = None; let mut option__ = None; let mut metadata__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Option => { if option__.is_some() { return Err(serde::de::Error::duplicate_field("option")); } - option__ = Some(map_.next_value::()? as i32); + option__ = Some(map.next_value::()? as i32); } GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = Some(map_.next_value()?); + metadata__ = Some(map.next_value()?); } } } @@ -1434,7 +1429,7 @@ impl<'de> serde::Deserialize<'de> for MsgVote { } impl serde::Serialize for MsgVoteResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1446,7 +1441,7 @@ impl serde::Serialize for MsgVoteResponse { } impl<'de> serde::Deserialize<'de> for MsgVoteResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1457,7 +1452,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1466,12 +1461,12 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1485,16 +1480,16 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVoteResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgVoteResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgVoteResponse { }) @@ -1505,7 +1500,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { } impl serde::Serialize for MsgVoteWeighted { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1525,8 +1520,7 @@ impl serde::Serialize for MsgVoteWeighted { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVoteWeighted", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; @@ -1542,7 +1536,7 @@ impl serde::Serialize for MsgVoteWeighted { } impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1562,7 +1556,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { Metadata, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1571,12 +1565,12 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1596,11 +1590,11 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVoteWeighted; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgVoteWeighted") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1608,33 +1602,33 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { let mut voter__ = None; let mut options__ = None; let mut metadata__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = Some(map_.next_value()?); + options__ = Some(map.next_value()?); } GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = Some(map_.next_value()?); + metadata__ = Some(map.next_value()?); } } } @@ -1651,7 +1645,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { } impl serde::Serialize for MsgVoteWeightedResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1663,7 +1657,7 @@ impl serde::Serialize for MsgVoteWeightedResponse { } impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1674,7 +1668,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1683,12 +1677,12 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1702,16 +1696,16 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVoteWeightedResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.MsgVoteWeightedResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgVoteWeightedResponse { }) @@ -1722,7 +1716,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1794,7 +1788,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1833,7 +1827,7 @@ impl<'de> serde::Deserialize<'de> for Params { BurnVoteVeto, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1842,12 +1836,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1873,11 +1867,11 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1891,67 +1885,67 @@ impl<'de> serde::Deserialize<'de> for Params { let mut burn_vote_quorum__ = None; let mut burn_proposal_deposit_prevote__ = None; let mut burn_vote_veto__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MinDeposit => { if min_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("minDeposit")); } - min_deposit__ = Some(map_.next_value()?); + min_deposit__ = Some(map.next_value()?); } GeneratedField::MaxDepositPeriod => { if max_deposit_period__.is_some() { return Err(serde::de::Error::duplicate_field("maxDepositPeriod")); } - max_deposit_period__ = map_.next_value()?; + max_deposit_period__ = map.next_value()?; } GeneratedField::VotingPeriod => { if voting_period__.is_some() { return Err(serde::de::Error::duplicate_field("votingPeriod")); } - voting_period__ = map_.next_value()?; + voting_period__ = map.next_value()?; } GeneratedField::Quorum => { if quorum__.is_some() { return Err(serde::de::Error::duplicate_field("quorum")); } - quorum__ = Some(map_.next_value()?); + quorum__ = Some(map.next_value()?); } GeneratedField::Threshold => { if threshold__.is_some() { return Err(serde::de::Error::duplicate_field("threshold")); } - threshold__ = Some(map_.next_value()?); + threshold__ = Some(map.next_value()?); } GeneratedField::VetoThreshold => { if veto_threshold__.is_some() { return Err(serde::de::Error::duplicate_field("vetoThreshold")); } - veto_threshold__ = Some(map_.next_value()?); + veto_threshold__ = Some(map.next_value()?); } GeneratedField::MinInitialDepositRatio => { if min_initial_deposit_ratio__.is_some() { return Err(serde::de::Error::duplicate_field("minInitialDepositRatio")); } - min_initial_deposit_ratio__ = Some(map_.next_value()?); + min_initial_deposit_ratio__ = Some(map.next_value()?); } GeneratedField::BurnVoteQuorum => { if burn_vote_quorum__.is_some() { return Err(serde::de::Error::duplicate_field("burnVoteQuorum")); } - burn_vote_quorum__ = Some(map_.next_value()?); + burn_vote_quorum__ = Some(map.next_value()?); } GeneratedField::BurnProposalDepositPrevote => { if burn_proposal_deposit_prevote__.is_some() { return Err(serde::de::Error::duplicate_field("burnProposalDepositPrevote")); } - burn_proposal_deposit_prevote__ = Some(map_.next_value()?); + burn_proposal_deposit_prevote__ = Some(map.next_value()?); } GeneratedField::BurnVoteVeto => { if burn_vote_veto__.is_some() { return Err(serde::de::Error::duplicate_field("burnVoteVeto")); } - burn_vote_veto__ = Some(map_.next_value()?); + burn_vote_veto__ = Some(map.next_value()?); } } } @@ -1974,7 +1968,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for Proposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2021,15 +2015,14 @@ impl serde::Serialize for Proposal { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Proposal", len)?; if self.id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("id", ToString::to_string(&self.id).as_str())?; + struct_ser.serialize_field("id", ::alloc::string::ToString::to_string(&self.id).as_str())?; } if !self.messages.is_empty() { struct_ser.serialize_field("messages", &self.messages)?; } if self.status != 0 { - let v = ProposalStatus::try_from(self.status) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.status)))?; + let v = ProposalStatus::from_i32(self.status) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.status)))?; struct_ser.serialize_field("status", &v)?; } if let Some(v) = self.final_tally_result.as_ref() { @@ -2067,7 +2060,7 @@ impl serde::Serialize for Proposal { } impl<'de> serde::Deserialize<'de> for Proposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2110,7 +2103,7 @@ impl<'de> serde::Deserialize<'de> for Proposal { Proposer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2119,12 +2112,12 @@ impl<'de> serde::Deserialize<'de> for Proposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2153,11 +2146,11 @@ impl<'de> serde::Deserialize<'de> for Proposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Proposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.Proposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2174,87 +2167,87 @@ impl<'de> serde::Deserialize<'de> for Proposal { let mut title__ = None; let mut summary__ = None; let mut proposer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Id => { if id__.is_some() { return Err(serde::de::Error::duplicate_field("id")); } id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Messages => { if messages__.is_some() { return Err(serde::de::Error::duplicate_field("messages")); } - messages__ = Some(map_.next_value()?); + messages__ = Some(map.next_value()?); } GeneratedField::Status => { if status__.is_some() { return Err(serde::de::Error::duplicate_field("status")); } - status__ = Some(map_.next_value::()? as i32); + status__ = Some(map.next_value::()? as i32); } GeneratedField::FinalTallyResult => { if final_tally_result__.is_some() { return Err(serde::de::Error::duplicate_field("finalTallyResult")); } - final_tally_result__ = map_.next_value()?; + final_tally_result__ = map.next_value()?; } GeneratedField::SubmitTime => { if submit_time__.is_some() { return Err(serde::de::Error::duplicate_field("submitTime")); } - submit_time__ = map_.next_value()?; + submit_time__ = map.next_value()?; } GeneratedField::DepositEndTime => { if deposit_end_time__.is_some() { return Err(serde::de::Error::duplicate_field("depositEndTime")); } - deposit_end_time__ = map_.next_value()?; + deposit_end_time__ = map.next_value()?; } GeneratedField::TotalDeposit => { if total_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("totalDeposit")); } - total_deposit__ = Some(map_.next_value()?); + total_deposit__ = Some(map.next_value()?); } GeneratedField::VotingStartTime => { if voting_start_time__.is_some() { return Err(serde::de::Error::duplicate_field("votingStartTime")); } - voting_start_time__ = map_.next_value()?; + voting_start_time__ = map.next_value()?; } GeneratedField::VotingEndTime => { if voting_end_time__.is_some() { return Err(serde::de::Error::duplicate_field("votingEndTime")); } - voting_end_time__ = map_.next_value()?; + voting_end_time__ = map.next_value()?; } GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = Some(map_.next_value()?); + metadata__ = Some(map.next_value()?); } GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Summary => { if summary__.is_some() { return Err(serde::de::Error::duplicate_field("summary")); } - summary__ = Some(map_.next_value()?); + summary__ = Some(map.next_value()?); } GeneratedField::Proposer => { if proposer__.is_some() { return Err(serde::de::Error::duplicate_field("proposer")); } - proposer__ = Some(map_.next_value()?); + proposer__ = Some(map.next_value()?); } } } @@ -2280,7 +2273,7 @@ impl<'de> serde::Deserialize<'de> for Proposal { } impl serde::Serialize for ProposalStatus { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2297,7 +2290,7 @@ impl serde::Serialize for ProposalStatus { } impl<'de> serde::Deserialize<'de> for ProposalStatus { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2315,35 +2308,37 @@ impl<'de> serde::Deserialize<'de> for ProposalStatus { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ProposalStatus; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(ProposalStatus::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(ProposalStatus::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2363,7 +2358,7 @@ impl<'de> serde::Deserialize<'de> for ProposalStatus { } impl serde::Serialize for QueryDepositRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2377,8 +2372,7 @@ impl serde::Serialize for QueryDepositRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.depositor.is_empty() { struct_ser.serialize_field("depositor", &self.depositor)?; @@ -2388,7 +2382,7 @@ impl serde::Serialize for QueryDepositRequest { } impl<'de> serde::Deserialize<'de> for QueryDepositRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2404,7 +2398,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { Depositor, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2413,12 +2407,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2436,31 +2430,31 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryDepositRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut depositor__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } } } @@ -2475,7 +2469,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { } impl serde::Serialize for QueryDepositResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2493,7 +2487,7 @@ impl serde::Serialize for QueryDepositResponse { } impl<'de> serde::Deserialize<'de> for QueryDepositResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2506,7 +2500,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { Deposit, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2515,12 +2509,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2537,22 +2531,22 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryDepositResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deposit__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deposit => { if deposit__.is_some() { return Err(serde::de::Error::duplicate_field("deposit")); } - deposit__ = map_.next_value()?; + deposit__ = map.next_value()?; } } } @@ -2566,7 +2560,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { } impl serde::Serialize for QueryDepositsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2580,8 +2574,7 @@ impl serde::Serialize for QueryDepositsRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositsRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; @@ -2591,7 +2584,7 @@ impl serde::Serialize for QueryDepositsRequest { } impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2607,7 +2600,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2616,12 +2609,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2639,31 +2632,31 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryDepositsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2678,7 +2671,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { } impl serde::Serialize for QueryDepositsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2702,7 +2695,7 @@ impl serde::Serialize for QueryDepositsResponse { } impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2717,7 +2710,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2726,12 +2719,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2749,29 +2742,29 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryDepositsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deposits__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deposits => { if deposits__.is_some() { return Err(serde::de::Error::duplicate_field("deposits")); } - deposits__ = Some(map_.next_value()?); + deposits__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2786,7 +2779,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2804,7 +2797,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2818,7 +2811,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { ParamsType, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2827,12 +2820,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2849,22 +2842,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params_type__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ParamsType => { if params_type__.is_some() { return Err(serde::de::Error::duplicate_field("paramsType")); } - params_type__ = Some(map_.next_value()?); + params_type__ = Some(map.next_value()?); } } } @@ -2878,7 +2871,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2914,7 +2907,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2936,7 +2929,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2945,12 +2938,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2970,11 +2963,11 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2982,31 +2975,31 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { let mut deposit_params__ = None; let mut tally_params__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::VotingParams => { if voting_params__.is_some() { return Err(serde::de::Error::duplicate_field("votingParams")); } - voting_params__ = map_.next_value()?; + voting_params__ = map.next_value()?; } GeneratedField::DepositParams => { if deposit_params__.is_some() { return Err(serde::de::Error::duplicate_field("depositParams")); } - deposit_params__ = map_.next_value()?; + deposit_params__ = map.next_value()?; } GeneratedField::TallyParams => { if tally_params__.is_some() { return Err(serde::de::Error::duplicate_field("tallyParams")); } - tally_params__ = map_.next_value()?; + tally_params__ = map.next_value()?; } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -3023,7 +3016,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { } impl serde::Serialize for QueryProposalRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3034,15 +3027,14 @@ impl serde::Serialize for QueryProposalRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryProposalRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3056,7 +3048,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { ProposalId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3065,12 +3057,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3087,23 +3079,23 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryProposalRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -3118,7 +3110,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { } impl serde::Serialize for QueryProposalResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3136,7 +3128,7 @@ impl serde::Serialize for QueryProposalResponse { } impl<'de> serde::Deserialize<'de> for QueryProposalResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3149,7 +3141,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { Proposal, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3158,12 +3150,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3180,22 +3172,22 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryProposalResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Proposal => { if proposal__.is_some() { return Err(serde::de::Error::duplicate_field("proposal")); } - proposal__ = map_.next_value()?; + proposal__ = map.next_value()?; } } } @@ -3209,7 +3201,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { } impl serde::Serialize for QueryProposalsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3229,8 +3221,8 @@ impl serde::Serialize for QueryProposalsRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalsRequest", len)?; if self.proposal_status != 0 { - let v = ProposalStatus::try_from(self.proposal_status) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.proposal_status)))?; + let v = ProposalStatus::from_i32(self.proposal_status) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.proposal_status)))?; struct_ser.serialize_field("proposalStatus", &v)?; } if !self.voter.is_empty() { @@ -3247,7 +3239,7 @@ impl serde::Serialize for QueryProposalsRequest { } impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3267,7 +3259,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3276,12 +3268,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3301,11 +3293,11 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryProposalsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3313,31 +3305,31 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { let mut voter__ = None; let mut depositor__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalStatus => { if proposal_status__.is_some() { return Err(serde::de::Error::duplicate_field("proposalStatus")); } - proposal_status__ = Some(map_.next_value::()? as i32); + proposal_status__ = Some(map.next_value::()? as i32); } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3354,7 +3346,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { } impl serde::Serialize for QueryProposalsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3378,7 +3370,7 @@ impl serde::Serialize for QueryProposalsResponse { } impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3393,7 +3385,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3402,12 +3394,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3425,29 +3417,29 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryProposalsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposals__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Proposals => { if proposals__.is_some() { return Err(serde::de::Error::duplicate_field("proposals")); } - proposals__ = Some(map_.next_value()?); + proposals__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3462,7 +3454,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { } impl serde::Serialize for QueryTallyResultRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3473,15 +3465,14 @@ impl serde::Serialize for QueryTallyResultRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryTallyResultRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3495,7 +3486,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { ProposalId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3504,12 +3495,12 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3526,23 +3517,23 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTallyResultRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryTallyResultRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -3557,7 +3548,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { } impl serde::Serialize for QueryTallyResultResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3575,7 +3566,7 @@ impl serde::Serialize for QueryTallyResultResponse { } impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3588,7 +3579,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { Tally, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3597,12 +3588,12 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3619,22 +3610,22 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTallyResultResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryTallyResultResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut tally__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Tally => { if tally__.is_some() { return Err(serde::de::Error::duplicate_field("tally")); } - tally__ = map_.next_value()?; + tally__ = map.next_value()?; } } } @@ -3648,7 +3639,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { } impl serde::Serialize for QueryVoteRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3662,8 +3653,7 @@ impl serde::Serialize for QueryVoteRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVoteRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; @@ -3673,7 +3663,7 @@ impl serde::Serialize for QueryVoteRequest { } impl<'de> serde::Deserialize<'de> for QueryVoteRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3689,7 +3679,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { Voter, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3698,12 +3688,12 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3721,31 +3711,31 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVoteRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryVoteRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut voter__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } } } @@ -3760,7 +3750,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { } impl serde::Serialize for QueryVoteResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3778,7 +3768,7 @@ impl serde::Serialize for QueryVoteResponse { } impl<'de> serde::Deserialize<'de> for QueryVoteResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3791,7 +3781,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { Vote, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3800,12 +3790,12 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3822,22 +3812,22 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVoteResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryVoteResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut vote__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Vote => { if vote__.is_some() { return Err(serde::de::Error::duplicate_field("vote")); } - vote__ = map_.next_value()?; + vote__ = map.next_value()?; } } } @@ -3851,7 +3841,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { } impl serde::Serialize for QueryVotesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3865,8 +3855,7 @@ impl serde::Serialize for QueryVotesRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVotesRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; @@ -3876,7 +3865,7 @@ impl serde::Serialize for QueryVotesRequest { } impl<'de> serde::Deserialize<'de> for QueryVotesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3892,7 +3881,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3901,12 +3890,12 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3924,31 +3913,31 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVotesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryVotesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3963,7 +3952,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { } impl serde::Serialize for QueryVotesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3987,7 +3976,7 @@ impl serde::Serialize for QueryVotesResponse { } impl<'de> serde::Deserialize<'de> for QueryVotesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4002,7 +3991,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4011,12 +4000,12 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4034,29 +4023,29 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVotesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.QueryVotesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut votes__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Votes => { if votes__.is_some() { return Err(serde::de::Error::duplicate_field("votes")); } - votes__ = Some(map_.next_value()?); + votes__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4071,7 +4060,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { } impl serde::Serialize for TallyParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4101,7 +4090,7 @@ impl serde::Serialize for TallyParams { } impl<'de> serde::Deserialize<'de> for TallyParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4119,7 +4108,7 @@ impl<'de> serde::Deserialize<'de> for TallyParams { VetoThreshold, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4128,12 +4117,12 @@ impl<'de> serde::Deserialize<'de> for TallyParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4152,36 +4141,36 @@ impl<'de> serde::Deserialize<'de> for TallyParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TallyParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.TallyParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut quorum__ = None; let mut threshold__ = None; let mut veto_threshold__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Quorum => { if quorum__.is_some() { return Err(serde::de::Error::duplicate_field("quorum")); } - quorum__ = Some(map_.next_value()?); + quorum__ = Some(map.next_value()?); } GeneratedField::Threshold => { if threshold__.is_some() { return Err(serde::de::Error::duplicate_field("threshold")); } - threshold__ = Some(map_.next_value()?); + threshold__ = Some(map.next_value()?); } GeneratedField::VetoThreshold => { if veto_threshold__.is_some() { return Err(serde::de::Error::duplicate_field("vetoThreshold")); } - veto_threshold__ = Some(map_.next_value()?); + veto_threshold__ = Some(map.next_value()?); } } } @@ -4197,7 +4186,7 @@ impl<'de> serde::Deserialize<'de> for TallyParams { } impl serde::Serialize for TallyResult { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4233,7 +4222,7 @@ impl serde::Serialize for TallyResult { } impl<'de> serde::Deserialize<'de> for TallyResult { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4256,7 +4245,7 @@ impl<'de> serde::Deserialize<'de> for TallyResult { NoWithVetoCount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4265,12 +4254,12 @@ impl<'de> serde::Deserialize<'de> for TallyResult { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4290,11 +4279,11 @@ impl<'de> serde::Deserialize<'de> for TallyResult { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TallyResult; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.TallyResult") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4302,31 +4291,31 @@ impl<'de> serde::Deserialize<'de> for TallyResult { let mut abstain_count__ = None; let mut no_count__ = None; let mut no_with_veto_count__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::YesCount => { if yes_count__.is_some() { return Err(serde::de::Error::duplicate_field("yesCount")); } - yes_count__ = Some(map_.next_value()?); + yes_count__ = Some(map.next_value()?); } GeneratedField::AbstainCount => { if abstain_count__.is_some() { return Err(serde::de::Error::duplicate_field("abstainCount")); } - abstain_count__ = Some(map_.next_value()?); + abstain_count__ = Some(map.next_value()?); } GeneratedField::NoCount => { if no_count__.is_some() { return Err(serde::de::Error::duplicate_field("noCount")); } - no_count__ = Some(map_.next_value()?); + no_count__ = Some(map.next_value()?); } GeneratedField::NoWithVetoCount => { if no_with_veto_count__.is_some() { return Err(serde::de::Error::duplicate_field("noWithVetoCount")); } - no_with_veto_count__ = Some(map_.next_value()?); + no_with_veto_count__ = Some(map.next_value()?); } } } @@ -4343,7 +4332,7 @@ impl<'de> serde::Deserialize<'de> for TallyResult { } impl serde::Serialize for Vote { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4363,8 +4352,7 @@ impl serde::Serialize for Vote { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Vote", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; @@ -4380,7 +4368,7 @@ impl serde::Serialize for Vote { } impl<'de> serde::Deserialize<'de> for Vote { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4400,7 +4388,7 @@ impl<'de> serde::Deserialize<'de> for Vote { Metadata, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4409,12 +4397,12 @@ impl<'de> serde::Deserialize<'de> for Vote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4434,11 +4422,11 @@ impl<'de> serde::Deserialize<'de> for Vote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Vote; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.Vote") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4446,33 +4434,33 @@ impl<'de> serde::Deserialize<'de> for Vote { let mut voter__ = None; let mut options__ = None; let mut metadata__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = Some(map_.next_value()?); + options__ = Some(map.next_value()?); } GeneratedField::Metadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("metadata")); } - metadata__ = Some(map_.next_value()?); + metadata__ = Some(map.next_value()?); } } } @@ -4489,7 +4477,7 @@ impl<'de> serde::Deserialize<'de> for Vote { } impl serde::Serialize for VoteOption { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4505,7 +4493,7 @@ impl serde::Serialize for VoteOption { } impl<'de> serde::Deserialize<'de> for VoteOption { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4522,35 +4510,37 @@ impl<'de> serde::Deserialize<'de> for VoteOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = VoteOption; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(VoteOption::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(VoteOption::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4569,7 +4559,7 @@ impl<'de> serde::Deserialize<'de> for VoteOption { } impl serde::Serialize for VotingParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4587,7 +4577,7 @@ impl serde::Serialize for VotingParams { } impl<'de> serde::Deserialize<'de> for VotingParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4601,7 +4591,7 @@ impl<'de> serde::Deserialize<'de> for VotingParams { VotingPeriod, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4610,12 +4600,12 @@ impl<'de> serde::Deserialize<'de> for VotingParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4632,22 +4622,22 @@ impl<'de> serde::Deserialize<'de> for VotingParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = VotingParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.VotingParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut voting_period__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::VotingPeriod => { if voting_period__.is_some() { return Err(serde::de::Error::duplicate_field("votingPeriod")); } - voting_period__ = map_.next_value()?; + voting_period__ = map.next_value()?; } } } @@ -4661,7 +4651,7 @@ impl<'de> serde::Deserialize<'de> for VotingParams { } impl serde::Serialize for WeightedVoteOption { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4675,8 +4665,8 @@ impl serde::Serialize for WeightedVoteOption { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.WeightedVoteOption", len)?; if self.option != 0 { - let v = VoteOption::try_from(self.option) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + let v = VoteOption::from_i32(self.option) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } if !self.weight.is_empty() { @@ -4687,7 +4677,7 @@ impl serde::Serialize for WeightedVoteOption { } impl<'de> serde::Deserialize<'de> for WeightedVoteOption { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4702,7 +4692,7 @@ impl<'de> serde::Deserialize<'de> for WeightedVoteOption { Weight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4711,12 +4701,12 @@ impl<'de> serde::Deserialize<'de> for WeightedVoteOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4734,29 +4724,29 @@ impl<'de> serde::Deserialize<'de> for WeightedVoteOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = WeightedVoteOption; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1.WeightedVoteOption") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut option__ = None; let mut weight__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Option => { if option__.is_some() { return Err(serde::de::Error::duplicate_field("option")); } - option__ = Some(map_.next_value::()? as i32); + option__ = Some(map.next_value::()? as i32); } GeneratedField::Weight => { if weight__.is_some() { return Err(serde::de::Error::duplicate_field("weight")); } - weight__ = Some(map_.next_value()?); + weight__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.gov.v1beta1.serde.rs b/src/prost/cosmos.gov.v1beta1.serde.rs index ab3272ea..d88e91fd 100644 --- a/src/prost/cosmos.gov.v1beta1.serde.rs +++ b/src/prost/cosmos.gov.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Deposit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -17,8 +17,7 @@ impl serde::Serialize for Deposit { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Deposit", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.depositor.is_empty() { struct_ser.serialize_field("depositor", &self.depositor)?; @@ -31,7 +30,7 @@ impl serde::Serialize for Deposit { } impl<'de> serde::Deserialize<'de> for Deposit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,7 +48,7 @@ impl<'de> serde::Deserialize<'de> for Deposit { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -58,12 +57,12 @@ impl<'de> serde::Deserialize<'de> for Deposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -82,38 +81,38 @@ impl<'de> serde::Deserialize<'de> for Deposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Deposit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.Deposit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut depositor__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -129,7 +128,7 @@ impl<'de> serde::Deserialize<'de> for Deposit { } impl serde::Serialize for DepositParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -153,7 +152,7 @@ impl serde::Serialize for DepositParams { } impl<'de> serde::Deserialize<'de> for DepositParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -170,7 +169,7 @@ impl<'de> serde::Deserialize<'de> for DepositParams { MaxDepositPeriod, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -179,12 +178,12 @@ impl<'de> serde::Deserialize<'de> for DepositParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -202,29 +201,29 @@ impl<'de> serde::Deserialize<'de> for DepositParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DepositParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.DepositParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut min_deposit__ = None; let mut max_deposit_period__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MinDeposit => { if min_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("minDeposit")); } - min_deposit__ = Some(map_.next_value()?); + min_deposit__ = Some(map.next_value()?); } GeneratedField::MaxDepositPeriod => { if max_deposit_period__.is_some() { return Err(serde::de::Error::duplicate_field("maxDepositPeriod")); } - max_deposit_period__ = map_.next_value()?; + max_deposit_period__ = map.next_value()?; } } } @@ -239,7 +238,7 @@ impl<'de> serde::Deserialize<'de> for DepositParams { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -268,8 +267,7 @@ impl serde::Serialize for GenesisState { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.GenesisState", len)?; if self.starting_proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("startingProposalId", ToString::to_string(&self.starting_proposal_id).as_str())?; + struct_ser.serialize_field("startingProposalId", ::alloc::string::ToString::to_string(&self.starting_proposal_id).as_str())?; } if !self.deposits.is_empty() { struct_ser.serialize_field("deposits", &self.deposits)?; @@ -294,7 +292,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -323,7 +321,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { TallyParams, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -332,12 +330,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -360,11 +358,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -375,51 +373,51 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut deposit_params__ = None; let mut voting_params__ = None; let mut tally_params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::StartingProposalId => { if starting_proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("startingProposalId")); } starting_proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Deposits => { if deposits__.is_some() { return Err(serde::de::Error::duplicate_field("deposits")); } - deposits__ = Some(map_.next_value()?); + deposits__ = Some(map.next_value()?); } GeneratedField::Votes => { if votes__.is_some() { return Err(serde::de::Error::duplicate_field("votes")); } - votes__ = Some(map_.next_value()?); + votes__ = Some(map.next_value()?); } GeneratedField::Proposals => { if proposals__.is_some() { return Err(serde::de::Error::duplicate_field("proposals")); } - proposals__ = Some(map_.next_value()?); + proposals__ = Some(map.next_value()?); } GeneratedField::DepositParams => { if deposit_params__.is_some() { return Err(serde::de::Error::duplicate_field("depositParams")); } - deposit_params__ = map_.next_value()?; + deposit_params__ = map.next_value()?; } GeneratedField::VotingParams => { if voting_params__.is_some() { return Err(serde::de::Error::duplicate_field("votingParams")); } - voting_params__ = map_.next_value()?; + voting_params__ = map.next_value()?; } GeneratedField::TallyParams => { if tally_params__.is_some() { return Err(serde::de::Error::duplicate_field("tallyParams")); } - tally_params__ = map_.next_value()?; + tally_params__ = map.next_value()?; } } } @@ -439,7 +437,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for MsgDeposit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -456,8 +454,7 @@ impl serde::Serialize for MsgDeposit { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgDeposit", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.depositor.is_empty() { struct_ser.serialize_field("depositor", &self.depositor)?; @@ -470,7 +467,7 @@ impl serde::Serialize for MsgDeposit { } impl<'de> serde::Deserialize<'de> for MsgDeposit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -488,7 +485,7 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -497,12 +494,12 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -521,38 +518,38 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDeposit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgDeposit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut depositor__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } } } @@ -568,7 +565,7 @@ impl<'de> serde::Deserialize<'de> for MsgDeposit { } impl serde::Serialize for MsgDepositResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -580,7 +577,7 @@ impl serde::Serialize for MsgDepositResponse { } impl<'de> serde::Deserialize<'de> for MsgDepositResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -591,7 +588,7 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -600,12 +597,12 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -619,16 +616,16 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDepositResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgDepositResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgDepositResponse { }) @@ -639,7 +636,7 @@ impl<'de> serde::Deserialize<'de> for MsgDepositResponse { } impl serde::Serialize for MsgSubmitProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -669,7 +666,7 @@ impl serde::Serialize for MsgSubmitProposal { } impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -687,7 +684,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { Proposer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -696,12 +693,12 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -720,36 +717,36 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSubmitProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgSubmitProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut content__ = None; let mut initial_deposit__ = None; let mut proposer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Content => { if content__.is_some() { return Err(serde::de::Error::duplicate_field("content")); } - content__ = map_.next_value()?; + content__ = map.next_value()?; } GeneratedField::InitialDeposit => { if initial_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("initialDeposit")); } - initial_deposit__ = Some(map_.next_value()?); + initial_deposit__ = Some(map.next_value()?); } GeneratedField::Proposer => { if proposer__.is_some() { return Err(serde::de::Error::duplicate_field("proposer")); } - proposer__ = Some(map_.next_value()?); + proposer__ = Some(map.next_value()?); } } } @@ -765,7 +762,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposal { } impl serde::Serialize for MsgSubmitProposalResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -776,15 +773,14 @@ impl serde::Serialize for MsgSubmitProposalResponse { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgSubmitProposalResponse", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -798,7 +794,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { ProposalId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -807,12 +803,12 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -829,23 +825,23 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSubmitProposalResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgSubmitProposalResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -860,7 +856,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitProposalResponse { } impl serde::Serialize for MsgVote { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -877,15 +873,14 @@ impl serde::Serialize for MsgVote { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVote", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; } if self.option != 0 { - let v = VoteOption::try_from(self.option) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + let v = VoteOption::from_i32(self.option) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } struct_ser.end() @@ -893,7 +888,7 @@ impl serde::Serialize for MsgVote { } impl<'de> serde::Deserialize<'de> for MsgVote { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -911,7 +906,7 @@ impl<'de> serde::Deserialize<'de> for MsgVote { Option, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -920,12 +915,12 @@ impl<'de> serde::Deserialize<'de> for MsgVote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -944,38 +939,38 @@ impl<'de> serde::Deserialize<'de> for MsgVote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVote; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgVote") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut voter__ = None; let mut option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Option => { if option__.is_some() { return Err(serde::de::Error::duplicate_field("option")); } - option__ = Some(map_.next_value::()? as i32); + option__ = Some(map.next_value::()? as i32); } } } @@ -991,7 +986,7 @@ impl<'de> serde::Deserialize<'de> for MsgVote { } impl serde::Serialize for MsgVoteResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1003,7 +998,7 @@ impl serde::Serialize for MsgVoteResponse { } impl<'de> serde::Deserialize<'de> for MsgVoteResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1014,7 +1009,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1023,12 +1018,12 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1042,16 +1037,16 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVoteResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgVoteResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgVoteResponse { }) @@ -1062,7 +1057,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteResponse { } impl serde::Serialize for MsgVoteWeighted { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1079,8 +1074,7 @@ impl serde::Serialize for MsgVoteWeighted { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVoteWeighted", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; @@ -1093,7 +1087,7 @@ impl serde::Serialize for MsgVoteWeighted { } impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1111,7 +1105,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { Options, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1120,12 +1114,12 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1144,38 +1138,38 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVoteWeighted; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgVoteWeighted") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut voter__ = None; let mut options__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = Some(map_.next_value()?); + options__ = Some(map.next_value()?); } } } @@ -1191,7 +1185,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeighted { } impl serde::Serialize for MsgVoteWeightedResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1203,7 +1197,7 @@ impl serde::Serialize for MsgVoteWeightedResponse { } impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1214,7 +1208,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1223,12 +1217,12 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1242,16 +1236,16 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgVoteWeightedResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.MsgVoteWeightedResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgVoteWeightedResponse { }) @@ -1262,7 +1256,7 @@ impl<'de> serde::Deserialize<'de> for MsgVoteWeightedResponse { } impl serde::Serialize for Proposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1297,15 +1291,14 @@ impl serde::Serialize for Proposal { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Proposal", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.content.as_ref() { struct_ser.serialize_field("content", v)?; } if self.status != 0 { - let v = ProposalStatus::try_from(self.status) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.status)))?; + let v = ProposalStatus::from_i32(self.status) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.status)))?; struct_ser.serialize_field("status", &v)?; } if let Some(v) = self.final_tally_result.as_ref() { @@ -1331,7 +1324,7 @@ impl serde::Serialize for Proposal { } impl<'de> serde::Deserialize<'de> for Proposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1367,7 +1360,7 @@ impl<'de> serde::Deserialize<'de> for Proposal { VotingEndTime, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1376,12 +1369,12 @@ impl<'de> serde::Deserialize<'de> for Proposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1406,11 +1399,11 @@ impl<'de> serde::Deserialize<'de> for Proposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Proposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.Proposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1423,63 +1416,63 @@ impl<'de> serde::Deserialize<'de> for Proposal { let mut total_deposit__ = None; let mut voting_start_time__ = None; let mut voting_end_time__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Content => { if content__.is_some() { return Err(serde::de::Error::duplicate_field("content")); } - content__ = map_.next_value()?; + content__ = map.next_value()?; } GeneratedField::Status => { if status__.is_some() { return Err(serde::de::Error::duplicate_field("status")); } - status__ = Some(map_.next_value::()? as i32); + status__ = Some(map.next_value::()? as i32); } GeneratedField::FinalTallyResult => { if final_tally_result__.is_some() { return Err(serde::de::Error::duplicate_field("finalTallyResult")); } - final_tally_result__ = map_.next_value()?; + final_tally_result__ = map.next_value()?; } GeneratedField::SubmitTime => { if submit_time__.is_some() { return Err(serde::de::Error::duplicate_field("submitTime")); } - submit_time__ = map_.next_value()?; + submit_time__ = map.next_value()?; } GeneratedField::DepositEndTime => { if deposit_end_time__.is_some() { return Err(serde::de::Error::duplicate_field("depositEndTime")); } - deposit_end_time__ = map_.next_value()?; + deposit_end_time__ = map.next_value()?; } GeneratedField::TotalDeposit => { if total_deposit__.is_some() { return Err(serde::de::Error::duplicate_field("totalDeposit")); } - total_deposit__ = Some(map_.next_value()?); + total_deposit__ = Some(map.next_value()?); } GeneratedField::VotingStartTime => { if voting_start_time__.is_some() { return Err(serde::de::Error::duplicate_field("votingStartTime")); } - voting_start_time__ = map_.next_value()?; + voting_start_time__ = map.next_value()?; } GeneratedField::VotingEndTime => { if voting_end_time__.is_some() { return Err(serde::de::Error::duplicate_field("votingEndTime")); } - voting_end_time__ = map_.next_value()?; + voting_end_time__ = map.next_value()?; } } } @@ -1501,7 +1494,7 @@ impl<'de> serde::Deserialize<'de> for Proposal { } impl serde::Serialize for ProposalStatus { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1518,7 +1511,7 @@ impl serde::Serialize for ProposalStatus { } impl<'de> serde::Deserialize<'de> for ProposalStatus { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1536,35 +1529,37 @@ impl<'de> serde::Deserialize<'de> for ProposalStatus { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ProposalStatus; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(ProposalStatus::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(ProposalStatus::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1584,7 +1579,7 @@ impl<'de> serde::Deserialize<'de> for ProposalStatus { } impl serde::Serialize for QueryDepositRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1598,8 +1593,7 @@ impl serde::Serialize for QueryDepositRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.depositor.is_empty() { struct_ser.serialize_field("depositor", &self.depositor)?; @@ -1609,7 +1603,7 @@ impl serde::Serialize for QueryDepositRequest { } impl<'de> serde::Deserialize<'de> for QueryDepositRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1625,7 +1619,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { Depositor, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1634,12 +1628,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1657,31 +1651,31 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut depositor__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } } } @@ -1696,7 +1690,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositRequest { } impl serde::Serialize for QueryDepositResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1714,7 +1708,7 @@ impl serde::Serialize for QueryDepositResponse { } impl<'de> serde::Deserialize<'de> for QueryDepositResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1727,7 +1721,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { Deposit, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1736,12 +1730,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1758,22 +1752,22 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deposit__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deposit => { if deposit__.is_some() { return Err(serde::de::Error::duplicate_field("deposit")); } - deposit__ = map_.next_value()?; + deposit__ = map.next_value()?; } } } @@ -1787,7 +1781,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositResponse { } impl serde::Serialize for QueryDepositsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1801,8 +1795,7 @@ impl serde::Serialize for QueryDepositsRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositsRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; @@ -1812,7 +1805,7 @@ impl serde::Serialize for QueryDepositsRequest { } impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1828,7 +1821,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1837,12 +1830,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1860,31 +1853,31 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -1899,7 +1892,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsRequest { } impl serde::Serialize for QueryDepositsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1923,7 +1916,7 @@ impl serde::Serialize for QueryDepositsResponse { } impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1938,7 +1931,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1947,12 +1940,12 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1970,29 +1963,29 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDepositsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryDepositsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deposits__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deposits => { if deposits__.is_some() { return Err(serde::de::Error::duplicate_field("deposits")); } - deposits__ = Some(map_.next_value()?); + deposits__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2007,7 +2000,7 @@ impl<'de> serde::Deserialize<'de> for QueryDepositsResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2025,7 +2018,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2039,7 +2032,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { ParamsType, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2048,12 +2041,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2070,22 +2063,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params_type__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ParamsType => { if params_type__.is_some() { return Err(serde::de::Error::duplicate_field("paramsType")); } - params_type__ = Some(map_.next_value()?); + params_type__ = Some(map.next_value()?); } } } @@ -2099,7 +2092,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2129,7 +2122,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2149,7 +2142,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { TallyParams, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2158,12 +2151,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2182,36 +2175,36 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut voting_params__ = None; let mut deposit_params__ = None; let mut tally_params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::VotingParams => { if voting_params__.is_some() { return Err(serde::de::Error::duplicate_field("votingParams")); } - voting_params__ = map_.next_value()?; + voting_params__ = map.next_value()?; } GeneratedField::DepositParams => { if deposit_params__.is_some() { return Err(serde::de::Error::duplicate_field("depositParams")); } - deposit_params__ = map_.next_value()?; + deposit_params__ = map.next_value()?; } GeneratedField::TallyParams => { if tally_params__.is_some() { return Err(serde::de::Error::duplicate_field("tallyParams")); } - tally_params__ = map_.next_value()?; + tally_params__ = map.next_value()?; } } } @@ -2227,7 +2220,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { } impl serde::Serialize for QueryProposalRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2238,15 +2231,14 @@ impl serde::Serialize for QueryProposalRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryProposalRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2260,7 +2252,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { ProposalId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2269,12 +2261,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2291,23 +2283,23 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2322,7 +2314,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalRequest { } impl serde::Serialize for QueryProposalResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2340,7 +2332,7 @@ impl serde::Serialize for QueryProposalResponse { } impl<'de> serde::Deserialize<'de> for QueryProposalResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2353,7 +2345,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { Proposal, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2362,12 +2354,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2384,22 +2376,22 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Proposal => { if proposal__.is_some() { return Err(serde::de::Error::duplicate_field("proposal")); } - proposal__ = map_.next_value()?; + proposal__ = map.next_value()?; } } } @@ -2413,7 +2405,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalResponse { } impl serde::Serialize for QueryProposalsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2433,8 +2425,8 @@ impl serde::Serialize for QueryProposalsRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalsRequest", len)?; if self.proposal_status != 0 { - let v = ProposalStatus::try_from(self.proposal_status) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.proposal_status)))?; + let v = ProposalStatus::from_i32(self.proposal_status) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.proposal_status)))?; struct_ser.serialize_field("proposalStatus", &v)?; } if !self.voter.is_empty() { @@ -2451,7 +2443,7 @@ impl serde::Serialize for QueryProposalsRequest { } impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2471,7 +2463,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2480,12 +2472,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2505,11 +2497,11 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2517,31 +2509,31 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { let mut voter__ = None; let mut depositor__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalStatus => { if proposal_status__.is_some() { return Err(serde::de::Error::duplicate_field("proposalStatus")); } - proposal_status__ = Some(map_.next_value::()? as i32); + proposal_status__ = Some(map.next_value::()? as i32); } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Depositor => { if depositor__.is_some() { return Err(serde::de::Error::duplicate_field("depositor")); } - depositor__ = Some(map_.next_value()?); + depositor__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2558,7 +2550,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsRequest { } impl serde::Serialize for QueryProposalsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2582,7 +2574,7 @@ impl serde::Serialize for QueryProposalsResponse { } impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2597,7 +2589,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2606,12 +2598,12 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2629,29 +2621,29 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryProposalsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryProposalsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposals__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Proposals => { if proposals__.is_some() { return Err(serde::de::Error::duplicate_field("proposals")); } - proposals__ = Some(map_.next_value()?); + proposals__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2666,7 +2658,7 @@ impl<'de> serde::Deserialize<'de> for QueryProposalsResponse { } impl serde::Serialize for QueryTallyResultRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2677,15 +2669,14 @@ impl serde::Serialize for QueryTallyResultRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryTallyResultRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2699,7 +2690,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { ProposalId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2708,12 +2699,12 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2730,23 +2721,23 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTallyResultRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryTallyResultRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2761,7 +2752,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultRequest { } impl serde::Serialize for QueryTallyResultResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2779,7 +2770,7 @@ impl serde::Serialize for QueryTallyResultResponse { } impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2792,7 +2783,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { Tally, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2801,12 +2792,12 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2823,22 +2814,22 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTallyResultResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryTallyResultResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut tally__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Tally => { if tally__.is_some() { return Err(serde::de::Error::duplicate_field("tally")); } - tally__ = map_.next_value()?; + tally__ = map.next_value()?; } } } @@ -2852,7 +2843,7 @@ impl<'de> serde::Deserialize<'de> for QueryTallyResultResponse { } impl serde::Serialize for QueryVoteRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2866,8 +2857,7 @@ impl serde::Serialize for QueryVoteRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVoteRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; @@ -2877,7 +2867,7 @@ impl serde::Serialize for QueryVoteRequest { } impl<'de> serde::Deserialize<'de> for QueryVoteRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2893,7 +2883,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { Voter, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2902,12 +2892,12 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2925,31 +2915,31 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVoteRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryVoteRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut voter__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } } } @@ -2964,7 +2954,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteRequest { } impl serde::Serialize for QueryVoteResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2982,7 +2972,7 @@ impl serde::Serialize for QueryVoteResponse { } impl<'de> serde::Deserialize<'de> for QueryVoteResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2995,7 +2985,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { Vote, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3004,12 +2994,12 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3026,22 +3016,22 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVoteResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryVoteResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut vote__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Vote => { if vote__.is_some() { return Err(serde::de::Error::duplicate_field("vote")); } - vote__ = map_.next_value()?; + vote__ = map.next_value()?; } } } @@ -3055,7 +3045,7 @@ impl<'de> serde::Deserialize<'de> for QueryVoteResponse { } impl serde::Serialize for QueryVotesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3069,8 +3059,7 @@ impl serde::Serialize for QueryVotesRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVotesRequest", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; @@ -3080,7 +3069,7 @@ impl serde::Serialize for QueryVotesRequest { } impl<'de> serde::Deserialize<'de> for QueryVotesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3096,7 +3085,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3105,12 +3094,12 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3128,31 +3117,31 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVotesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryVotesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proposal_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3167,7 +3156,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesRequest { } impl serde::Serialize for QueryVotesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3191,7 +3180,7 @@ impl serde::Serialize for QueryVotesResponse { } impl<'de> serde::Deserialize<'de> for QueryVotesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3206,7 +3195,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3215,12 +3204,12 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3238,29 +3227,29 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryVotesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.QueryVotesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut votes__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Votes => { if votes__.is_some() { return Err(serde::de::Error::duplicate_field("votes")); } - votes__ = Some(map_.next_value()?); + votes__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3275,7 +3264,7 @@ impl<'de> serde::Deserialize<'de> for QueryVotesResponse { } impl serde::Serialize for TallyParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3292,15 +3281,12 @@ impl serde::Serialize for TallyParams { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TallyParams", len)?; if !self.quorum.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("quorum", pbjson::private::base64::encode(&self.quorum).as_str())?; } if !self.threshold.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("threshold", pbjson::private::base64::encode(&self.threshold).as_str())?; } if !self.veto_threshold.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("vetoThreshold", pbjson::private::base64::encode(&self.veto_threshold).as_str())?; } struct_ser.end() @@ -3308,7 +3294,7 @@ impl serde::Serialize for TallyParams { } impl<'de> serde::Deserialize<'de> for TallyParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3326,7 +3312,7 @@ impl<'de> serde::Deserialize<'de> for TallyParams { VetoThreshold, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3335,12 +3321,12 @@ impl<'de> serde::Deserialize<'de> for TallyParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3359,25 +3345,25 @@ impl<'de> serde::Deserialize<'de> for TallyParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TallyParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.TallyParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut quorum__ = None; let mut threshold__ = None; let mut veto_threshold__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Quorum => { if quorum__.is_some() { return Err(serde::de::Error::duplicate_field("quorum")); } quorum__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Threshold => { @@ -3385,7 +3371,7 @@ impl<'de> serde::Deserialize<'de> for TallyParams { return Err(serde::de::Error::duplicate_field("threshold")); } threshold__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::VetoThreshold => { @@ -3393,7 +3379,7 @@ impl<'de> serde::Deserialize<'de> for TallyParams { return Err(serde::de::Error::duplicate_field("vetoThreshold")); } veto_threshold__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -3410,7 +3396,7 @@ impl<'de> serde::Deserialize<'de> for TallyParams { } impl serde::Serialize for TallyResult { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3446,7 +3432,7 @@ impl serde::Serialize for TallyResult { } impl<'de> serde::Deserialize<'de> for TallyResult { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3466,7 +3452,7 @@ impl<'de> serde::Deserialize<'de> for TallyResult { NoWithVeto, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3475,12 +3461,12 @@ impl<'de> serde::Deserialize<'de> for TallyResult { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3500,11 +3486,11 @@ impl<'de> serde::Deserialize<'de> for TallyResult { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TallyResult; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.TallyResult") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3512,31 +3498,31 @@ impl<'de> serde::Deserialize<'de> for TallyResult { let mut abstain__ = None; let mut no__ = None; let mut no_with_veto__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Yes => { if yes__.is_some() { return Err(serde::de::Error::duplicate_field("yes")); } - yes__ = Some(map_.next_value()?); + yes__ = Some(map.next_value()?); } GeneratedField::Abstain => { if abstain__.is_some() { return Err(serde::de::Error::duplicate_field("abstain")); } - abstain__ = Some(map_.next_value()?); + abstain__ = Some(map.next_value()?); } GeneratedField::No => { if no__.is_some() { return Err(serde::de::Error::duplicate_field("no")); } - no__ = Some(map_.next_value()?); + no__ = Some(map.next_value()?); } GeneratedField::NoWithVeto => { if no_with_veto__.is_some() { return Err(serde::de::Error::duplicate_field("noWithVeto")); } - no_with_veto__ = Some(map_.next_value()?); + no_with_veto__ = Some(map.next_value()?); } } } @@ -3553,7 +3539,7 @@ impl<'de> serde::Deserialize<'de> for TallyResult { } impl serde::Serialize for TextProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3577,7 +3563,7 @@ impl serde::Serialize for TextProposal { } impl<'de> serde::Deserialize<'de> for TextProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3592,7 +3578,7 @@ impl<'de> serde::Deserialize<'de> for TextProposal { Description, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3601,12 +3587,12 @@ impl<'de> serde::Deserialize<'de> for TextProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3624,29 +3610,29 @@ impl<'de> serde::Deserialize<'de> for TextProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TextProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.TextProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut title__ = None; let mut description__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = Some(map_.next_value()?); + description__ = Some(map.next_value()?); } } } @@ -3661,7 +3647,7 @@ impl<'de> serde::Deserialize<'de> for TextProposal { } impl serde::Serialize for Vote { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3681,15 +3667,14 @@ impl serde::Serialize for Vote { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Vote", len)?; if self.proposal_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("proposalId", ToString::to_string(&self.proposal_id).as_str())?; + struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if !self.voter.is_empty() { struct_ser.serialize_field("voter", &self.voter)?; } if self.option != 0 { - let v = VoteOption::try_from(self.option) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + let v = VoteOption::from_i32(self.option) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } if !self.options.is_empty() { @@ -3700,7 +3685,7 @@ impl serde::Serialize for Vote { } impl<'de> serde::Deserialize<'de> for Vote { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3720,7 +3705,7 @@ impl<'de> serde::Deserialize<'de> for Vote { Options, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3729,12 +3714,12 @@ impl<'de> serde::Deserialize<'de> for Vote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3754,11 +3739,11 @@ impl<'de> serde::Deserialize<'de> for Vote { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Vote; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.Vote") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3766,33 +3751,33 @@ impl<'de> serde::Deserialize<'de> for Vote { let mut voter__ = None; let mut option__ = None; let mut options__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ProposalId => { if proposal_id__.is_some() { return Err(serde::de::Error::duplicate_field("proposalId")); } proposal_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Voter => { if voter__.is_some() { return Err(serde::de::Error::duplicate_field("voter")); } - voter__ = Some(map_.next_value()?); + voter__ = Some(map.next_value()?); } GeneratedField::Option => { if option__.is_some() { return Err(serde::de::Error::duplicate_field("option")); } - option__ = Some(map_.next_value::()? as i32); + option__ = Some(map.next_value::()? as i32); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = Some(map_.next_value()?); + options__ = Some(map.next_value()?); } } } @@ -3809,7 +3794,7 @@ impl<'de> serde::Deserialize<'de> for Vote { } impl serde::Serialize for VoteOption { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3825,7 +3810,7 @@ impl serde::Serialize for VoteOption { } impl<'de> serde::Deserialize<'de> for VoteOption { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3842,35 +3827,37 @@ impl<'de> serde::Deserialize<'de> for VoteOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = VoteOption; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(VoteOption::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(VoteOption::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3889,7 +3876,7 @@ impl<'de> serde::Deserialize<'de> for VoteOption { } impl serde::Serialize for VotingParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3907,7 +3894,7 @@ impl serde::Serialize for VotingParams { } impl<'de> serde::Deserialize<'de> for VotingParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3921,7 +3908,7 @@ impl<'de> serde::Deserialize<'de> for VotingParams { VotingPeriod, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3930,12 +3917,12 @@ impl<'de> serde::Deserialize<'de> for VotingParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3952,22 +3939,22 @@ impl<'de> serde::Deserialize<'de> for VotingParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = VotingParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.VotingParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut voting_period__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::VotingPeriod => { if voting_period__.is_some() { return Err(serde::de::Error::duplicate_field("votingPeriod")); } - voting_period__ = map_.next_value()?; + voting_period__ = map.next_value()?; } } } @@ -3981,7 +3968,7 @@ impl<'de> serde::Deserialize<'de> for VotingParams { } impl serde::Serialize for WeightedVoteOption { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3995,8 +3982,8 @@ impl serde::Serialize for WeightedVoteOption { } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.WeightedVoteOption", len)?; if self.option != 0 { - let v = VoteOption::try_from(self.option) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.option)))?; + let v = VoteOption::from_i32(self.option) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } if !self.weight.is_empty() { @@ -4007,7 +3994,7 @@ impl serde::Serialize for WeightedVoteOption { } impl<'de> serde::Deserialize<'de> for WeightedVoteOption { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4022,7 +4009,7 @@ impl<'de> serde::Deserialize<'de> for WeightedVoteOption { Weight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4031,12 +4018,12 @@ impl<'de> serde::Deserialize<'de> for WeightedVoteOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4054,29 +4041,29 @@ impl<'de> serde::Deserialize<'de> for WeightedVoteOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = WeightedVoteOption; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.gov.v1beta1.WeightedVoteOption") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut option__ = None; let mut weight__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Option => { if option__.is_some() { return Err(serde::de::Error::duplicate_field("option")); } - option__ = Some(map_.next_value::()? as i32); + option__ = Some(map.next_value::()? as i32); } GeneratedField::Weight => { if weight__.is_some() { return Err(serde::de::Error::duplicate_field("weight")); } - weight__ = Some(map_.next_value()?); + weight__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.ics23.v1.serde.rs b/src/prost/cosmos.ics23.v1.serde.rs index 151c92f7..fa2323eb 100644 --- a/src/prost/cosmos.ics23.v1.serde.rs +++ b/src/prost/cosmos.ics23.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for BatchEntry { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -25,7 +25,7 @@ impl serde::Serialize for BatchEntry { } impl<'de> serde::Deserialize<'de> for BatchEntry { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for BatchEntry { Nonexist, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for BatchEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -72,29 +72,29 @@ impl<'de> serde::Deserialize<'de> for BatchEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = BatchEntry; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.BatchEntry") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proof__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Exist => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("exist")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_entry::Proof::Exist) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(batch_entry::Proof::Exist) ; } GeneratedField::Nonexist => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("nonexist")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_entry::Proof::Nonexist) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(batch_entry::Proof::Nonexist) ; } } @@ -109,7 +109,7 @@ impl<'de> serde::Deserialize<'de> for BatchEntry { } impl serde::Serialize for BatchProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -127,7 +127,7 @@ impl serde::Serialize for BatchProof { } impl<'de> serde::Deserialize<'de> for BatchProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -140,7 +140,7 @@ impl<'de> serde::Deserialize<'de> for BatchProof { Entries, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -149,12 +149,12 @@ impl<'de> serde::Deserialize<'de> for BatchProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -171,22 +171,22 @@ impl<'de> serde::Deserialize<'de> for BatchProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = BatchProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.BatchProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut entries__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Entries => { if entries__.is_some() { return Err(serde::de::Error::duplicate_field("entries")); } - entries__ = Some(map_.next_value()?); + entries__ = Some(map.next_value()?); } } } @@ -200,7 +200,7 @@ impl<'de> serde::Deserialize<'de> for BatchProof { } impl serde::Serialize for CommitmentProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -231,7 +231,7 @@ impl serde::Serialize for CommitmentProof { } impl<'de> serde::Deserialize<'de> for CommitmentProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -250,7 +250,7 @@ impl<'de> serde::Deserialize<'de> for CommitmentProof { Compressed, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -259,12 +259,12 @@ impl<'de> serde::Deserialize<'de> for CommitmentProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -284,43 +284,43 @@ impl<'de> serde::Deserialize<'de> for CommitmentProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CommitmentProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.CommitmentProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proof__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Exist => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("exist")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Exist) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(commitment_proof::Proof::Exist) ; } GeneratedField::Nonexist => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("nonexist")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Nonexist) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(commitment_proof::Proof::Nonexist) ; } GeneratedField::Batch => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("batch")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Batch) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(commitment_proof::Proof::Batch) ; } GeneratedField::Compressed => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("compressed")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(commitment_proof::Proof::Compressed) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(commitment_proof::Proof::Compressed) ; } } @@ -335,7 +335,7 @@ impl<'de> serde::Deserialize<'de> for CommitmentProof { } impl serde::Serialize for CompressedBatchEntry { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -360,7 +360,7 @@ impl serde::Serialize for CompressedBatchEntry { } impl<'de> serde::Deserialize<'de> for CompressedBatchEntry { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -375,7 +375,7 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchEntry { Nonexist, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -384,12 +384,12 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -407,29 +407,29 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CompressedBatchEntry; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.CompressedBatchEntry") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proof__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Exist => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("exist")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(compressed_batch_entry::Proof::Exist) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(compressed_batch_entry::Proof::Exist) ; } GeneratedField::Nonexist => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("nonexist")); } - proof__ = map_.next_value::<::std::option::Option<_>>()?.map(compressed_batch_entry::Proof::Nonexist) + proof__ = map.next_value::<::core::option::Option<_>>()?.map(compressed_batch_entry::Proof::Nonexist) ; } } @@ -444,7 +444,7 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchEntry { } impl serde::Serialize for CompressedBatchProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -468,7 +468,7 @@ impl serde::Serialize for CompressedBatchProof { } impl<'de> serde::Deserialize<'de> for CompressedBatchProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -484,7 +484,7 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchProof { LookupInners, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -493,12 +493,12 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -516,29 +516,29 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CompressedBatchProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.CompressedBatchProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut entries__ = None; let mut lookup_inners__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Entries => { if entries__.is_some() { return Err(serde::de::Error::duplicate_field("entries")); } - entries__ = Some(map_.next_value()?); + entries__ = Some(map.next_value()?); } GeneratedField::LookupInners => { if lookup_inners__.is_some() { return Err(serde::de::Error::duplicate_field("lookupInners")); } - lookup_inners__ = Some(map_.next_value()?); + lookup_inners__ = Some(map.next_value()?); } } } @@ -553,7 +553,7 @@ impl<'de> serde::Deserialize<'de> for CompressedBatchProof { } impl serde::Serialize for CompressedExistenceProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -573,11 +573,9 @@ impl serde::Serialize for CompressedExistenceProof { } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedExistenceProof", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } if let Some(v) = self.leaf.as_ref() { @@ -591,7 +589,7 @@ impl serde::Serialize for CompressedExistenceProof { } impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -610,7 +608,7 @@ impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { Path, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -619,12 +617,12 @@ impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -644,11 +642,11 @@ impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CompressedExistenceProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.CompressedExistenceProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -656,14 +654,14 @@ impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { let mut value__ = None; let mut leaf__ = None; let mut path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -671,21 +669,21 @@ impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Leaf => { if leaf__.is_some() { return Err(serde::de::Error::duplicate_field("leaf")); } - leaf__ = map_.next_value()?; + leaf__ = map.next_value()?; } GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -704,7 +702,7 @@ impl<'de> serde::Deserialize<'de> for CompressedExistenceProof { } impl serde::Serialize for CompressedNonExistenceProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -721,7 +719,6 @@ impl serde::Serialize for CompressedNonExistenceProof { } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedNonExistenceProof", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if let Some(v) = self.left.as_ref() { @@ -735,7 +732,7 @@ impl serde::Serialize for CompressedNonExistenceProof { } impl<'de> serde::Deserialize<'de> for CompressedNonExistenceProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -752,7 +749,7 @@ impl<'de> serde::Deserialize<'de> for CompressedNonExistenceProof { Right, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -761,12 +758,12 @@ impl<'de> serde::Deserialize<'de> for CompressedNonExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -785,38 +782,38 @@ impl<'de> serde::Deserialize<'de> for CompressedNonExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CompressedNonExistenceProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.CompressedNonExistenceProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; let mut left__ = None; let mut right__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Left => { if left__.is_some() { return Err(serde::de::Error::duplicate_field("left")); } - left__ = map_.next_value()?; + left__ = map.next_value()?; } GeneratedField::Right => { if right__.is_some() { return Err(serde::de::Error::duplicate_field("right")); } - right__ = map_.next_value()?; + right__ = map.next_value()?; } } } @@ -832,7 +829,7 @@ impl<'de> serde::Deserialize<'de> for CompressedNonExistenceProof { } impl serde::Serialize for ExistenceProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -852,11 +849,9 @@ impl serde::Serialize for ExistenceProof { } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.ExistenceProof", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } if let Some(v) = self.leaf.as_ref() { @@ -870,7 +865,7 @@ impl serde::Serialize for ExistenceProof { } impl<'de> serde::Deserialize<'de> for ExistenceProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -889,7 +884,7 @@ impl<'de> serde::Deserialize<'de> for ExistenceProof { Path, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -898,12 +893,12 @@ impl<'de> serde::Deserialize<'de> for ExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -923,11 +918,11 @@ impl<'de> serde::Deserialize<'de> for ExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ExistenceProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.ExistenceProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -935,14 +930,14 @@ impl<'de> serde::Deserialize<'de> for ExistenceProof { let mut value__ = None; let mut leaf__ = None; let mut path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -950,20 +945,20 @@ impl<'de> serde::Deserialize<'de> for ExistenceProof { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Leaf => { if leaf__.is_some() { return Err(serde::de::Error::duplicate_field("leaf")); } - leaf__ = map_.next_value()?; + leaf__ = map.next_value()?; } GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } - path__ = Some(map_.next_value()?); + path__ = Some(map.next_value()?); } } } @@ -980,7 +975,7 @@ impl<'de> serde::Deserialize<'de> for ExistenceProof { } impl serde::Serialize for HashOp { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -998,7 +993,7 @@ impl serde::Serialize for HashOp { } impl<'de> serde::Deserialize<'de> for HashOp { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1017,35 +1012,37 @@ impl<'de> serde::Deserialize<'de> for HashOp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = HashOp; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(HashOp::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(HashOp::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1066,7 +1063,7 @@ impl<'de> serde::Deserialize<'de> for HashOp { } impl serde::Serialize for InnerOp { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1083,16 +1080,14 @@ impl serde::Serialize for InnerOp { } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.InnerOp", len)?; if self.hash != 0 { - let v = HashOp::try_from(self.hash) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.hash)))?; + let v = HashOp::from_i32(self.hash) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.hash)))?; struct_ser.serialize_field("hash", &v)?; } if !self.prefix.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&self.prefix).as_str())?; } if !self.suffix.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("suffix", pbjson::private::base64::encode(&self.suffix).as_str())?; } struct_ser.end() @@ -1100,7 +1095,7 @@ impl serde::Serialize for InnerOp { } impl<'de> serde::Deserialize<'de> for InnerOp { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1117,7 +1112,7 @@ impl<'de> serde::Deserialize<'de> for InnerOp { Suffix, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1126,12 +1121,12 @@ impl<'de> serde::Deserialize<'de> for InnerOp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1150,31 +1145,31 @@ impl<'de> serde::Deserialize<'de> for InnerOp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InnerOp; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.InnerOp") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut hash__ = None; let mut prefix__ = None; let mut suffix__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Hash => { if hash__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - hash__ = Some(map_.next_value::()? as i32); + hash__ = Some(map.next_value::()? as i32); } GeneratedField::Prefix => { if prefix__.is_some() { return Err(serde::de::Error::duplicate_field("prefix")); } prefix__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Suffix => { @@ -1182,7 +1177,7 @@ impl<'de> serde::Deserialize<'de> for InnerOp { return Err(serde::de::Error::duplicate_field("suffix")); } suffix__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1199,7 +1194,7 @@ impl<'de> serde::Deserialize<'de> for InnerOp { } impl serde::Serialize for InnerSpec { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1237,12 +1232,11 @@ impl serde::Serialize for InnerSpec { struct_ser.serialize_field("maxPrefixLength", &self.max_prefix_length)?; } if !self.empty_child.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("emptyChild", pbjson::private::base64::encode(&self.empty_child).as_str())?; } if self.hash != 0 { - let v = HashOp::try_from(self.hash) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.hash)))?; + let v = HashOp::from_i32(self.hash) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.hash)))?; struct_ser.serialize_field("hash", &v)?; } struct_ser.end() @@ -1250,7 +1244,7 @@ impl serde::Serialize for InnerSpec { } impl<'de> serde::Deserialize<'de> for InnerSpec { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1278,7 +1272,7 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { Hash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1287,12 +1281,12 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1314,11 +1308,11 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InnerSpec; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.InnerSpec") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1328,14 +1322,14 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { let mut max_prefix_length__ = None; let mut empty_child__ = None; let mut hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChildOrder => { if child_order__.is_some() { return Err(serde::de::Error::duplicate_field("childOrder")); } child_order__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -1344,7 +1338,7 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { return Err(serde::de::Error::duplicate_field("childSize")); } child_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::MinPrefixLength => { @@ -1352,7 +1346,7 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { return Err(serde::de::Error::duplicate_field("minPrefixLength")); } min_prefix_length__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::MaxPrefixLength => { @@ -1360,7 +1354,7 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { return Err(serde::de::Error::duplicate_field("maxPrefixLength")); } max_prefix_length__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::EmptyChild => { @@ -1368,14 +1362,14 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { return Err(serde::de::Error::duplicate_field("emptyChild")); } empty_child__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Hash => { if hash__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - hash__ = Some(map_.next_value::()? as i32); + hash__ = Some(map.next_value::()? as i32); } } } @@ -1394,7 +1388,7 @@ impl<'de> serde::Deserialize<'de> for InnerSpec { } impl serde::Serialize for LeafOp { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1417,27 +1411,26 @@ impl serde::Serialize for LeafOp { } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.LeafOp", len)?; if self.hash != 0 { - let v = HashOp::try_from(self.hash) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.hash)))?; + let v = HashOp::from_i32(self.hash) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.hash)))?; struct_ser.serialize_field("hash", &v)?; } if self.prehash_key != 0 { - let v = HashOp::try_from(self.prehash_key) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.prehash_key)))?; + let v = HashOp::from_i32(self.prehash_key) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.prehash_key)))?; struct_ser.serialize_field("prehashKey", &v)?; } if self.prehash_value != 0 { - let v = HashOp::try_from(self.prehash_value) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.prehash_value)))?; + let v = HashOp::from_i32(self.prehash_value) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.prehash_value)))?; struct_ser.serialize_field("prehashValue", &v)?; } if self.length != 0 { - let v = LengthOp::try_from(self.length) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.length)))?; + let v = LengthOp::from_i32(self.length) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.length)))?; struct_ser.serialize_field("length", &v)?; } if !self.prefix.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&self.prefix).as_str())?; } struct_ser.end() @@ -1445,7 +1438,7 @@ impl serde::Serialize for LeafOp { } impl<'de> serde::Deserialize<'de> for LeafOp { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1468,7 +1461,7 @@ impl<'de> serde::Deserialize<'de> for LeafOp { Prefix, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1477,12 +1470,12 @@ impl<'de> serde::Deserialize<'de> for LeafOp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1503,11 +1496,11 @@ impl<'de> serde::Deserialize<'de> for LeafOp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = LeafOp; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.LeafOp") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1516,38 +1509,38 @@ impl<'de> serde::Deserialize<'de> for LeafOp { let mut prehash_value__ = None; let mut length__ = None; let mut prefix__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Hash => { if hash__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - hash__ = Some(map_.next_value::()? as i32); + hash__ = Some(map.next_value::()? as i32); } GeneratedField::PrehashKey => { if prehash_key__.is_some() { return Err(serde::de::Error::duplicate_field("prehashKey")); } - prehash_key__ = Some(map_.next_value::()? as i32); + prehash_key__ = Some(map.next_value::()? as i32); } GeneratedField::PrehashValue => { if prehash_value__.is_some() { return Err(serde::de::Error::duplicate_field("prehashValue")); } - prehash_value__ = Some(map_.next_value::()? as i32); + prehash_value__ = Some(map.next_value::()? as i32); } GeneratedField::Length => { if length__.is_some() { return Err(serde::de::Error::duplicate_field("length")); } - length__ = Some(map_.next_value::()? as i32); + length__ = Some(map.next_value::()? as i32); } GeneratedField::Prefix => { if prefix__.is_some() { return Err(serde::de::Error::duplicate_field("prefix")); } prefix__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1566,7 +1559,7 @@ impl<'de> serde::Deserialize<'de> for LeafOp { } impl serde::Serialize for LengthOp { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1586,7 +1579,7 @@ impl serde::Serialize for LengthOp { } impl<'de> serde::Deserialize<'de> for LengthOp { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1607,35 +1600,37 @@ impl<'de> serde::Deserialize<'de> for LengthOp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = LengthOp; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(LengthOp::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(LengthOp::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1658,7 +1653,7 @@ impl<'de> serde::Deserialize<'de> for LengthOp { } impl serde::Serialize for NonExistenceProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1675,7 +1670,6 @@ impl serde::Serialize for NonExistenceProof { } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.NonExistenceProof", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if let Some(v) = self.left.as_ref() { @@ -1689,7 +1683,7 @@ impl serde::Serialize for NonExistenceProof { } impl<'de> serde::Deserialize<'de> for NonExistenceProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1706,7 +1700,7 @@ impl<'de> serde::Deserialize<'de> for NonExistenceProof { Right, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1715,12 +1709,12 @@ impl<'de> serde::Deserialize<'de> for NonExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1739,38 +1733,38 @@ impl<'de> serde::Deserialize<'de> for NonExistenceProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = NonExistenceProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.NonExistenceProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; let mut left__ = None; let mut right__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Left => { if left__.is_some() { return Err(serde::de::Error::duplicate_field("left")); } - left__ = map_.next_value()?; + left__ = map.next_value()?; } GeneratedField::Right => { if right__.is_some() { return Err(serde::de::Error::duplicate_field("right")); } - right__ = map_.next_value()?; + right__ = map.next_value()?; } } } @@ -1786,7 +1780,7 @@ impl<'de> serde::Deserialize<'de> for NonExistenceProof { } impl serde::Serialize for ProofSpec { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1822,7 +1816,7 @@ impl serde::Serialize for ProofSpec { } impl<'de> serde::Deserialize<'de> for ProofSpec { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1845,7 +1839,7 @@ impl<'de> serde::Deserialize<'de> for ProofSpec { MinDepth, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1854,12 +1848,12 @@ impl<'de> serde::Deserialize<'de> for ProofSpec { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1879,11 +1873,11 @@ impl<'de> serde::Deserialize<'de> for ProofSpec { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ProofSpec; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.ics23.v1.ProofSpec") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1891,26 +1885,26 @@ impl<'de> serde::Deserialize<'de> for ProofSpec { let mut inner_spec__ = None; let mut max_depth__ = None; let mut min_depth__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::LeafSpec => { if leaf_spec__.is_some() { return Err(serde::de::Error::duplicate_field("leafSpec")); } - leaf_spec__ = map_.next_value()?; + leaf_spec__ = map.next_value()?; } GeneratedField::InnerSpec => { if inner_spec__.is_some() { return Err(serde::de::Error::duplicate_field("innerSpec")); } - inner_spec__ = map_.next_value()?; + inner_spec__ = map.next_value()?; } GeneratedField::MaxDepth => { if max_depth__.is_some() { return Err(serde::de::Error::duplicate_field("maxDepth")); } max_depth__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::MinDepth => { @@ -1918,7 +1912,7 @@ impl<'de> serde::Deserialize<'de> for ProofSpec { return Err(serde::de::Error::duplicate_field("minDepth")); } min_depth__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/cosmos.staking.module.v1.serde.rs b/src/prost/cosmos.staking.module.v1.serde.rs index 337dabf9..d8c95464 100644 --- a/src/prost/cosmos.staking.module.v1.serde.rs +++ b/src/prost/cosmos.staking.module.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Module { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for Module { } impl<'de> serde::Deserialize<'de> for Module { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for Module { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -72,29 +72,29 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Module; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.module.v1.Module") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut hooks_order__ = None; let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::HooksOrder => { if hooks_order__.is_some() { return Err(serde::de::Error::duplicate_field("hooksOrder")); } - hooks_order__ = Some(map_.next_value()?); + hooks_order__ = Some(map.next_value()?); } GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.staking.v1beta1.serde.rs b/src/prost/cosmos.staking.v1beta1.serde.rs index ead0e556..e298894c 100644 --- a/src/prost/cosmos.staking.v1beta1.serde.rs +++ b/src/prost/cosmos.staking.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for AuthorizationType { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -15,7 +15,7 @@ impl serde::Serialize for AuthorizationType { } impl<'de> serde::Deserialize<'de> for AuthorizationType { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -31,35 +31,37 @@ impl<'de> serde::Deserialize<'de> for AuthorizationType { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = AuthorizationType; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(AuthorizationType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(AuthorizationType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -77,7 +79,7 @@ impl<'de> serde::Deserialize<'de> for AuthorizationType { } impl serde::Serialize for BondStatus { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -92,7 +94,7 @@ impl serde::Serialize for BondStatus { } impl<'de> serde::Deserialize<'de> for BondStatus { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -108,35 +110,37 @@ impl<'de> serde::Deserialize<'de> for BondStatus { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = BondStatus; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(BondStatus::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(BondStatus::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -154,7 +158,7 @@ impl<'de> serde::Deserialize<'de> for BondStatus { } impl serde::Serialize for Commission { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -178,7 +182,7 @@ impl serde::Serialize for Commission { } impl<'de> serde::Deserialize<'de> for Commission { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -195,7 +199,7 @@ impl<'de> serde::Deserialize<'de> for Commission { UpdateTime, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -204,12 +208,12 @@ impl<'de> serde::Deserialize<'de> for Commission { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -227,29 +231,29 @@ impl<'de> serde::Deserialize<'de> for Commission { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Commission; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Commission") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut commission_rates__ = None; let mut update_time__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::CommissionRates => { if commission_rates__.is_some() { return Err(serde::de::Error::duplicate_field("commissionRates")); } - commission_rates__ = map_.next_value()?; + commission_rates__ = map.next_value()?; } GeneratedField::UpdateTime => { if update_time__.is_some() { return Err(serde::de::Error::duplicate_field("updateTime")); } - update_time__ = map_.next_value()?; + update_time__ = map.next_value()?; } } } @@ -264,7 +268,7 @@ impl<'de> serde::Deserialize<'de> for Commission { } impl serde::Serialize for CommissionRates { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -294,7 +298,7 @@ impl serde::Serialize for CommissionRates { } impl<'de> serde::Deserialize<'de> for CommissionRates { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -313,7 +317,7 @@ impl<'de> serde::Deserialize<'de> for CommissionRates { MaxChangeRate, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -322,12 +326,12 @@ impl<'de> serde::Deserialize<'de> for CommissionRates { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -346,36 +350,36 @@ impl<'de> serde::Deserialize<'de> for CommissionRates { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CommissionRates; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.CommissionRates") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut rate__ = None; let mut max_rate__ = None; let mut max_change_rate__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Rate => { if rate__.is_some() { return Err(serde::de::Error::duplicate_field("rate")); } - rate__ = Some(map_.next_value()?); + rate__ = Some(map.next_value()?); } GeneratedField::MaxRate => { if max_rate__.is_some() { return Err(serde::de::Error::duplicate_field("maxRate")); } - max_rate__ = Some(map_.next_value()?); + max_rate__ = Some(map.next_value()?); } GeneratedField::MaxChangeRate => { if max_change_rate__.is_some() { return Err(serde::de::Error::duplicate_field("maxChangeRate")); } - max_change_rate__ = Some(map_.next_value()?); + max_change_rate__ = Some(map.next_value()?); } } } @@ -391,7 +395,7 @@ impl<'de> serde::Deserialize<'de> for CommissionRates { } impl serde::Serialize for DvPair { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -415,7 +419,7 @@ impl serde::Serialize for DvPair { } impl<'de> serde::Deserialize<'de> for DvPair { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -432,7 +436,7 @@ impl<'de> serde::Deserialize<'de> for DvPair { ValidatorAddress, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -441,12 +445,12 @@ impl<'de> serde::Deserialize<'de> for DvPair { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -464,29 +468,29 @@ impl<'de> serde::Deserialize<'de> for DvPair { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DvPair; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.DVPair") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_address__ = None; let mut validator_address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } } } @@ -501,7 +505,7 @@ impl<'de> serde::Deserialize<'de> for DvPair { } impl serde::Serialize for DvPairs { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -519,7 +523,7 @@ impl serde::Serialize for DvPairs { } impl<'de> serde::Deserialize<'de> for DvPairs { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -532,7 +536,7 @@ impl<'de> serde::Deserialize<'de> for DvPairs { Pairs, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -541,12 +545,12 @@ impl<'de> serde::Deserialize<'de> for DvPairs { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -563,22 +567,22 @@ impl<'de> serde::Deserialize<'de> for DvPairs { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DvPairs; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.DVPairs") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pairs__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pairs => { if pairs__.is_some() { return Err(serde::de::Error::duplicate_field("pairs")); } - pairs__ = Some(map_.next_value()?); + pairs__ = Some(map.next_value()?); } } } @@ -592,7 +596,7 @@ impl<'de> serde::Deserialize<'de> for DvPairs { } impl serde::Serialize for DvvTriplet { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -622,7 +626,7 @@ impl serde::Serialize for DvvTriplet { } impl<'de> serde::Deserialize<'de> for DvvTriplet { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -642,7 +646,7 @@ impl<'de> serde::Deserialize<'de> for DvvTriplet { ValidatorDstAddress, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -651,12 +655,12 @@ impl<'de> serde::Deserialize<'de> for DvvTriplet { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -675,36 +679,36 @@ impl<'de> serde::Deserialize<'de> for DvvTriplet { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DvvTriplet; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.DVVTriplet") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_address__ = None; let mut validator_src_address__ = None; let mut validator_dst_address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorSrcAddress => { if validator_src_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorSrcAddress")); } - validator_src_address__ = Some(map_.next_value()?); + validator_src_address__ = Some(map.next_value()?); } GeneratedField::ValidatorDstAddress => { if validator_dst_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorDstAddress")); } - validator_dst_address__ = Some(map_.next_value()?); + validator_dst_address__ = Some(map.next_value()?); } } } @@ -720,7 +724,7 @@ impl<'de> serde::Deserialize<'de> for DvvTriplet { } impl serde::Serialize for DvvTriplets { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -738,7 +742,7 @@ impl serde::Serialize for DvvTriplets { } impl<'de> serde::Deserialize<'de> for DvvTriplets { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -751,7 +755,7 @@ impl<'de> serde::Deserialize<'de> for DvvTriplets { Triplets, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -760,12 +764,12 @@ impl<'de> serde::Deserialize<'de> for DvvTriplets { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -782,22 +786,22 @@ impl<'de> serde::Deserialize<'de> for DvvTriplets { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DvvTriplets; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.DVVTriplets") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut triplets__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Triplets => { if triplets__.is_some() { return Err(serde::de::Error::duplicate_field("triplets")); } - triplets__ = Some(map_.next_value()?); + triplets__ = Some(map.next_value()?); } } } @@ -811,7 +815,7 @@ impl<'de> serde::Deserialize<'de> for DvvTriplets { } impl serde::Serialize for Delegation { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -841,7 +845,7 @@ impl serde::Serialize for Delegation { } impl<'de> serde::Deserialize<'de> for Delegation { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -860,7 +864,7 @@ impl<'de> serde::Deserialize<'de> for Delegation { Shares, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -869,12 +873,12 @@ impl<'de> serde::Deserialize<'de> for Delegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -893,36 +897,36 @@ impl<'de> serde::Deserialize<'de> for Delegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Delegation; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Delegation") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_address__ = None; let mut validator_address__ = None; let mut shares__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::Shares => { if shares__.is_some() { return Err(serde::de::Error::duplicate_field("shares")); } - shares__ = Some(map_.next_value()?); + shares__ = Some(map.next_value()?); } } } @@ -938,7 +942,7 @@ impl<'de> serde::Deserialize<'de> for Delegation { } impl serde::Serialize for DelegationResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -962,7 +966,7 @@ impl serde::Serialize for DelegationResponse { } impl<'de> serde::Deserialize<'de> for DelegationResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -977,7 +981,7 @@ impl<'de> serde::Deserialize<'de> for DelegationResponse { Balance, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -986,12 +990,12 @@ impl<'de> serde::Deserialize<'de> for DelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1009,29 +1013,29 @@ impl<'de> serde::Deserialize<'de> for DelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DelegationResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.DelegationResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegation__ = None; let mut balance__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Delegation => { if delegation__.is_some() { return Err(serde::de::Error::duplicate_field("delegation")); } - delegation__ = map_.next_value()?; + delegation__ = map.next_value()?; } GeneratedField::Balance => { if balance__.is_some() { return Err(serde::de::Error::duplicate_field("balance")); } - balance__ = map_.next_value()?; + balance__ = map.next_value()?; } } } @@ -1046,7 +1050,7 @@ impl<'de> serde::Deserialize<'de> for DelegationResponse { } impl serde::Serialize for Description { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1088,7 +1092,7 @@ impl serde::Serialize for Description { } impl<'de> serde::Deserialize<'de> for Description { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1110,7 +1114,7 @@ impl<'de> serde::Deserialize<'de> for Description { Details, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1119,12 +1123,12 @@ impl<'de> serde::Deserialize<'de> for Description { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1145,11 +1149,11 @@ impl<'de> serde::Deserialize<'de> for Description { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Description; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Description") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1158,37 +1162,37 @@ impl<'de> serde::Deserialize<'de> for Description { let mut website__ = None; let mut security_contact__ = None; let mut details__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Moniker => { if moniker__.is_some() { return Err(serde::de::Error::duplicate_field("moniker")); } - moniker__ = Some(map_.next_value()?); + moniker__ = Some(map.next_value()?); } GeneratedField::Identity => { if identity__.is_some() { return Err(serde::de::Error::duplicate_field("identity")); } - identity__ = Some(map_.next_value()?); + identity__ = Some(map.next_value()?); } GeneratedField::Website => { if website__.is_some() { return Err(serde::de::Error::duplicate_field("website")); } - website__ = Some(map_.next_value()?); + website__ = Some(map.next_value()?); } GeneratedField::SecurityContact => { if security_contact__.is_some() { return Err(serde::de::Error::duplicate_field("securityContact")); } - security_contact__ = Some(map_.next_value()?); + security_contact__ = Some(map.next_value()?); } GeneratedField::Details => { if details__.is_some() { return Err(serde::de::Error::duplicate_field("details")); } - details__ = Some(map_.next_value()?); + details__ = Some(map.next_value()?); } } } @@ -1206,7 +1210,7 @@ impl<'de> serde::Deserialize<'de> for Description { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1241,7 +1245,6 @@ impl serde::Serialize for GenesisState { struct_ser.serialize_field("params", v)?; } if !self.last_total_power.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("lastTotalPower", pbjson::private::base64::encode(&self.last_total_power).as_str())?; } if !self.last_validator_powers.is_empty() { @@ -1267,7 +1270,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1297,7 +1300,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { Exported, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1306,12 +1309,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1335,11 +1338,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1351,57 +1354,57 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut unbonding_delegations__ = None; let mut redelegations__ = None; let mut exported__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } GeneratedField::LastTotalPower => { if last_total_power__.is_some() { return Err(serde::de::Error::duplicate_field("lastTotalPower")); } last_total_power__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::LastValidatorPowers => { if last_validator_powers__.is_some() { return Err(serde::de::Error::duplicate_field("lastValidatorPowers")); } - last_validator_powers__ = Some(map_.next_value()?); + last_validator_powers__ = Some(map.next_value()?); } GeneratedField::Validators => { if validators__.is_some() { return Err(serde::de::Error::duplicate_field("validators")); } - validators__ = Some(map_.next_value()?); + validators__ = Some(map.next_value()?); } GeneratedField::Delegations => { if delegations__.is_some() { return Err(serde::de::Error::duplicate_field("delegations")); } - delegations__ = Some(map_.next_value()?); + delegations__ = Some(map.next_value()?); } GeneratedField::UnbondingDelegations => { if unbonding_delegations__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingDelegations")); } - unbonding_delegations__ = Some(map_.next_value()?); + unbonding_delegations__ = Some(map.next_value()?); } GeneratedField::Redelegations => { if redelegations__.is_some() { return Err(serde::de::Error::duplicate_field("redelegations")); } - redelegations__ = Some(map_.next_value()?); + redelegations__ = Some(map.next_value()?); } GeneratedField::Exported => { if exported__.is_some() { return Err(serde::de::Error::duplicate_field("exported")); } - exported__ = Some(map_.next_value()?); + exported__ = Some(map.next_value()?); } } } @@ -1422,7 +1425,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for HistoricalInfo { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1446,7 +1449,7 @@ impl serde::Serialize for HistoricalInfo { } impl<'de> serde::Deserialize<'de> for HistoricalInfo { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1461,7 +1464,7 @@ impl<'de> serde::Deserialize<'de> for HistoricalInfo { Valset, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1470,12 +1473,12 @@ impl<'de> serde::Deserialize<'de> for HistoricalInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1493,29 +1496,29 @@ impl<'de> serde::Deserialize<'de> for HistoricalInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = HistoricalInfo; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.HistoricalInfo") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut header__ = None; let mut valset__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Header => { if header__.is_some() { return Err(serde::de::Error::duplicate_field("header")); } - header__ = map_.next_value()?; + header__ = map.next_value()?; } GeneratedField::Valset => { if valset__.is_some() { return Err(serde::de::Error::duplicate_field("valset")); } - valset__ = Some(map_.next_value()?); + valset__ = Some(map.next_value()?); } } } @@ -1530,7 +1533,7 @@ impl<'de> serde::Deserialize<'de> for HistoricalInfo { } impl serde::Serialize for Infraction { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1544,7 +1547,7 @@ impl serde::Serialize for Infraction { } impl<'de> serde::Deserialize<'de> for Infraction { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1559,35 +1562,37 @@ impl<'de> serde::Deserialize<'de> for Infraction { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Infraction; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(Infraction::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(Infraction::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1604,7 +1609,7 @@ impl<'de> serde::Deserialize<'de> for Infraction { } impl serde::Serialize for InfractionType { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1618,7 +1623,7 @@ impl serde::Serialize for InfractionType { } impl<'de> serde::Deserialize<'de> for InfractionType { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1633,35 +1638,37 @@ impl<'de> serde::Deserialize<'de> for InfractionType { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InfractionType; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(InfractionType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(InfractionType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1678,7 +1685,7 @@ impl<'de> serde::Deserialize<'de> for InfractionType { } impl serde::Serialize for LastValidatorPower { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1695,15 +1702,14 @@ impl serde::Serialize for LastValidatorPower { struct_ser.serialize_field("address", &self.address)?; } if self.power != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("power", ToString::to_string(&self.power).as_str())?; + struct_ser.serialize_field("power", ::alloc::string::ToString::to_string(&self.power).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for LastValidatorPower { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1718,7 +1724,7 @@ impl<'de> serde::Deserialize<'de> for LastValidatorPower { Power, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1727,12 +1733,12 @@ impl<'de> serde::Deserialize<'de> for LastValidatorPower { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1750,30 +1756,30 @@ impl<'de> serde::Deserialize<'de> for LastValidatorPower { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = LastValidatorPower; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.LastValidatorPower") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut power__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Power => { if power__.is_some() { return Err(serde::de::Error::duplicate_field("power")); } power__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -1789,7 +1795,7 @@ impl<'de> serde::Deserialize<'de> for LastValidatorPower { } impl serde::Serialize for MsgBeginRedelegate { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1825,7 +1831,7 @@ impl serde::Serialize for MsgBeginRedelegate { } impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1847,7 +1853,7 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1856,12 +1862,12 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1881,11 +1887,11 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgBeginRedelegate; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgBeginRedelegate") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1893,31 +1899,31 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { let mut validator_src_address__ = None; let mut validator_dst_address__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorSrcAddress => { if validator_src_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorSrcAddress")); } - validator_src_address__ = Some(map_.next_value()?); + validator_src_address__ = Some(map.next_value()?); } GeneratedField::ValidatorDstAddress => { if validator_dst_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorDstAddress")); } - validator_dst_address__ = Some(map_.next_value()?); + validator_dst_address__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = map_.next_value()?; + amount__ = map.next_value()?; } } } @@ -1934,7 +1940,7 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegate { } impl serde::Serialize for MsgBeginRedelegateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1952,7 +1958,7 @@ impl serde::Serialize for MsgBeginRedelegateResponse { } impl<'de> serde::Deserialize<'de> for MsgBeginRedelegateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1966,7 +1972,7 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegateResponse { CompletionTime, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1975,12 +1981,12 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1997,22 +2003,22 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgBeginRedelegateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgBeginRedelegateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut completion_time__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::CompletionTime => { if completion_time__.is_some() { return Err(serde::de::Error::duplicate_field("completionTime")); } - completion_time__ = map_.next_value()?; + completion_time__ = map.next_value()?; } } } @@ -2026,7 +2032,7 @@ impl<'de> serde::Deserialize<'de> for MsgBeginRedelegateResponse { } impl serde::Serialize for MsgCancelUnbondingDelegation { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2055,15 +2061,14 @@ impl serde::Serialize for MsgCancelUnbondingDelegation { struct_ser.serialize_field("amount", v)?; } if self.creation_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("creationHeight", ToString::to_string(&self.creation_height).as_str())?; + struct_ser.serialize_field("creationHeight", ::alloc::string::ToString::to_string(&self.creation_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2085,7 +2090,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { CreationHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2094,12 +2099,12 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2119,11 +2124,11 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCancelUnbondingDelegation; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgCancelUnbondingDelegation") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2131,32 +2136,32 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { let mut validator_address__ = None; let mut amount__ = None; let mut creation_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = map_.next_value()?; + amount__ = map.next_value()?; } GeneratedField::CreationHeight => { if creation_height__.is_some() { return Err(serde::de::Error::duplicate_field("creationHeight")); } creation_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2174,7 +2179,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegation { } impl serde::Serialize for MsgCancelUnbondingDelegationResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2186,7 +2191,7 @@ impl serde::Serialize for MsgCancelUnbondingDelegationResponse { } impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegationResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2197,7 +2202,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegationResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2206,12 +2211,12 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2225,16 +2230,16 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCancelUnbondingDelegationResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgCancelUnbondingDelegationResponse { }) @@ -2245,7 +2250,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUnbondingDelegationResponse { } impl serde::Serialize for MsgCreateValidator { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2299,7 +2304,7 @@ impl serde::Serialize for MsgCreateValidator { } impl<'de> serde::Deserialize<'de> for MsgCreateValidator { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2327,7 +2332,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidator { Value, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2336,12 +2341,12 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidator { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2364,11 +2369,11 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidator { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCreateValidator; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgCreateValidator") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2379,49 +2384,49 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidator { let mut validator_address__ = None; let mut pubkey__ = None; let mut value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = map_.next_value()?; + description__ = map.next_value()?; } GeneratedField::Commission => { if commission__.is_some() { return Err(serde::de::Error::duplicate_field("commission")); } - commission__ = map_.next_value()?; + commission__ = map.next_value()?; } GeneratedField::MinSelfDelegation => { if min_self_delegation__.is_some() { return Err(serde::de::Error::duplicate_field("minSelfDelegation")); } - min_self_delegation__ = Some(map_.next_value()?); + min_self_delegation__ = Some(map.next_value()?); } GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::Pubkey => { if pubkey__.is_some() { return Err(serde::de::Error::duplicate_field("pubkey")); } - pubkey__ = map_.next_value()?; + pubkey__ = map.next_value()?; } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = map_.next_value()?; + value__ = map.next_value()?; } } } @@ -2441,7 +2446,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidator { } impl serde::Serialize for MsgCreateValidatorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2453,7 +2458,7 @@ impl serde::Serialize for MsgCreateValidatorResponse { } impl<'de> serde::Deserialize<'de> for MsgCreateValidatorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2464,7 +2469,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidatorResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2473,12 +2478,12 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2492,16 +2497,16 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCreateValidatorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgCreateValidatorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgCreateValidatorResponse { }) @@ -2512,7 +2517,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateValidatorResponse { } impl serde::Serialize for MsgDelegate { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2542,7 +2547,7 @@ impl serde::Serialize for MsgDelegate { } impl<'de> serde::Deserialize<'de> for MsgDelegate { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2561,7 +2566,7 @@ impl<'de> serde::Deserialize<'de> for MsgDelegate { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2570,12 +2575,12 @@ impl<'de> serde::Deserialize<'de> for MsgDelegate { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2594,36 +2599,36 @@ impl<'de> serde::Deserialize<'de> for MsgDelegate { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDelegate; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgDelegate") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_address__ = None; let mut validator_address__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = map_.next_value()?; + amount__ = map.next_value()?; } } } @@ -2639,7 +2644,7 @@ impl<'de> serde::Deserialize<'de> for MsgDelegate { } impl serde::Serialize for MsgDelegateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2651,7 +2656,7 @@ impl serde::Serialize for MsgDelegateResponse { } impl<'de> serde::Deserialize<'de> for MsgDelegateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2662,7 +2667,7 @@ impl<'de> serde::Deserialize<'de> for MsgDelegateResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2671,12 +2676,12 @@ impl<'de> serde::Deserialize<'de> for MsgDelegateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2690,16 +2695,16 @@ impl<'de> serde::Deserialize<'de> for MsgDelegateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgDelegateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgDelegateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgDelegateResponse { }) @@ -2710,7 +2715,7 @@ impl<'de> serde::Deserialize<'de> for MsgDelegateResponse { } impl serde::Serialize for MsgEditValidator { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2746,7 +2751,7 @@ impl serde::Serialize for MsgEditValidator { } impl<'de> serde::Deserialize<'de> for MsgEditValidator { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2768,7 +2773,7 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidator { MinSelfDelegation, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2777,12 +2782,12 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidator { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2802,11 +2807,11 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidator { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgEditValidator; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgEditValidator") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2814,31 +2819,31 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidator { let mut validator_address__ = None; let mut commission_rate__ = None; let mut min_self_delegation__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = map_.next_value()?; + description__ = map.next_value()?; } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::CommissionRate => { if commission_rate__.is_some() { return Err(serde::de::Error::duplicate_field("commissionRate")); } - commission_rate__ = Some(map_.next_value()?); + commission_rate__ = Some(map.next_value()?); } GeneratedField::MinSelfDelegation => { if min_self_delegation__.is_some() { return Err(serde::de::Error::duplicate_field("minSelfDelegation")); } - min_self_delegation__ = Some(map_.next_value()?); + min_self_delegation__ = Some(map.next_value()?); } } } @@ -2855,7 +2860,7 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidator { } impl serde::Serialize for MsgEditValidatorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2867,7 +2872,7 @@ impl serde::Serialize for MsgEditValidatorResponse { } impl<'de> serde::Deserialize<'de> for MsgEditValidatorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2878,7 +2883,7 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidatorResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2887,12 +2892,12 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2906,16 +2911,16 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgEditValidatorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgEditValidatorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgEditValidatorResponse { }) @@ -2926,7 +2931,7 @@ impl<'de> serde::Deserialize<'de> for MsgEditValidatorResponse { } impl serde::Serialize for MsgUndelegate { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2956,7 +2961,7 @@ impl serde::Serialize for MsgUndelegate { } impl<'de> serde::Deserialize<'de> for MsgUndelegate { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2975,7 +2980,7 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegate { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2984,12 +2989,12 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegate { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3008,36 +3013,36 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegate { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUndelegate; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgUndelegate") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_address__ = None; let mut validator_address__ = None; let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = map_.next_value()?; + amount__ = map.next_value()?; } } } @@ -3053,7 +3058,7 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegate { } impl serde::Serialize for MsgUndelegateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3071,7 +3076,7 @@ impl serde::Serialize for MsgUndelegateResponse { } impl<'de> serde::Deserialize<'de> for MsgUndelegateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3085,7 +3090,7 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegateResponse { CompletionTime, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3094,12 +3099,12 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3116,22 +3121,22 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUndelegateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgUndelegateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut completion_time__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::CompletionTime => { if completion_time__.is_some() { return Err(serde::de::Error::duplicate_field("completionTime")); } - completion_time__ = map_.next_value()?; + completion_time__ = map.next_value()?; } } } @@ -3145,7 +3150,7 @@ impl<'de> serde::Deserialize<'de> for MsgUndelegateResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3169,7 +3174,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3184,7 +3189,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3193,12 +3198,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3216,29 +3221,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -3253,7 +3258,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3265,7 +3270,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3276,7 +3281,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3285,12 +3290,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3304,16 +3309,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -3324,7 +3329,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3372,7 +3377,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3401,7 +3406,7 @@ impl<'de> serde::Deserialize<'de> for Params { MinCommissionRate, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3410,12 +3415,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3437,11 +3442,11 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3451,20 +3456,20 @@ impl<'de> serde::Deserialize<'de> for Params { let mut historical_entries__ = None; let mut bond_denom__ = None; let mut min_commission_rate__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UnbondingTime => { if unbonding_time__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingTime")); } - unbonding_time__ = map_.next_value()?; + unbonding_time__ = map.next_value()?; } GeneratedField::MaxValidators => { if max_validators__.is_some() { return Err(serde::de::Error::duplicate_field("maxValidators")); } max_validators__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::MaxEntries => { @@ -3472,7 +3477,7 @@ impl<'de> serde::Deserialize<'de> for Params { return Err(serde::de::Error::duplicate_field("maxEntries")); } max_entries__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::HistoricalEntries => { @@ -3480,20 +3485,20 @@ impl<'de> serde::Deserialize<'de> for Params { return Err(serde::de::Error::duplicate_field("historicalEntries")); } historical_entries__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::BondDenom => { if bond_denom__.is_some() { return Err(serde::de::Error::duplicate_field("bondDenom")); } - bond_denom__ = Some(map_.next_value()?); + bond_denom__ = Some(map.next_value()?); } GeneratedField::MinCommissionRate => { if min_commission_rate__.is_some() { return Err(serde::de::Error::duplicate_field("minCommissionRate")); } - min_commission_rate__ = Some(map_.next_value()?); + min_commission_rate__ = Some(map.next_value()?); } } } @@ -3512,7 +3517,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for Pool { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3536,7 +3541,7 @@ impl serde::Serialize for Pool { } impl<'de> serde::Deserialize<'de> for Pool { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3553,7 +3558,7 @@ impl<'de> serde::Deserialize<'de> for Pool { BondedTokens, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3562,12 +3567,12 @@ impl<'de> serde::Deserialize<'de> for Pool { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3585,29 +3590,29 @@ impl<'de> serde::Deserialize<'de> for Pool { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Pool; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Pool") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut not_bonded_tokens__ = None; let mut bonded_tokens__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NotBondedTokens => { if not_bonded_tokens__.is_some() { return Err(serde::de::Error::duplicate_field("notBondedTokens")); } - not_bonded_tokens__ = Some(map_.next_value()?); + not_bonded_tokens__ = Some(map.next_value()?); } GeneratedField::BondedTokens => { if bonded_tokens__.is_some() { return Err(serde::de::Error::duplicate_field("bondedTokens")); } - bonded_tokens__ = Some(map_.next_value()?); + bonded_tokens__ = Some(map.next_value()?); } } } @@ -3622,7 +3627,7 @@ impl<'de> serde::Deserialize<'de> for Pool { } impl serde::Serialize for QueryDelegationRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3646,7 +3651,7 @@ impl serde::Serialize for QueryDelegationRequest { } impl<'de> serde::Deserialize<'de> for QueryDelegationRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3663,7 +3668,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationRequest { ValidatorAddr, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3672,12 +3677,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3695,29 +3700,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegationRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegationRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_addr__ = None; let mut validator_addr__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::ValidatorAddr => { if validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddr")); } - validator_addr__ = Some(map_.next_value()?); + validator_addr__ = Some(map.next_value()?); } } } @@ -3732,7 +3737,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationRequest { } impl serde::Serialize for QueryDelegationResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3750,7 +3755,7 @@ impl serde::Serialize for QueryDelegationResponse { } impl<'de> serde::Deserialize<'de> for QueryDelegationResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3764,7 +3769,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationResponse { DelegationResponse, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3773,12 +3778,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3795,22 +3800,22 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegationResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegationResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegation_response__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegationResponse => { if delegation_response__.is_some() { return Err(serde::de::Error::duplicate_field("delegationResponse")); } - delegation_response__ = map_.next_value()?; + delegation_response__ = map.next_value()?; } } } @@ -3824,7 +3829,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegationResponse { } impl serde::Serialize for QueryDelegatorDelegationsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3848,7 +3853,7 @@ impl serde::Serialize for QueryDelegatorDelegationsRequest { } impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3864,7 +3869,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3873,12 +3878,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3896,29 +3901,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorDelegationsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_addr__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3933,7 +3938,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsRequest { } impl serde::Serialize for QueryDelegatorDelegationsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3957,7 +3962,7 @@ impl serde::Serialize for QueryDelegatorDelegationsResponse { } impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3973,7 +3978,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3982,12 +3987,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4005,29 +4010,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorDelegationsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegation_responses__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegationResponses => { if delegation_responses__.is_some() { return Err(serde::de::Error::duplicate_field("delegationResponses")); } - delegation_responses__ = Some(map_.next_value()?); + delegation_responses__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4042,7 +4047,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorDelegationsResponse { } impl serde::Serialize for QueryDelegatorUnbondingDelegationsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4066,7 +4071,7 @@ impl serde::Serialize for QueryDelegatorUnbondingDelegationsRequest { } impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4082,7 +4087,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsRequest Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4091,12 +4096,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsRequest impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4114,29 +4119,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsRequest impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorUnbondingDelegationsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_addr__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4151,7 +4156,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsRequest } impl serde::Serialize for QueryDelegatorUnbondingDelegationsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4175,7 +4180,7 @@ impl serde::Serialize for QueryDelegatorUnbondingDelegationsResponse { } impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4191,7 +4196,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsResponse Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4200,12 +4205,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsResponse impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4223,29 +4228,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsResponse impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorUnbondingDelegationsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut unbonding_responses__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UnbondingResponses => { if unbonding_responses__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingResponses")); } - unbonding_responses__ = Some(map_.next_value()?); + unbonding_responses__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4260,7 +4265,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorUnbondingDelegationsResponse } impl serde::Serialize for QueryDelegatorValidatorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4284,7 +4289,7 @@ impl serde::Serialize for QueryDelegatorValidatorRequest { } impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4301,7 +4306,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorRequest { ValidatorAddr, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4310,12 +4315,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4333,29 +4338,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorValidatorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_addr__ = None; let mut validator_addr__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::ValidatorAddr => { if validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddr")); } - validator_addr__ = Some(map_.next_value()?); + validator_addr__ = Some(map.next_value()?); } } } @@ -4370,7 +4375,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorRequest { } impl serde::Serialize for QueryDelegatorValidatorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4388,7 +4393,7 @@ impl serde::Serialize for QueryDelegatorValidatorResponse { } impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4401,7 +4406,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorResponse { Validator, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4410,12 +4415,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4432,22 +4437,22 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorValidatorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validator__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Validator => { if validator__.is_some() { return Err(serde::de::Error::duplicate_field("validator")); } - validator__ = map_.next_value()?; + validator__ = map.next_value()?; } } } @@ -4461,7 +4466,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorResponse { } impl serde::Serialize for QueryDelegatorValidatorsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4485,7 +4490,7 @@ impl serde::Serialize for QueryDelegatorValidatorsRequest { } impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4501,7 +4506,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4510,12 +4515,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4533,29 +4538,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorValidatorsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_addr__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4570,7 +4575,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsRequest { } impl serde::Serialize for QueryDelegatorValidatorsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4594,7 +4599,7 @@ impl serde::Serialize for QueryDelegatorValidatorsResponse { } impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4609,7 +4614,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4618,12 +4623,12 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4641,29 +4646,29 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDelegatorValidatorsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validators__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Validators => { if validators__.is_some() { return Err(serde::de::Error::duplicate_field("validators")); } - validators__ = Some(map_.next_value()?); + validators__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4678,7 +4683,7 @@ impl<'de> serde::Deserialize<'de> for QueryDelegatorValidatorsResponse { } impl serde::Serialize for QueryHistoricalInfoRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4689,15 +4694,14 @@ impl serde::Serialize for QueryHistoricalInfoRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoRequest", len)?; if self.height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4710,7 +4714,7 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoRequest { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4719,12 +4723,12 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4741,23 +4745,23 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryHistoricalInfoRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryHistoricalInfoRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -4772,7 +4776,7 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoRequest { } impl serde::Serialize for QueryHistoricalInfoResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4790,7 +4794,7 @@ impl serde::Serialize for QueryHistoricalInfoResponse { } impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4803,7 +4807,7 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoResponse { Hist, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4812,12 +4816,12 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4834,22 +4838,22 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryHistoricalInfoResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryHistoricalInfoResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut hist__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Hist => { if hist__.is_some() { return Err(serde::de::Error::duplicate_field("hist")); } - hist__ = map_.next_value()?; + hist__ = map.next_value()?; } } } @@ -4863,7 +4867,7 @@ impl<'de> serde::Deserialize<'de> for QueryHistoricalInfoResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4875,7 +4879,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4886,7 +4890,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4895,12 +4899,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4914,16 +4918,16 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryParamsRequest { }) @@ -4934,7 +4938,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4952,7 +4956,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4965,7 +4969,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4974,12 +4978,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4996,22 +5000,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -5025,7 +5029,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { } impl serde::Serialize for QueryPoolRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5037,7 +5041,7 @@ impl serde::Serialize for QueryPoolRequest { } impl<'de> serde::Deserialize<'de> for QueryPoolRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5048,7 +5052,7 @@ impl<'de> serde::Deserialize<'de> for QueryPoolRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5057,12 +5061,12 @@ impl<'de> serde::Deserialize<'de> for QueryPoolRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5076,16 +5080,16 @@ impl<'de> serde::Deserialize<'de> for QueryPoolRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPoolRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryPoolRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryPoolRequest { }) @@ -5096,7 +5100,7 @@ impl<'de> serde::Deserialize<'de> for QueryPoolRequest { } impl serde::Serialize for QueryPoolResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5114,7 +5118,7 @@ impl serde::Serialize for QueryPoolResponse { } impl<'de> serde::Deserialize<'de> for QueryPoolResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5127,7 +5131,7 @@ impl<'de> serde::Deserialize<'de> for QueryPoolResponse { Pool, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5136,12 +5140,12 @@ impl<'de> serde::Deserialize<'de> for QueryPoolResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5158,22 +5162,22 @@ impl<'de> serde::Deserialize<'de> for QueryPoolResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPoolResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryPoolResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pool__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pool => { if pool__.is_some() { return Err(serde::de::Error::duplicate_field("pool")); } - pool__ = map_.next_value()?; + pool__ = map.next_value()?; } } } @@ -5187,7 +5191,7 @@ impl<'de> serde::Deserialize<'de> for QueryPoolResponse { } impl serde::Serialize for QueryRedelegationsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5223,7 +5227,7 @@ impl serde::Serialize for QueryRedelegationsRequest { } impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5245,7 +5249,7 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5254,12 +5258,12 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5279,11 +5283,11 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryRedelegationsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryRedelegationsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -5291,31 +5295,31 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { let mut src_validator_addr__ = None; let mut dst_validator_addr__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::SrcValidatorAddr => { if src_validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("srcValidatorAddr")); } - src_validator_addr__ = Some(map_.next_value()?); + src_validator_addr__ = Some(map.next_value()?); } GeneratedField::DstValidatorAddr => { if dst_validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("dstValidatorAddr")); } - dst_validator_addr__ = Some(map_.next_value()?); + dst_validator_addr__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -5332,7 +5336,7 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsRequest { } impl serde::Serialize for QueryRedelegationsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5356,7 +5360,7 @@ impl serde::Serialize for QueryRedelegationsResponse { } impl<'de> serde::Deserialize<'de> for QueryRedelegationsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5372,7 +5376,7 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5381,12 +5385,12 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5404,29 +5408,29 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryRedelegationsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryRedelegationsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut redelegation_responses__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::RedelegationResponses => { if redelegation_responses__.is_some() { return Err(serde::de::Error::duplicate_field("redelegationResponses")); } - redelegation_responses__ = Some(map_.next_value()?); + redelegation_responses__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -5441,7 +5445,7 @@ impl<'de> serde::Deserialize<'de> for QueryRedelegationsResponse { } impl serde::Serialize for QueryUnbondingDelegationRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5465,7 +5469,7 @@ impl serde::Serialize for QueryUnbondingDelegationRequest { } impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5482,7 +5486,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationRequest { ValidatorAddr, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5491,12 +5495,12 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5514,29 +5518,29 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUnbondingDelegationRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryUnbondingDelegationRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_addr__ = None; let mut validator_addr__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddr => { if delegator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddr")); } - delegator_addr__ = Some(map_.next_value()?); + delegator_addr__ = Some(map.next_value()?); } GeneratedField::ValidatorAddr => { if validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddr")); } - validator_addr__ = Some(map_.next_value()?); + validator_addr__ = Some(map.next_value()?); } } } @@ -5551,7 +5555,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationRequest { } impl serde::Serialize for QueryUnbondingDelegationResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5569,7 +5573,7 @@ impl serde::Serialize for QueryUnbondingDelegationResponse { } impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5582,7 +5586,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationResponse { Unbond, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5591,12 +5595,12 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5613,22 +5617,22 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUnbondingDelegationResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryUnbondingDelegationResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut unbond__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Unbond => { if unbond__.is_some() { return Err(serde::de::Error::duplicate_field("unbond")); } - unbond__ = map_.next_value()?; + unbond__ = map.next_value()?; } } } @@ -5642,7 +5646,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnbondingDelegationResponse { } impl serde::Serialize for QueryValidatorDelegationsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5666,7 +5670,7 @@ impl serde::Serialize for QueryValidatorDelegationsRequest { } impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5682,7 +5686,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5691,12 +5695,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5714,29 +5718,29 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorDelegationsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorDelegationsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validator_addr__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ValidatorAddr => { if validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddr")); } - validator_addr__ = Some(map_.next_value()?); + validator_addr__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -5751,7 +5755,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsRequest { } impl serde::Serialize for QueryValidatorDelegationsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5775,7 +5779,7 @@ impl serde::Serialize for QueryValidatorDelegationsResponse { } impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5791,7 +5795,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5800,12 +5804,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5823,29 +5827,29 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorDelegationsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorDelegationsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegation_responses__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegationResponses => { if delegation_responses__.is_some() { return Err(serde::de::Error::duplicate_field("delegationResponses")); } - delegation_responses__ = Some(map_.next_value()?); + delegation_responses__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -5860,7 +5864,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorDelegationsResponse { } impl serde::Serialize for QueryValidatorRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5878,7 +5882,7 @@ impl serde::Serialize for QueryValidatorRequest { } impl<'de> serde::Deserialize<'de> for QueryValidatorRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5892,7 +5896,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorRequest { ValidatorAddr, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5901,12 +5905,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5923,22 +5927,22 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validator_addr__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ValidatorAddr => { if validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddr")); } - validator_addr__ = Some(map_.next_value()?); + validator_addr__ = Some(map.next_value()?); } } } @@ -5952,7 +5956,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorRequest { } impl serde::Serialize for QueryValidatorResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5970,7 +5974,7 @@ impl serde::Serialize for QueryValidatorResponse { } impl<'de> serde::Deserialize<'de> for QueryValidatorResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5983,7 +5987,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorResponse { Validator, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5992,12 +5996,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6014,22 +6018,22 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validator__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Validator => { if validator__.is_some() { return Err(serde::de::Error::duplicate_field("validator")); } - validator__ = map_.next_value()?; + validator__ = map.next_value()?; } } } @@ -6043,7 +6047,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorResponse { } impl serde::Serialize for QueryValidatorUnbondingDelegationsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6067,7 +6071,7 @@ impl serde::Serialize for QueryValidatorUnbondingDelegationsRequest { } impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6083,7 +6087,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsRequest Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6092,12 +6096,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsRequest impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6115,29 +6119,29 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsRequest impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorUnbondingDelegationsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validator_addr__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ValidatorAddr => { if validator_addr__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddr")); } - validator_addr__ = Some(map_.next_value()?); + validator_addr__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -6152,7 +6156,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsRequest } impl serde::Serialize for QueryValidatorUnbondingDelegationsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6176,7 +6180,7 @@ impl serde::Serialize for QueryValidatorUnbondingDelegationsResponse { } impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6192,7 +6196,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsResponse Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6201,12 +6205,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsResponse impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6224,29 +6228,29 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsResponse impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorUnbondingDelegationsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut unbonding_responses__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UnbondingResponses => { if unbonding_responses__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingResponses")); } - unbonding_responses__ = Some(map_.next_value()?); + unbonding_responses__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -6261,7 +6265,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorUnbondingDelegationsResponse } impl serde::Serialize for QueryValidatorsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6285,7 +6289,7 @@ impl serde::Serialize for QueryValidatorsRequest { } impl<'de> serde::Deserialize<'de> for QueryValidatorsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6300,7 +6304,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6309,12 +6313,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6332,29 +6336,29 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut status__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Status => { if status__.is_some() { return Err(serde::de::Error::duplicate_field("status")); } - status__ = Some(map_.next_value()?); + status__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -6369,7 +6373,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsRequest { } impl serde::Serialize for QueryValidatorsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6393,7 +6397,7 @@ impl serde::Serialize for QueryValidatorsResponse { } impl<'de> serde::Deserialize<'de> for QueryValidatorsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6408,7 +6412,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6417,12 +6421,12 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6440,29 +6444,29 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryValidatorsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.QueryValidatorsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut validators__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Validators => { if validators__.is_some() { return Err(serde::de::Error::duplicate_field("validators")); } - validators__ = Some(map_.next_value()?); + validators__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -6477,7 +6481,7 @@ impl<'de> serde::Deserialize<'de> for QueryValidatorsResponse { } impl serde::Serialize for Redelegation { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6513,7 +6517,7 @@ impl serde::Serialize for Redelegation { } impl<'de> serde::Deserialize<'de> for Redelegation { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6535,7 +6539,7 @@ impl<'de> serde::Deserialize<'de> for Redelegation { Entries, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6544,12 +6548,12 @@ impl<'de> serde::Deserialize<'de> for Redelegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6569,11 +6573,11 @@ impl<'de> serde::Deserialize<'de> for Redelegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Redelegation; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Redelegation") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -6581,31 +6585,31 @@ impl<'de> serde::Deserialize<'de> for Redelegation { let mut validator_src_address__ = None; let mut validator_dst_address__ = None; let mut entries__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorSrcAddress => { if validator_src_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorSrcAddress")); } - validator_src_address__ = Some(map_.next_value()?); + validator_src_address__ = Some(map.next_value()?); } GeneratedField::ValidatorDstAddress => { if validator_dst_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorDstAddress")); } - validator_dst_address__ = Some(map_.next_value()?); + validator_dst_address__ = Some(map.next_value()?); } GeneratedField::Entries => { if entries__.is_some() { return Err(serde::de::Error::duplicate_field("entries")); } - entries__ = Some(map_.next_value()?); + entries__ = Some(map.next_value()?); } } } @@ -6622,7 +6626,7 @@ impl<'de> serde::Deserialize<'de> for Redelegation { } impl serde::Serialize for RedelegationEntry { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6648,8 +6652,7 @@ impl serde::Serialize for RedelegationEntry { } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationEntry", len)?; if self.creation_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("creationHeight", ToString::to_string(&self.creation_height).as_str())?; + struct_ser.serialize_field("creationHeight", ::alloc::string::ToString::to_string(&self.creation_height).as_str())?; } if let Some(v) = self.completion_time.as_ref() { struct_ser.serialize_field("completionTime", v)?; @@ -6661,19 +6664,17 @@ impl serde::Serialize for RedelegationEntry { struct_ser.serialize_field("sharesDst", &self.shares_dst)?; } if self.unbonding_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("unbondingId", ToString::to_string(&self.unbonding_id).as_str())?; + struct_ser.serialize_field("unbondingId", ::alloc::string::ToString::to_string(&self.unbonding_id).as_str())?; } if self.unbonding_on_hold_ref_count != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("unbondingOnHoldRefCount", ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; + struct_ser.serialize_field("unbondingOnHoldRefCount", ::alloc::string::ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for RedelegationEntry { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6702,7 +6703,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntry { UnbondingOnHoldRefCount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6711,12 +6712,12 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6738,11 +6739,11 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = RedelegationEntry; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.RedelegationEntry") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -6752,40 +6753,40 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntry { let mut shares_dst__ = None; let mut unbonding_id__ = None; let mut unbonding_on_hold_ref_count__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::CreationHeight => { if creation_height__.is_some() { return Err(serde::de::Error::duplicate_field("creationHeight")); } creation_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::CompletionTime => { if completion_time__.is_some() { return Err(serde::de::Error::duplicate_field("completionTime")); } - completion_time__ = map_.next_value()?; + completion_time__ = map.next_value()?; } GeneratedField::InitialBalance => { if initial_balance__.is_some() { return Err(serde::de::Error::duplicate_field("initialBalance")); } - initial_balance__ = Some(map_.next_value()?); + initial_balance__ = Some(map.next_value()?); } GeneratedField::SharesDst => { if shares_dst__.is_some() { return Err(serde::de::Error::duplicate_field("sharesDst")); } - shares_dst__ = Some(map_.next_value()?); + shares_dst__ = Some(map.next_value()?); } GeneratedField::UnbondingId => { if unbonding_id__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingId")); } unbonding_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::UnbondingOnHoldRefCount => { @@ -6793,7 +6794,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntry { return Err(serde::de::Error::duplicate_field("unbondingOnHoldRefCount")); } unbonding_on_hold_ref_count__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -6813,7 +6814,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntry { } impl serde::Serialize for RedelegationEntryResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6837,7 +6838,7 @@ impl serde::Serialize for RedelegationEntryResponse { } impl<'de> serde::Deserialize<'de> for RedelegationEntryResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6853,7 +6854,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntryResponse { Balance, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6862,12 +6863,12 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntryResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6885,29 +6886,29 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntryResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = RedelegationEntryResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.RedelegationEntryResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut redelegation_entry__ = None; let mut balance__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::RedelegationEntry => { if redelegation_entry__.is_some() { return Err(serde::de::Error::duplicate_field("redelegationEntry")); } - redelegation_entry__ = map_.next_value()?; + redelegation_entry__ = map.next_value()?; } GeneratedField::Balance => { if balance__.is_some() { return Err(serde::de::Error::duplicate_field("balance")); } - balance__ = Some(map_.next_value()?); + balance__ = Some(map.next_value()?); } } } @@ -6922,7 +6923,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationEntryResponse { } impl serde::Serialize for RedelegationResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6946,7 +6947,7 @@ impl serde::Serialize for RedelegationResponse { } impl<'de> serde::Deserialize<'de> for RedelegationResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6961,7 +6962,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationResponse { Entries, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6970,12 +6971,12 @@ impl<'de> serde::Deserialize<'de> for RedelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6993,29 +6994,29 @@ impl<'de> serde::Deserialize<'de> for RedelegationResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = RedelegationResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.RedelegationResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut redelegation__ = None; let mut entries__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Redelegation => { if redelegation__.is_some() { return Err(serde::de::Error::duplicate_field("redelegation")); } - redelegation__ = map_.next_value()?; + redelegation__ = map.next_value()?; } GeneratedField::Entries => { if entries__.is_some() { return Err(serde::de::Error::duplicate_field("entries")); } - entries__ = Some(map_.next_value()?); + entries__ = Some(map.next_value()?); } } } @@ -7030,7 +7031,7 @@ impl<'de> serde::Deserialize<'de> for RedelegationResponse { } impl serde::Serialize for UnbondingDelegation { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7060,7 +7061,7 @@ impl serde::Serialize for UnbondingDelegation { } impl<'de> serde::Deserialize<'de> for UnbondingDelegation { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7079,7 +7080,7 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegation { Entries, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7088,12 +7089,12 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7112,36 +7113,36 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = UnbondingDelegation; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.UnbondingDelegation") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut delegator_address__ = None; let mut validator_address__ = None; let mut entries__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DelegatorAddress => { if delegator_address__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorAddress")); } - delegator_address__ = Some(map_.next_value()?); + delegator_address__ = Some(map.next_value()?); } GeneratedField::ValidatorAddress => { if validator_address__.is_some() { return Err(serde::de::Error::duplicate_field("validatorAddress")); } - validator_address__ = Some(map_.next_value()?); + validator_address__ = Some(map.next_value()?); } GeneratedField::Entries => { if entries__.is_some() { return Err(serde::de::Error::duplicate_field("entries")); } - entries__ = Some(map_.next_value()?); + entries__ = Some(map.next_value()?); } } } @@ -7157,7 +7158,7 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegation { } impl serde::Serialize for UnbondingDelegationEntry { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7183,8 +7184,7 @@ impl serde::Serialize for UnbondingDelegationEntry { } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.UnbondingDelegationEntry", len)?; if self.creation_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("creationHeight", ToString::to_string(&self.creation_height).as_str())?; + struct_ser.serialize_field("creationHeight", ::alloc::string::ToString::to_string(&self.creation_height).as_str())?; } if let Some(v) = self.completion_time.as_ref() { struct_ser.serialize_field("completionTime", v)?; @@ -7196,19 +7196,17 @@ impl serde::Serialize for UnbondingDelegationEntry { struct_ser.serialize_field("balance", &self.balance)?; } if self.unbonding_id != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("unbondingId", ToString::to_string(&self.unbonding_id).as_str())?; + struct_ser.serialize_field("unbondingId", ::alloc::string::ToString::to_string(&self.unbonding_id).as_str())?; } if self.unbonding_on_hold_ref_count != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("unbondingOnHoldRefCount", ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; + struct_ser.serialize_field("unbondingOnHoldRefCount", ::alloc::string::ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7236,7 +7234,7 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { UnbondingOnHoldRefCount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7245,12 +7243,12 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7272,11 +7270,11 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = UnbondingDelegationEntry; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.UnbondingDelegationEntry") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -7286,40 +7284,40 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { let mut balance__ = None; let mut unbonding_id__ = None; let mut unbonding_on_hold_ref_count__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::CreationHeight => { if creation_height__.is_some() { return Err(serde::de::Error::duplicate_field("creationHeight")); } creation_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::CompletionTime => { if completion_time__.is_some() { return Err(serde::de::Error::duplicate_field("completionTime")); } - completion_time__ = map_.next_value()?; + completion_time__ = map.next_value()?; } GeneratedField::InitialBalance => { if initial_balance__.is_some() { return Err(serde::de::Error::duplicate_field("initialBalance")); } - initial_balance__ = Some(map_.next_value()?); + initial_balance__ = Some(map.next_value()?); } GeneratedField::Balance => { if balance__.is_some() { return Err(serde::de::Error::duplicate_field("balance")); } - balance__ = Some(map_.next_value()?); + balance__ = Some(map.next_value()?); } GeneratedField::UnbondingId => { if unbonding_id__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingId")); } unbonding_id__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::UnbondingOnHoldRefCount => { @@ -7327,7 +7325,7 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { return Err(serde::de::Error::duplicate_field("unbondingOnHoldRefCount")); } unbonding_on_hold_ref_count__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -7347,7 +7345,7 @@ impl<'de> serde::Deserialize<'de> for UnbondingDelegationEntry { } impl serde::Serialize for ValAddresses { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7365,7 +7363,7 @@ impl serde::Serialize for ValAddresses { } impl<'de> serde::Deserialize<'de> for ValAddresses { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7378,7 +7376,7 @@ impl<'de> serde::Deserialize<'de> for ValAddresses { Addresses, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7387,12 +7385,12 @@ impl<'de> serde::Deserialize<'de> for ValAddresses { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7409,22 +7407,22 @@ impl<'de> serde::Deserialize<'de> for ValAddresses { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ValAddresses; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.ValAddresses") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut addresses__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Addresses => { if addresses__.is_some() { return Err(serde::de::Error::duplicate_field("addresses")); } - addresses__ = Some(map_.next_value()?); + addresses__ = Some(map.next_value()?); } } } @@ -7438,7 +7436,7 @@ impl<'de> serde::Deserialize<'de> for ValAddresses { } impl serde::Serialize for Validator { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7494,8 +7492,8 @@ impl serde::Serialize for Validator { struct_ser.serialize_field("jailed", &self.jailed)?; } if self.status != 0 { - let v = BondStatus::try_from(self.status) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.status)))?; + let v = BondStatus::from_i32(self.status) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.status)))?; struct_ser.serialize_field("status", &v)?; } if !self.tokens.is_empty() { @@ -7508,8 +7506,7 @@ impl serde::Serialize for Validator { struct_ser.serialize_field("description", v)?; } if self.unbonding_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("unbondingHeight", ToString::to_string(&self.unbonding_height).as_str())?; + struct_ser.serialize_field("unbondingHeight", ::alloc::string::ToString::to_string(&self.unbonding_height).as_str())?; } if let Some(v) = self.unbonding_time.as_ref() { struct_ser.serialize_field("unbondingTime", v)?; @@ -7521,18 +7518,17 @@ impl serde::Serialize for Validator { struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; } if self.unbonding_on_hold_ref_count != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("unbondingOnHoldRefCount", ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; + struct_ser.serialize_field("unbondingOnHoldRefCount", ::alloc::string::ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; } if !self.unbonding_ids.is_empty() { - struct_ser.serialize_field("unbondingIds", &self.unbonding_ids.iter().map(ToString::to_string).collect::>())?; + struct_ser.serialize_field("unbondingIds", &self.unbonding_ids.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Validator { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7577,7 +7573,7 @@ impl<'de> serde::Deserialize<'de> for Validator { UnbondingIds, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7586,12 +7582,12 @@ impl<'de> serde::Deserialize<'de> for Validator { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7620,11 +7616,11 @@ impl<'de> serde::Deserialize<'de> for Validator { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Validator; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.staking.v1beta1.Validator") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -7641,82 +7637,82 @@ impl<'de> serde::Deserialize<'de> for Validator { let mut min_self_delegation__ = None; let mut unbonding_on_hold_ref_count__ = None; let mut unbonding_ids__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::OperatorAddress => { if operator_address__.is_some() { return Err(serde::de::Error::duplicate_field("operatorAddress")); } - operator_address__ = Some(map_.next_value()?); + operator_address__ = Some(map.next_value()?); } GeneratedField::ConsensusPubkey => { if consensus_pubkey__.is_some() { return Err(serde::de::Error::duplicate_field("consensusPubkey")); } - consensus_pubkey__ = map_.next_value()?; + consensus_pubkey__ = map.next_value()?; } GeneratedField::Jailed => { if jailed__.is_some() { return Err(serde::de::Error::duplicate_field("jailed")); } - jailed__ = Some(map_.next_value()?); + jailed__ = Some(map.next_value()?); } GeneratedField::Status => { if status__.is_some() { return Err(serde::de::Error::duplicate_field("status")); } - status__ = Some(map_.next_value::()? as i32); + status__ = Some(map.next_value::()? as i32); } GeneratedField::Tokens => { if tokens__.is_some() { return Err(serde::de::Error::duplicate_field("tokens")); } - tokens__ = Some(map_.next_value()?); + tokens__ = Some(map.next_value()?); } GeneratedField::DelegatorShares => { if delegator_shares__.is_some() { return Err(serde::de::Error::duplicate_field("delegatorShares")); } - delegator_shares__ = Some(map_.next_value()?); + delegator_shares__ = Some(map.next_value()?); } GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = map_.next_value()?; + description__ = map.next_value()?; } GeneratedField::UnbondingHeight => { if unbonding_height__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingHeight")); } unbonding_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::UnbondingTime => { if unbonding_time__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingTime")); } - unbonding_time__ = map_.next_value()?; + unbonding_time__ = map.next_value()?; } GeneratedField::Commission => { if commission__.is_some() { return Err(serde::de::Error::duplicate_field("commission")); } - commission__ = map_.next_value()?; + commission__ = map.next_value()?; } GeneratedField::MinSelfDelegation => { if min_self_delegation__.is_some() { return Err(serde::de::Error::duplicate_field("minSelfDelegation")); } - min_self_delegation__ = Some(map_.next_value()?); + min_self_delegation__ = Some(map.next_value()?); } GeneratedField::UnbondingOnHoldRefCount => { if unbonding_on_hold_ref_count__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingOnHoldRefCount")); } unbonding_on_hold_ref_count__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::UnbondingIds => { @@ -7724,7 +7720,7 @@ impl<'de> serde::Deserialize<'de> for Validator { return Err(serde::de::Error::duplicate_field("unbondingIds")); } unbonding_ids__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } diff --git a/src/prost/cosmos.tx.config.v1.serde.rs b/src/prost/cosmos.tx.config.v1.serde.rs index 468e2a93..cc316a3c 100644 --- a/src/prost/cosmos.tx.config.v1.serde.rs +++ b/src/prost/cosmos.tx.config.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Config { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for Config { } impl<'de> serde::Deserialize<'de> for Config { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +41,7 @@ impl<'de> serde::Deserialize<'de> for Config { SkipPostHandler, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +50,12 @@ impl<'de> serde::Deserialize<'de> for Config { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,29 +73,29 @@ impl<'de> serde::Deserialize<'de> for Config { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Config; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.tx.config.v1.Config") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut skip_ante_handler__ = None; let mut skip_post_handler__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SkipAnteHandler => { if skip_ante_handler__.is_some() { return Err(serde::de::Error::duplicate_field("skipAnteHandler")); } - skip_ante_handler__ = Some(map_.next_value()?); + skip_ante_handler__ = Some(map.next_value()?); } GeneratedField::SkipPostHandler => { if skip_post_handler__.is_some() { return Err(serde::de::Error::duplicate_field("skipPostHandler")); } - skip_post_handler__ = Some(map_.next_value()?); + skip_post_handler__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.tx.signing.v1beta1.serde.rs b/src/prost/cosmos.tx.signing.v1beta1.serde.rs index bd9cfdd5..f4251e2b 100644 --- a/src/prost/cosmos.tx.signing.v1beta1.serde.rs +++ b/src/prost/cosmos.tx.signing.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for SignMode { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -17,7 +17,7 @@ impl serde::Serialize for SignMode { } impl<'de> serde::Deserialize<'de> for SignMode { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -35,35 +35,37 @@ impl<'de> serde::Deserialize<'de> for SignMode { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignMode; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(SignMode::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(SignMode::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -83,7 +85,7 @@ impl<'de> serde::Deserialize<'de> for SignMode { } impl serde::Serialize for SignatureDescriptor { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -106,15 +108,14 @@ impl serde::Serialize for SignatureDescriptor { struct_ser.serialize_field("data", v)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for SignatureDescriptor { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -132,7 +133,7 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptor { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -141,12 +142,12 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -165,37 +166,37 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptor { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignatureDescriptor; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut public_key__ = None; let mut data__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PublicKey => { if public_key__.is_some() { return Err(serde::de::Error::duplicate_field("publicKey")); } - public_key__ = map_.next_value()?; + public_key__ = map.next_value()?; } GeneratedField::Data => { if data__.is_some() { return Err(serde::de::Error::duplicate_field("data")); } - data__ = map_.next_value()?; + data__ = map.next_value()?; } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -212,7 +213,7 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptor { } impl serde::Serialize for signature_descriptor::Data { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -237,7 +238,7 @@ impl serde::Serialize for signature_descriptor::Data { } impl<'de> serde::Deserialize<'de> for signature_descriptor::Data { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -252,7 +253,7 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::Data { Multi, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -261,12 +262,12 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::Data { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -284,29 +285,29 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::Data { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = signature_descriptor::Data; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor.Data") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sum__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Single => { if sum__.is_some() { return Err(serde::de::Error::duplicate_field("single")); } - sum__ = map_.next_value::<::std::option::Option<_>>()?.map(signature_descriptor::data::Sum::Single) + sum__ = map.next_value::<::core::option::Option<_>>()?.map(signature_descriptor::data::Sum::Single) ; } GeneratedField::Multi => { if sum__.is_some() { return Err(serde::de::Error::duplicate_field("multi")); } - sum__ = map_.next_value::<::std::option::Option<_>>()?.map(signature_descriptor::data::Sum::Multi) + sum__ = map.next_value::<::core::option::Option<_>>()?.map(signature_descriptor::data::Sum::Multi) ; } } @@ -321,7 +322,7 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::Data { } impl serde::Serialize for signature_descriptor::data::Multi { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -345,7 +346,7 @@ impl serde::Serialize for signature_descriptor::data::Multi { } impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Multi { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -360,7 +361,7 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Multi { Signatures, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -369,12 +370,12 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Multi { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -392,29 +393,29 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Multi { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = signature_descriptor::data::Multi; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut bitarray__ = None; let mut signatures__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Bitarray => { if bitarray__.is_some() { return Err(serde::de::Error::duplicate_field("bitarray")); } - bitarray__ = map_.next_value()?; + bitarray__ = map.next_value()?; } GeneratedField::Signatures => { if signatures__.is_some() { return Err(serde::de::Error::duplicate_field("signatures")); } - signatures__ = Some(map_.next_value()?); + signatures__ = Some(map.next_value()?); } } } @@ -429,7 +430,7 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Multi { } impl serde::Serialize for signature_descriptor::data::Single { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -443,12 +444,11 @@ impl serde::Serialize for signature_descriptor::data::Single { } let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single", len)?; if self.mode != 0 { - let v = SignMode::try_from(self.mode) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.mode)))?; + let v = SignMode::from_i32(self.mode) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.mode)))?; struct_ser.serialize_field("mode", &v)?; } if !self.signature.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } struct_ser.end() @@ -456,7 +456,7 @@ impl serde::Serialize for signature_descriptor::data::Single { } impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Single { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -471,7 +471,7 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Single { Signature, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -480,12 +480,12 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Single { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -503,30 +503,30 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Single { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = signature_descriptor::data::Single; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut mode__ = None; let mut signature__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Mode => { if mode__.is_some() { return Err(serde::de::Error::duplicate_field("mode")); } - mode__ = Some(map_.next_value::()? as i32); + mode__ = Some(map.next_value::()? as i32); } GeneratedField::Signature => { if signature__.is_some() { return Err(serde::de::Error::duplicate_field("signature")); } signature__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -542,7 +542,7 @@ impl<'de> serde::Deserialize<'de> for signature_descriptor::data::Single { } impl serde::Serialize for SignatureDescriptors { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -560,7 +560,7 @@ impl serde::Serialize for SignatureDescriptors { } impl<'de> serde::Deserialize<'de> for SignatureDescriptors { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -573,7 +573,7 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptors { Signatures, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -582,12 +582,12 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptors { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -604,22 +604,22 @@ impl<'de> serde::Deserialize<'de> for SignatureDescriptors { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignatureDescriptors; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.tx.signing.v1beta1.SignatureDescriptors") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signatures__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signatures => { if signatures__.is_some() { return Err(serde::de::Error::duplicate_field("signatures")); } - signatures__ = Some(map_.next_value()?); + signatures__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.upgrade.module.v1.serde.rs b/src/prost/cosmos.upgrade.module.v1.serde.rs index f029a94c..e6dcd535 100644 --- a/src/prost/cosmos.upgrade.module.v1.serde.rs +++ b/src/prost/cosmos.upgrade.module.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Module { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for Module { } impl<'de> serde::Deserialize<'de> for Module { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -31,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for Module { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -62,22 +62,22 @@ impl<'de> serde::Deserialize<'de> for Module { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Module; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.module.v1.Module") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } diff --git a/src/prost/cosmos.upgrade.v1beta1.serde.rs b/src/prost/cosmos.upgrade.v1beta1.serde.rs index 1da7500a..b2d296bd 100644 --- a/src/prost/cosmos.upgrade.v1beta1.serde.rs +++ b/src/prost/cosmos.upgrade.v1beta1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for CancelSoftwareUpgradeProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for CancelSoftwareUpgradeProposal { } impl<'de> serde::Deserialize<'de> for CancelSoftwareUpgradeProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -39,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for CancelSoftwareUpgradeProposal { Description, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -48,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for CancelSoftwareUpgradeProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -71,29 +71,29 @@ impl<'de> serde::Deserialize<'de> for CancelSoftwareUpgradeProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CancelSoftwareUpgradeProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut title__ = None; let mut description__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = Some(map_.next_value()?); + description__ = Some(map.next_value()?); } } } @@ -108,7 +108,7 @@ impl<'de> serde::Deserialize<'de> for CancelSoftwareUpgradeProposal { } impl serde::Serialize for ModuleVersion { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -125,15 +125,14 @@ impl serde::Serialize for ModuleVersion { struct_ser.serialize_field("name", &self.name)?; } if self.version != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("version", ToString::to_string(&self.version).as_str())?; + struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for ModuleVersion { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -148,7 +147,7 @@ impl<'de> serde::Deserialize<'de> for ModuleVersion { Version, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -157,12 +156,12 @@ impl<'de> serde::Deserialize<'de> for ModuleVersion { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -180,30 +179,30 @@ impl<'de> serde::Deserialize<'de> for ModuleVersion { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ModuleVersion; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.ModuleVersion") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut version__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } version__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -219,7 +218,7 @@ impl<'de> serde::Deserialize<'de> for ModuleVersion { } impl serde::Serialize for MsgCancelUpgrade { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -237,7 +236,7 @@ impl serde::Serialize for MsgCancelUpgrade { } impl<'de> serde::Deserialize<'de> for MsgCancelUpgrade { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -250,7 +249,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgrade { Authority, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -259,12 +258,12 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgrade { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -281,22 +280,22 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgrade { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCancelUpgrade; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.MsgCancelUpgrade") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } } } @@ -310,7 +309,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgrade { } impl serde::Serialize for MsgCancelUpgradeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -322,7 +321,7 @@ impl serde::Serialize for MsgCancelUpgradeResponse { } impl<'de> serde::Deserialize<'de> for MsgCancelUpgradeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -333,7 +332,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgradeResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -342,12 +341,12 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgradeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -361,16 +360,16 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgradeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCancelUpgradeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.MsgCancelUpgradeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgCancelUpgradeResponse { }) @@ -381,7 +380,7 @@ impl<'de> serde::Deserialize<'de> for MsgCancelUpgradeResponse { } impl serde::Serialize for MsgSoftwareUpgrade { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -405,7 +404,7 @@ impl serde::Serialize for MsgSoftwareUpgrade { } impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgrade { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -420,7 +419,7 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgrade { Plan, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -429,12 +428,12 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgrade { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -452,29 +451,29 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgrade { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSoftwareUpgrade; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.MsgSoftwareUpgrade") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut authority__ = None; let mut plan__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Authority => { if authority__.is_some() { return Err(serde::de::Error::duplicate_field("authority")); } - authority__ = Some(map_.next_value()?); + authority__ = Some(map.next_value()?); } GeneratedField::Plan => { if plan__.is_some() { return Err(serde::de::Error::duplicate_field("plan")); } - plan__ = map_.next_value()?; + plan__ = map.next_value()?; } } } @@ -489,7 +488,7 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgrade { } impl serde::Serialize for MsgSoftwareUpgradeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -501,7 +500,7 @@ impl serde::Serialize for MsgSoftwareUpgradeResponse { } impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgradeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -512,7 +511,7 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgradeResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -521,12 +520,12 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgradeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -540,16 +539,16 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgradeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSoftwareUpgradeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.MsgSoftwareUpgradeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgSoftwareUpgradeResponse { }) @@ -560,7 +559,7 @@ impl<'de> serde::Deserialize<'de> for MsgSoftwareUpgradeResponse { } impl serde::Serialize for Plan { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -589,8 +588,7 @@ impl serde::Serialize for Plan { struct_ser.serialize_field("time", v)?; } if self.height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } if !self.info.is_empty() { struct_ser.serialize_field("info", &self.info)?; @@ -603,7 +601,7 @@ impl serde::Serialize for Plan { } impl<'de> serde::Deserialize<'de> for Plan { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -625,7 +623,7 @@ impl<'de> serde::Deserialize<'de> for Plan { UpgradedClientState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -634,12 +632,12 @@ impl<'de> serde::Deserialize<'de> for Plan { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -660,11 +658,11 @@ impl<'de> serde::Deserialize<'de> for Plan { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Plan; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.Plan") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -673,39 +671,39 @@ impl<'de> serde::Deserialize<'de> for Plan { let mut height__ = None; let mut info__ = None; let mut upgraded_client_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::Time => { if time__.is_some() { return Err(serde::de::Error::duplicate_field("time")); } - time__ = map_.next_value()?; + time__ = map.next_value()?; } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Info => { if info__.is_some() { return Err(serde::de::Error::duplicate_field("info")); } - info__ = Some(map_.next_value()?); + info__ = Some(map.next_value()?); } GeneratedField::UpgradedClientState => { if upgraded_client_state__.is_some() { return Err(serde::de::Error::duplicate_field("upgradedClientState")); } - upgraded_client_state__ = map_.next_value()?; + upgraded_client_state__ = map.next_value()?; } } } @@ -723,7 +721,7 @@ impl<'de> serde::Deserialize<'de> for Plan { } impl serde::Serialize for QueryAppliedPlanRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -741,7 +739,7 @@ impl serde::Serialize for QueryAppliedPlanRequest { } impl<'de> serde::Deserialize<'de> for QueryAppliedPlanRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -754,7 +752,7 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanRequest { Name, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -763,12 +761,12 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -785,22 +783,22 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAppliedPlanRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAppliedPlanRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } } } @@ -814,7 +812,7 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanRequest { } impl serde::Serialize for QueryAppliedPlanResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -825,15 +823,14 @@ impl serde::Serialize for QueryAppliedPlanResponse { } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanResponse", len)?; if self.height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("height", ToString::to_string(&self.height).as_str())?; + struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryAppliedPlanResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -846,7 +843,7 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -855,12 +852,12 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -877,23 +874,23 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAppliedPlanResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAppliedPlanResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -908,7 +905,7 @@ impl<'de> serde::Deserialize<'de> for QueryAppliedPlanResponse { } impl serde::Serialize for QueryAuthorityRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -920,7 +917,7 @@ impl serde::Serialize for QueryAuthorityRequest { } impl<'de> serde::Deserialize<'de> for QueryAuthorityRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -931,7 +928,7 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -940,12 +937,12 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -959,16 +956,16 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAuthorityRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAuthorityRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryAuthorityRequest { }) @@ -979,7 +976,7 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityRequest { } impl serde::Serialize for QueryAuthorityResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -997,7 +994,7 @@ impl serde::Serialize for QueryAuthorityResponse { } impl<'de> serde::Deserialize<'de> for QueryAuthorityResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1010,7 +1007,7 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityResponse { Address, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1019,12 +1016,12 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1041,22 +1038,22 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryAuthorityResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryAuthorityResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } } } @@ -1070,7 +1067,7 @@ impl<'de> serde::Deserialize<'de> for QueryAuthorityResponse { } impl serde::Serialize for QueryCurrentPlanRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1082,7 +1079,7 @@ impl serde::Serialize for QueryCurrentPlanRequest { } impl<'de> serde::Deserialize<'de> for QueryCurrentPlanRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1093,7 +1090,7 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1102,12 +1099,12 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1121,16 +1118,16 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryCurrentPlanRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryCurrentPlanRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryCurrentPlanRequest { }) @@ -1141,7 +1138,7 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanRequest { } impl serde::Serialize for QueryCurrentPlanResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1159,7 +1156,7 @@ impl serde::Serialize for QueryCurrentPlanResponse { } impl<'de> serde::Deserialize<'de> for QueryCurrentPlanResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1172,7 +1169,7 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanResponse { Plan, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1181,12 +1178,12 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1203,22 +1200,22 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryCurrentPlanResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryCurrentPlanResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut plan__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Plan => { if plan__.is_some() { return Err(serde::de::Error::duplicate_field("plan")); } - plan__ = map_.next_value()?; + plan__ = map.next_value()?; } } } @@ -1232,7 +1229,7 @@ impl<'de> serde::Deserialize<'de> for QueryCurrentPlanResponse { } impl serde::Serialize for QueryModuleVersionsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1250,7 +1247,7 @@ impl serde::Serialize for QueryModuleVersionsRequest { } impl<'de> serde::Deserialize<'de> for QueryModuleVersionsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1264,7 +1261,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsRequest { ModuleName, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1273,12 +1270,12 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1295,22 +1292,22 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryModuleVersionsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryModuleVersionsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut module_name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ModuleName => { if module_name__.is_some() { return Err(serde::de::Error::duplicate_field("moduleName")); } - module_name__ = Some(map_.next_value()?); + module_name__ = Some(map.next_value()?); } } } @@ -1324,7 +1321,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsRequest { } impl serde::Serialize for QueryModuleVersionsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1342,7 +1339,7 @@ impl serde::Serialize for QueryModuleVersionsResponse { } impl<'de> serde::Deserialize<'de> for QueryModuleVersionsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1356,7 +1353,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsResponse { ModuleVersions, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1365,12 +1362,12 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1387,22 +1384,22 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryModuleVersionsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryModuleVersionsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut module_versions__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ModuleVersions => { if module_versions__.is_some() { return Err(serde::de::Error::duplicate_field("moduleVersions")); } - module_versions__ = Some(map_.next_value()?); + module_versions__ = Some(map.next_value()?); } } } @@ -1416,7 +1413,7 @@ impl<'de> serde::Deserialize<'de> for QueryModuleVersionsResponse { } impl serde::Serialize for QueryUpgradedConsensusStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1427,15 +1424,14 @@ impl serde::Serialize for QueryUpgradedConsensusStateRequest { } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest", len)?; if self.last_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("lastHeight", ToString::to_string(&self.last_height).as_str())?; + struct_ser.serialize_field("lastHeight", ::alloc::string::ToString::to_string(&self.last_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1449,7 +1445,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { LastHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1458,12 +1454,12 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1480,23 +1476,23 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUpgradedConsensusStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut last_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::LastHeight => { if last_height__.is_some() { return Err(serde::de::Error::duplicate_field("lastHeight")); } last_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -1511,7 +1507,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { } impl serde::Serialize for QueryUpgradedConsensusStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1522,7 +1518,6 @@ impl serde::Serialize for QueryUpgradedConsensusStateResponse { } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse", len)?; if !self.upgraded_consensus_state.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("upgradedConsensusState", pbjson::private::base64::encode(&self.upgraded_consensus_state).as_str())?; } struct_ser.end() @@ -1530,7 +1525,7 @@ impl serde::Serialize for QueryUpgradedConsensusStateResponse { } impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1544,7 +1539,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { UpgradedConsensusState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1553,12 +1548,12 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1575,23 +1570,23 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUpgradedConsensusStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut upgraded_consensus_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UpgradedConsensusState => { if upgraded_consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("upgradedConsensusState")); } upgraded_consensus_state__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1606,7 +1601,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { } impl serde::Serialize for SoftwareUpgradeProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1636,7 +1631,7 @@ impl serde::Serialize for SoftwareUpgradeProposal { } impl<'de> serde::Deserialize<'de> for SoftwareUpgradeProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1653,7 +1648,7 @@ impl<'de> serde::Deserialize<'de> for SoftwareUpgradeProposal { Plan, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1662,12 +1657,12 @@ impl<'de> serde::Deserialize<'de> for SoftwareUpgradeProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1686,36 +1681,36 @@ impl<'de> serde::Deserialize<'de> for SoftwareUpgradeProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SoftwareUpgradeProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct cosmos.upgrade.v1beta1.SoftwareUpgradeProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut title__ = None; let mut description__ = None; let mut plan__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = Some(map_.next_value()?); + description__ = Some(map.next_value()?); } GeneratedField::Plan => { if plan__.is_some() { return Err(serde::de::Error::duplicate_field("plan")); } - plan__ = map_.next_value()?; + plan__ = map.next_value()?; } } } diff --git a/src/prost/google.api.serde.rs b/src/prost/google.api.serde.rs index de58b547..5296faac 100644 --- a/src/prost/google.api.serde.rs +++ b/src/prost/google.api.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for CustomHttpPattern { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for CustomHttpPattern { } impl<'de> serde::Deserialize<'de> for CustomHttpPattern { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -39,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for CustomHttpPattern { Path, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -48,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for CustomHttpPattern { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -71,29 +71,29 @@ impl<'de> serde::Deserialize<'de> for CustomHttpPattern { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CustomHttpPattern; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.api.CustomHttpPattern") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut kind__ = None; let mut path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Kind => { if kind__.is_some() { return Err(serde::de::Error::duplicate_field("kind")); } - kind__ = Some(map_.next_value()?); + kind__ = Some(map.next_value()?); } GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } - path__ = Some(map_.next_value()?); + path__ = Some(map.next_value()?); } } } @@ -108,7 +108,7 @@ impl<'de> serde::Deserialize<'de> for CustomHttpPattern { } impl serde::Serialize for Http { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -132,7 +132,7 @@ impl serde::Serialize for Http { } impl<'de> serde::Deserialize<'de> for Http { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -148,7 +148,7 @@ impl<'de> serde::Deserialize<'de> for Http { FullyDecodeReservedExpansion, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -157,12 +157,12 @@ impl<'de> serde::Deserialize<'de> for Http { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -180,29 +180,29 @@ impl<'de> serde::Deserialize<'de> for Http { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Http; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.api.Http") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut rules__ = None; let mut fully_decode_reserved_expansion__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Rules => { if rules__.is_some() { return Err(serde::de::Error::duplicate_field("rules")); } - rules__ = Some(map_.next_value()?); + rules__ = Some(map.next_value()?); } GeneratedField::FullyDecodeReservedExpansion => { if fully_decode_reserved_expansion__.is_some() { return Err(serde::de::Error::duplicate_field("fullyDecodeReservedExpansion")); } - fully_decode_reserved_expansion__ = Some(map_.next_value()?); + fully_decode_reserved_expansion__ = Some(map.next_value()?); } } } @@ -217,7 +217,7 @@ impl<'de> serde::Deserialize<'de> for Http { } impl serde::Serialize for HttpRule { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -278,7 +278,7 @@ impl serde::Serialize for HttpRule { } impl<'de> serde::Deserialize<'de> for HttpRule { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -311,7 +311,7 @@ impl<'de> serde::Deserialize<'de> for HttpRule { Custom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -320,12 +320,12 @@ impl<'de> serde::Deserialize<'de> for HttpRule { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -351,11 +351,11 @@ impl<'de> serde::Deserialize<'de> for HttpRule { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = HttpRule; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.api.HttpRule") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -364,67 +364,67 @@ impl<'de> serde::Deserialize<'de> for HttpRule { let mut response_body__ = None; let mut additional_bindings__ = None; let mut pattern__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Selector => { if selector__.is_some() { return Err(serde::de::Error::duplicate_field("selector")); } - selector__ = Some(map_.next_value()?); + selector__ = Some(map.next_value()?); } GeneratedField::Body => { if body__.is_some() { return Err(serde::de::Error::duplicate_field("body")); } - body__ = Some(map_.next_value()?); + body__ = Some(map.next_value()?); } GeneratedField::ResponseBody => { if response_body__.is_some() { return Err(serde::de::Error::duplicate_field("responseBody")); } - response_body__ = Some(map_.next_value()?); + response_body__ = Some(map.next_value()?); } GeneratedField::AdditionalBindings => { if additional_bindings__.is_some() { return Err(serde::de::Error::duplicate_field("additionalBindings")); } - additional_bindings__ = Some(map_.next_value()?); + additional_bindings__ = Some(map.next_value()?); } GeneratedField::Get => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("get")); } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Get); + pattern__ = map.next_value::<::core::option::Option<_>>()?.map(http_rule::Pattern::Get); } GeneratedField::Put => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("put")); } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Put); + pattern__ = map.next_value::<::core::option::Option<_>>()?.map(http_rule::Pattern::Put); } GeneratedField::Post => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("post")); } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Post); + pattern__ = map.next_value::<::core::option::Option<_>>()?.map(http_rule::Pattern::Post); } GeneratedField::Delete => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("delete")); } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Delete); + pattern__ = map.next_value::<::core::option::Option<_>>()?.map(http_rule::Pattern::Delete); } GeneratedField::Patch => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("patch")); } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Patch); + pattern__ = map.next_value::<::core::option::Option<_>>()?.map(http_rule::Pattern::Patch); } GeneratedField::Custom => { if pattern__.is_some() { return Err(serde::de::Error::duplicate_field("custom")); } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Custom) + pattern__ = map.next_value::<::core::option::Option<_>>()?.map(http_rule::Pattern::Custom) ; } } diff --git a/src/prost/google.protobuf.serde.rs b/src/prost/google.protobuf.serde.rs index 6413ff09..d41a6c72 100644 --- a/src/prost/google.protobuf.serde.rs +++ b/src/prost/google.protobuf.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Any { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -17,7 +17,6 @@ impl serde::Serialize for Any { struct_ser.serialize_field("typeUrl", &self.type_url)?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -25,7 +24,7 @@ impl serde::Serialize for Any { } impl<'de> serde::Deserialize<'de> for Any { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for Any { Value, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for Any { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,30 +72,30 @@ impl<'de> serde::Deserialize<'de> for Any { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Any; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.Any") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut type_url__ = None; let mut value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::TypeUrl => { if type_url__.is_some() { return Err(serde::de::Error::duplicate_field("typeUrl")); } - type_url__ = Some(map_.next_value()?); + type_url__ = Some(map.next_value()?); } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -112,7 +111,7 @@ impl<'de> serde::Deserialize<'de> for Any { } impl serde::Serialize for DescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -184,7 +183,7 @@ impl serde::Serialize for DescriptorProto { } impl<'de> serde::Deserialize<'de> for DescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -221,7 +220,7 @@ impl<'de> serde::Deserialize<'de> for DescriptorProto { ReservedName, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -230,12 +229,12 @@ impl<'de> serde::Deserialize<'de> for DescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -261,11 +260,11 @@ impl<'de> serde::Deserialize<'de> for DescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.DescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -279,67 +278,67 @@ impl<'de> serde::Deserialize<'de> for DescriptorProto { let mut options__ = None; let mut reserved_range__ = None; let mut reserved_name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Field => { if field__.is_some() { return Err(serde::de::Error::duplicate_field("field")); } - field__ = Some(map_.next_value()?); + field__ = Some(map.next_value()?); } GeneratedField::Extension => { if extension__.is_some() { return Err(serde::de::Error::duplicate_field("extension")); } - extension__ = Some(map_.next_value()?); + extension__ = Some(map.next_value()?); } GeneratedField::NestedType => { if nested_type__.is_some() { return Err(serde::de::Error::duplicate_field("nestedType")); } - nested_type__ = Some(map_.next_value()?); + nested_type__ = Some(map.next_value()?); } GeneratedField::EnumType => { if enum_type__.is_some() { return Err(serde::de::Error::duplicate_field("enumType")); } - enum_type__ = Some(map_.next_value()?); + enum_type__ = Some(map.next_value()?); } GeneratedField::ExtensionRange => { if extension_range__.is_some() { return Err(serde::de::Error::duplicate_field("extensionRange")); } - extension_range__ = Some(map_.next_value()?); + extension_range__ = Some(map.next_value()?); } GeneratedField::OneofDecl => { if oneof_decl__.is_some() { return Err(serde::de::Error::duplicate_field("oneofDecl")); } - oneof_decl__ = Some(map_.next_value()?); + oneof_decl__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } GeneratedField::ReservedRange => { if reserved_range__.is_some() { return Err(serde::de::Error::duplicate_field("reservedRange")); } - reserved_range__ = Some(map_.next_value()?); + reserved_range__ = Some(map.next_value()?); } GeneratedField::ReservedName => { if reserved_name__.is_some() { return Err(serde::de::Error::duplicate_field("reservedName")); } - reserved_name__ = Some(map_.next_value()?); + reserved_name__ = Some(map.next_value()?); } } } @@ -362,7 +361,7 @@ impl<'de> serde::Deserialize<'de> for DescriptorProto { } impl serde::Serialize for descriptor_proto::ExtensionRange { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -392,7 +391,7 @@ impl serde::Serialize for descriptor_proto::ExtensionRange { } impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -409,7 +408,7 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { Options, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -418,12 +417,12 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -442,25 +441,25 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = descriptor_proto::ExtensionRange; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.DescriptorProto.ExtensionRange") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut start__ = None; let mut end__ = None; let mut options__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Start => { if start__.is_some() { return Err(serde::de::Error::duplicate_field("start")); } start__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::End => { @@ -468,14 +467,14 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { return Err(serde::de::Error::duplicate_field("end")); } end__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } } } @@ -491,7 +490,7 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ExtensionRange { } impl serde::Serialize for descriptor_proto::ReservedRange { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -515,7 +514,7 @@ impl serde::Serialize for descriptor_proto::ReservedRange { } impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -530,7 +529,7 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { End, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -539,12 +538,12 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -562,24 +561,24 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = descriptor_proto::ReservedRange; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.DescriptorProto.ReservedRange") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut start__ = None; let mut end__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Start => { if start__.is_some() { return Err(serde::de::Error::duplicate_field("start")); } start__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::End => { @@ -587,7 +586,7 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { return Err(serde::de::Error::duplicate_field("end")); } end__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } } @@ -603,7 +602,7 @@ impl<'de> serde::Deserialize<'de> for descriptor_proto::ReservedRange { } impl serde::Serialize for Duration { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -617,8 +616,7 @@ impl serde::Serialize for Duration { } let mut struct_ser = serializer.serialize_struct("google.protobuf.Duration", len)?; if self.seconds != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("seconds", ToString::to_string(&self.seconds).as_str())?; + struct_ser.serialize_field("seconds", ::alloc::string::ToString::to_string(&self.seconds).as_str())?; } if self.nanos != 0 { struct_ser.serialize_field("nanos", &self.nanos)?; @@ -628,7 +626,7 @@ impl serde::Serialize for Duration { } impl<'de> serde::Deserialize<'de> for Duration { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -643,7 +641,7 @@ impl<'de> serde::Deserialize<'de> for Duration { Nanos, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -652,12 +650,12 @@ impl<'de> serde::Deserialize<'de> for Duration { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -675,24 +673,24 @@ impl<'de> serde::Deserialize<'de> for Duration { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Duration; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.Duration") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut seconds__ = None; let mut nanos__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Seconds => { if seconds__.is_some() { return Err(serde::de::Error::duplicate_field("seconds")); } seconds__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Nanos => { @@ -700,7 +698,7 @@ impl<'de> serde::Deserialize<'de> for Duration { return Err(serde::de::Error::duplicate_field("nanos")); } nanos__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -716,7 +714,7 @@ impl<'de> serde::Deserialize<'de> for Duration { } impl serde::Serialize for EnumDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -758,7 +756,7 @@ impl serde::Serialize for EnumDescriptorProto { } impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -781,7 +779,7 @@ impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { ReservedName, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -790,12 +788,12 @@ impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -816,11 +814,11 @@ impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = EnumDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.EnumDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -829,37 +827,37 @@ impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { let mut options__ = None; let mut reserved_range__ = None; let mut reserved_name__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Value => { if value__.is_some() { return Err(serde::de::Error::duplicate_field("value")); } - value__ = Some(map_.next_value()?); + value__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } GeneratedField::ReservedRange => { if reserved_range__.is_some() { return Err(serde::de::Error::duplicate_field("reservedRange")); } - reserved_range__ = Some(map_.next_value()?); + reserved_range__ = Some(map.next_value()?); } GeneratedField::ReservedName => { if reserved_name__.is_some() { return Err(serde::de::Error::duplicate_field("reservedName")); } - reserved_name__ = Some(map_.next_value()?); + reserved_name__ = Some(map.next_value()?); } } } @@ -877,7 +875,7 @@ impl<'de> serde::Deserialize<'de> for EnumDescriptorProto { } impl serde::Serialize for enum_descriptor_proto::EnumReservedRange { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -901,7 +899,7 @@ impl serde::Serialize for enum_descriptor_proto::EnumReservedRange { } impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -916,7 +914,7 @@ impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { End, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -925,12 +923,12 @@ impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -948,24 +946,24 @@ impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = enum_descriptor_proto::EnumReservedRange; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.EnumDescriptorProto.EnumReservedRange") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut start__ = None; let mut end__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Start => { if start__.is_some() { return Err(serde::de::Error::duplicate_field("start")); } start__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::End => { @@ -973,7 +971,7 @@ impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { return Err(serde::de::Error::duplicate_field("end")); } end__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } } @@ -989,7 +987,7 @@ impl<'de> serde::Deserialize<'de> for enum_descriptor_proto::EnumReservedRange { } impl serde::Serialize for EnumOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1019,7 +1017,7 @@ impl serde::Serialize for EnumOptions { } impl<'de> serde::Deserialize<'de> for EnumOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1038,7 +1036,7 @@ impl<'de> serde::Deserialize<'de> for EnumOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1047,12 +1045,12 @@ impl<'de> serde::Deserialize<'de> for EnumOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1071,36 +1069,36 @@ impl<'de> serde::Deserialize<'de> for EnumOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = EnumOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.EnumOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut allow_alias__ = None; let mut deprecated__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AllowAlias => { if allow_alias__.is_some() { return Err(serde::de::Error::duplicate_field("allowAlias")); } - allow_alias__ = map_.next_value()?; + allow_alias__ = map.next_value()?; } GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -1116,7 +1114,7 @@ impl<'de> serde::Deserialize<'de> for EnumOptions { } impl serde::Serialize for EnumValueDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1146,7 +1144,7 @@ impl serde::Serialize for EnumValueDescriptorProto { } impl<'de> serde::Deserialize<'de> for EnumValueDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1163,7 +1161,7 @@ impl<'de> serde::Deserialize<'de> for EnumValueDescriptorProto { Options, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1172,12 +1170,12 @@ impl<'de> serde::Deserialize<'de> for EnumValueDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1196,38 +1194,38 @@ impl<'de> serde::Deserialize<'de> for EnumValueDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = EnumValueDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.EnumValueDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut number__ = None; let mut options__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Number => { if number__.is_some() { return Err(serde::de::Error::duplicate_field("number")); } number__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } } } @@ -1243,7 +1241,7 @@ impl<'de> serde::Deserialize<'de> for EnumValueDescriptorProto { } impl serde::Serialize for EnumValueOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1267,7 +1265,7 @@ impl serde::Serialize for EnumValueOptions { } impl<'de> serde::Deserialize<'de> for EnumValueOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1283,7 +1281,7 @@ impl<'de> serde::Deserialize<'de> for EnumValueOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1292,12 +1290,12 @@ impl<'de> serde::Deserialize<'de> for EnumValueOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1315,29 +1313,29 @@ impl<'de> serde::Deserialize<'de> for EnumValueOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = EnumValueOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.EnumValueOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deprecated__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -1352,7 +1350,7 @@ impl<'de> serde::Deserialize<'de> for EnumValueOptions { } impl serde::Serialize for ExtensionRangeOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1370,7 +1368,7 @@ impl serde::Serialize for ExtensionRangeOptions { } impl<'de> serde::Deserialize<'de> for ExtensionRangeOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1384,7 +1382,7 @@ impl<'de> serde::Deserialize<'de> for ExtensionRangeOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1393,12 +1391,12 @@ impl<'de> serde::Deserialize<'de> for ExtensionRangeOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1415,22 +1413,22 @@ impl<'de> serde::Deserialize<'de> for ExtensionRangeOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ExtensionRangeOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.ExtensionRangeOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -1444,7 +1442,7 @@ impl<'de> serde::Deserialize<'de> for ExtensionRangeOptions { } impl serde::Serialize for FieldDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1491,13 +1489,13 @@ impl serde::Serialize for FieldDescriptorProto { struct_ser.serialize_field("number", v)?; } if let Some(v) = self.label.as_ref() { - let v = field_descriptor_proto::Label::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + let v = field_descriptor_proto::Label::from_i32(*v) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("label", &v)?; } if let Some(v) = self.r#type.as_ref() { - let v = field_descriptor_proto::Type::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + let v = field_descriptor_proto::Type::from_i32(*v) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("type", &v)?; } if let Some(v) = self.type_name.as_ref() { @@ -1526,7 +1524,7 @@ impl serde::Serialize for FieldDescriptorProto { } impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1564,7 +1562,7 @@ impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { Proto3Optional, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1573,12 +1571,12 @@ impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1605,11 +1603,11 @@ impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FieldDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.FieldDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1624,77 +1622,77 @@ impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { let mut json_name__ = None; let mut options__ = None; let mut proto3_optional__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Number => { if number__.is_some() { return Err(serde::de::Error::duplicate_field("number")); } number__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::Label => { if label__.is_some() { return Err(serde::de::Error::duplicate_field("label")); } - label__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + label__ = map.next_value::<::core::option::Option>()?.map(|x| x as i32); } GeneratedField::Type => { if r#type__.is_some() { return Err(serde::de::Error::duplicate_field("type")); } - r#type__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + r#type__ = map.next_value::<::core::option::Option>()?.map(|x| x as i32); } GeneratedField::TypeName => { if type_name__.is_some() { return Err(serde::de::Error::duplicate_field("typeName")); } - type_name__ = map_.next_value()?; + type_name__ = map.next_value()?; } GeneratedField::Extendee => { if extendee__.is_some() { return Err(serde::de::Error::duplicate_field("extendee")); } - extendee__ = map_.next_value()?; + extendee__ = map.next_value()?; } GeneratedField::DefaultValue => { if default_value__.is_some() { return Err(serde::de::Error::duplicate_field("defaultValue")); } - default_value__ = map_.next_value()?; + default_value__ = map.next_value()?; } GeneratedField::OneofIndex => { if oneof_index__.is_some() { return Err(serde::de::Error::duplicate_field("oneofIndex")); } oneof_index__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::JsonName => { if json_name__.is_some() { return Err(serde::de::Error::duplicate_field("jsonName")); } - json_name__ = map_.next_value()?; + json_name__ = map.next_value()?; } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } GeneratedField::Proto3Optional => { if proto3_optional__.is_some() { return Err(serde::de::Error::duplicate_field("proto3Optional")); } - proto3_optional__ = map_.next_value()?; + proto3_optional__ = map.next_value()?; } } } @@ -1718,7 +1716,7 @@ impl<'de> serde::Deserialize<'de> for FieldDescriptorProto { } impl serde::Serialize for field_descriptor_proto::Label { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1732,7 +1730,7 @@ impl serde::Serialize for field_descriptor_proto::Label { } impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Label { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1747,35 +1745,37 @@ impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Label { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = field_descriptor_proto::Label; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_descriptor_proto::Label::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_descriptor_proto::Label::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1792,7 +1792,7 @@ impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Label { } impl serde::Serialize for field_descriptor_proto::Type { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1821,7 +1821,7 @@ impl serde::Serialize for field_descriptor_proto::Type { } impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Type { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1851,35 +1851,37 @@ impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Type { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = field_descriptor_proto::Type; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_descriptor_proto::Type::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_descriptor_proto::Type::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1911,7 +1913,7 @@ impl<'de> serde::Deserialize<'de> for field_descriptor_proto::Type { } impl serde::Serialize for FieldOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1943,16 +1945,16 @@ impl serde::Serialize for FieldOptions { } let mut struct_ser = serializer.serialize_struct("google.protobuf.FieldOptions", len)?; if let Some(v) = self.ctype.as_ref() { - let v = field_options::CType::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + let v = field_options::CType::from_i32(*v) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("ctype", &v)?; } if let Some(v) = self.packed.as_ref() { struct_ser.serialize_field("packed", v)?; } if let Some(v) = self.jstype.as_ref() { - let v = field_options::JsType::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + let v = field_options::JsType::from_i32(*v) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("jstype", &v)?; } if let Some(v) = self.lazy.as_ref() { @@ -1975,7 +1977,7 @@ impl serde::Serialize for FieldOptions { } impl<'de> serde::Deserialize<'de> for FieldOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2004,7 +2006,7 @@ impl<'de> serde::Deserialize<'de> for FieldOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2013,12 +2015,12 @@ impl<'de> serde::Deserialize<'de> for FieldOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2042,11 +2044,11 @@ impl<'de> serde::Deserialize<'de> for FieldOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FieldOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.FieldOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2058,55 +2060,55 @@ impl<'de> serde::Deserialize<'de> for FieldOptions { let mut deprecated__ = None; let mut weak__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Ctype => { if ctype__.is_some() { return Err(serde::de::Error::duplicate_field("ctype")); } - ctype__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + ctype__ = map.next_value::<::core::option::Option>()?.map(|x| x as i32); } GeneratedField::Packed => { if packed__.is_some() { return Err(serde::de::Error::duplicate_field("packed")); } - packed__ = map_.next_value()?; + packed__ = map.next_value()?; } GeneratedField::Jstype => { if jstype__.is_some() { return Err(serde::de::Error::duplicate_field("jstype")); } - jstype__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + jstype__ = map.next_value::<::core::option::Option>()?.map(|x| x as i32); } GeneratedField::Lazy => { if lazy__.is_some() { return Err(serde::de::Error::duplicate_field("lazy")); } - lazy__ = map_.next_value()?; + lazy__ = map.next_value()?; } GeneratedField::UnverifiedLazy => { if unverified_lazy__.is_some() { return Err(serde::de::Error::duplicate_field("unverifiedLazy")); } - unverified_lazy__ = map_.next_value()?; + unverified_lazy__ = map.next_value()?; } GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::Weak => { if weak__.is_some() { return Err(serde::de::Error::duplicate_field("weak")); } - weak__ = map_.next_value()?; + weak__ = map.next_value()?; } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -2127,7 +2129,7 @@ impl<'de> serde::Deserialize<'de> for FieldOptions { } impl serde::Serialize for field_options::CType { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2141,7 +2143,7 @@ impl serde::Serialize for field_options::CType { } impl<'de> serde::Deserialize<'de> for field_options::CType { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2156,35 +2158,37 @@ impl<'de> serde::Deserialize<'de> for field_options::CType { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = field_options::CType; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_options::CType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_options::CType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2201,7 +2205,7 @@ impl<'de> serde::Deserialize<'de> for field_options::CType { } impl serde::Serialize for field_options::JsType { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2215,7 +2219,7 @@ impl serde::Serialize for field_options::JsType { } impl<'de> serde::Deserialize<'de> for field_options::JsType { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2230,35 +2234,37 @@ impl<'de> serde::Deserialize<'de> for field_options::JsType { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = field_options::JsType; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_options::JsType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(field_options::JsType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2275,7 +2281,7 @@ impl<'de> serde::Deserialize<'de> for field_options::JsType { } impl serde::Serialize for FileDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2359,7 +2365,7 @@ impl serde::Serialize for FileDescriptorProto { } impl<'de> serde::Deserialize<'de> for FileDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2399,7 +2405,7 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { Syntax, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2408,12 +2414,12 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2441,11 +2447,11 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FileDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.FileDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2461,32 +2467,32 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { let mut options__ = None; let mut source_code_info__ = None; let mut syntax__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Package => { if package__.is_some() { return Err(serde::de::Error::duplicate_field("package")); } - package__ = map_.next_value()?; + package__ = map.next_value()?; } GeneratedField::Dependency => { if dependency__.is_some() { return Err(serde::de::Error::duplicate_field("dependency")); } - dependency__ = Some(map_.next_value()?); + dependency__ = Some(map.next_value()?); } GeneratedField::PublicDependency => { if public_dependency__.is_some() { return Err(serde::de::Error::duplicate_field("publicDependency")); } public_dependency__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -2495,7 +2501,7 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { return Err(serde::de::Error::duplicate_field("weakDependency")); } weak_dependency__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -2503,43 +2509,43 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { if message_type__.is_some() { return Err(serde::de::Error::duplicate_field("messageType")); } - message_type__ = Some(map_.next_value()?); + message_type__ = Some(map.next_value()?); } GeneratedField::EnumType => { if enum_type__.is_some() { return Err(serde::de::Error::duplicate_field("enumType")); } - enum_type__ = Some(map_.next_value()?); + enum_type__ = Some(map.next_value()?); } GeneratedField::Service => { if service__.is_some() { return Err(serde::de::Error::duplicate_field("service")); } - service__ = Some(map_.next_value()?); + service__ = Some(map.next_value()?); } GeneratedField::Extension => { if extension__.is_some() { return Err(serde::de::Error::duplicate_field("extension")); } - extension__ = Some(map_.next_value()?); + extension__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } GeneratedField::SourceCodeInfo => { if source_code_info__.is_some() { return Err(serde::de::Error::duplicate_field("sourceCodeInfo")); } - source_code_info__ = map_.next_value()?; + source_code_info__ = map.next_value()?; } GeneratedField::Syntax => { if syntax__.is_some() { return Err(serde::de::Error::duplicate_field("syntax")); } - syntax__ = map_.next_value()?; + syntax__ = map.next_value()?; } } } @@ -2564,7 +2570,7 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorProto { } impl serde::Serialize for FileDescriptorSet { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2582,7 +2588,7 @@ impl serde::Serialize for FileDescriptorSet { } impl<'de> serde::Deserialize<'de> for FileDescriptorSet { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2595,7 +2601,7 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorSet { File, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2604,12 +2610,12 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorSet { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2626,22 +2632,22 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorSet { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FileDescriptorSet; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.FileDescriptorSet") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut file__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::File => { if file__.is_some() { return Err(serde::de::Error::duplicate_field("file")); } - file__ = Some(map_.next_value()?); + file__ = Some(map.next_value()?); } } } @@ -2655,7 +2661,7 @@ impl<'de> serde::Deserialize<'de> for FileDescriptorSet { } impl serde::Serialize for FileOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2741,8 +2747,8 @@ impl serde::Serialize for FileOptions { struct_ser.serialize_field("javaStringCheckUtf8", v)?; } if let Some(v) = self.optimize_for.as_ref() { - let v = file_options::OptimizeMode::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + let v = file_options::OptimizeMode::from_i32(*v) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("optimizeFor", &v)?; } if let Some(v) = self.go_package.as_ref() { @@ -2795,7 +2801,7 @@ impl serde::Serialize for FileOptions { } impl<'de> serde::Deserialize<'de> for FileOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2868,7 +2874,7 @@ impl<'de> serde::Deserialize<'de> for FileOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2877,12 +2883,12 @@ impl<'de> serde::Deserialize<'de> for FileOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2919,11 +2925,11 @@ impl<'de> serde::Deserialize<'de> for FileOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FileOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.FileOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2948,133 +2954,133 @@ impl<'de> serde::Deserialize<'de> for FileOptions { let mut php_metadata_namespace__ = None; let mut ruby_package__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::JavaPackage => { if java_package__.is_some() { return Err(serde::de::Error::duplicate_field("javaPackage")); } - java_package__ = map_.next_value()?; + java_package__ = map.next_value()?; } GeneratedField::JavaOuterClassname => { if java_outer_classname__.is_some() { return Err(serde::de::Error::duplicate_field("javaOuterClassname")); } - java_outer_classname__ = map_.next_value()?; + java_outer_classname__ = map.next_value()?; } GeneratedField::JavaMultipleFiles => { if java_multiple_files__.is_some() { return Err(serde::de::Error::duplicate_field("javaMultipleFiles")); } - java_multiple_files__ = map_.next_value()?; + java_multiple_files__ = map.next_value()?; } GeneratedField::JavaGenerateEqualsAndHash => { if java_generate_equals_and_hash__.is_some() { return Err(serde::de::Error::duplicate_field("javaGenerateEqualsAndHash")); } - java_generate_equals_and_hash__ = map_.next_value()?; + java_generate_equals_and_hash__ = map.next_value()?; } GeneratedField::JavaStringCheckUtf8 => { if java_string_check_utf8__.is_some() { return Err(serde::de::Error::duplicate_field("javaStringCheckUtf8")); } - java_string_check_utf8__ = map_.next_value()?; + java_string_check_utf8__ = map.next_value()?; } GeneratedField::OptimizeFor => { if optimize_for__.is_some() { return Err(serde::de::Error::duplicate_field("optimizeFor")); } - optimize_for__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + optimize_for__ = map.next_value::<::core::option::Option>()?.map(|x| x as i32); } GeneratedField::GoPackage => { if go_package__.is_some() { return Err(serde::de::Error::duplicate_field("goPackage")); } - go_package__ = map_.next_value()?; + go_package__ = map.next_value()?; } GeneratedField::CcGenericServices => { if cc_generic_services__.is_some() { return Err(serde::de::Error::duplicate_field("ccGenericServices")); } - cc_generic_services__ = map_.next_value()?; + cc_generic_services__ = map.next_value()?; } GeneratedField::JavaGenericServices => { if java_generic_services__.is_some() { return Err(serde::de::Error::duplicate_field("javaGenericServices")); } - java_generic_services__ = map_.next_value()?; + java_generic_services__ = map.next_value()?; } GeneratedField::PyGenericServices => { if py_generic_services__.is_some() { return Err(serde::de::Error::duplicate_field("pyGenericServices")); } - py_generic_services__ = map_.next_value()?; + py_generic_services__ = map.next_value()?; } GeneratedField::PhpGenericServices => { if php_generic_services__.is_some() { return Err(serde::de::Error::duplicate_field("phpGenericServices")); } - php_generic_services__ = map_.next_value()?; + php_generic_services__ = map.next_value()?; } GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::CcEnableArenas => { if cc_enable_arenas__.is_some() { return Err(serde::de::Error::duplicate_field("ccEnableArenas")); } - cc_enable_arenas__ = map_.next_value()?; + cc_enable_arenas__ = map.next_value()?; } GeneratedField::ObjcClassPrefix => { if objc_class_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("objcClassPrefix")); } - objc_class_prefix__ = map_.next_value()?; + objc_class_prefix__ = map.next_value()?; } GeneratedField::CsharpNamespace => { if csharp_namespace__.is_some() { return Err(serde::de::Error::duplicate_field("csharpNamespace")); } - csharp_namespace__ = map_.next_value()?; + csharp_namespace__ = map.next_value()?; } GeneratedField::SwiftPrefix => { if swift_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("swiftPrefix")); } - swift_prefix__ = map_.next_value()?; + swift_prefix__ = map.next_value()?; } GeneratedField::PhpClassPrefix => { if php_class_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("phpClassPrefix")); } - php_class_prefix__ = map_.next_value()?; + php_class_prefix__ = map.next_value()?; } GeneratedField::PhpNamespace => { if php_namespace__.is_some() { return Err(serde::de::Error::duplicate_field("phpNamespace")); } - php_namespace__ = map_.next_value()?; + php_namespace__ = map.next_value()?; } GeneratedField::PhpMetadataNamespace => { if php_metadata_namespace__.is_some() { return Err(serde::de::Error::duplicate_field("phpMetadataNamespace")); } - php_metadata_namespace__ = map_.next_value()?; + php_metadata_namespace__ = map.next_value()?; } GeneratedField::RubyPackage => { if ruby_package__.is_some() { return Err(serde::de::Error::duplicate_field("rubyPackage")); } - ruby_package__ = map_.next_value()?; + ruby_package__ = map.next_value()?; } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -3108,7 +3114,7 @@ impl<'de> serde::Deserialize<'de> for FileOptions { } impl serde::Serialize for file_options::OptimizeMode { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3122,7 +3128,7 @@ impl serde::Serialize for file_options::OptimizeMode { } impl<'de> serde::Deserialize<'de> for file_options::OptimizeMode { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3137,35 +3143,37 @@ impl<'de> serde::Deserialize<'de> for file_options::OptimizeMode { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = file_options::OptimizeMode; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(file_options::OptimizeMode::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(file_options::OptimizeMode::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3182,7 +3190,7 @@ impl<'de> serde::Deserialize<'de> for file_options::OptimizeMode { } impl serde::Serialize for GeneratedCodeInfo { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3200,7 +3208,7 @@ impl serde::Serialize for GeneratedCodeInfo { } impl<'de> serde::Deserialize<'de> for GeneratedCodeInfo { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3213,7 +3221,7 @@ impl<'de> serde::Deserialize<'de> for GeneratedCodeInfo { Annotation, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3222,12 +3230,12 @@ impl<'de> serde::Deserialize<'de> for GeneratedCodeInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3244,22 +3252,22 @@ impl<'de> serde::Deserialize<'de> for GeneratedCodeInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedCodeInfo; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.GeneratedCodeInfo") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut annotation__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Annotation => { if annotation__.is_some() { return Err(serde::de::Error::duplicate_field("annotation")); } - annotation__ = Some(map_.next_value()?); + annotation__ = Some(map.next_value()?); } } } @@ -3273,7 +3281,7 @@ impl<'de> serde::Deserialize<'de> for GeneratedCodeInfo { } impl serde::Serialize for generated_code_info::Annotation { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3309,7 +3317,7 @@ impl serde::Serialize for generated_code_info::Annotation { } impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3329,7 +3337,7 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { End, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3338,12 +3346,12 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3363,11 +3371,11 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = generated_code_info::Annotation; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.GeneratedCodeInfo.Annotation") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3375,14 +3383,14 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { let mut source_file__ = None; let mut begin__ = None; let mut end__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -3390,14 +3398,14 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { if source_file__.is_some() { return Err(serde::de::Error::duplicate_field("sourceFile")); } - source_file__ = map_.next_value()?; + source_file__ = map.next_value()?; } GeneratedField::Begin => { if begin__.is_some() { return Err(serde::de::Error::duplicate_field("begin")); } begin__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::End => { @@ -3405,7 +3413,7 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { return Err(serde::de::Error::duplicate_field("end")); } end__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } } @@ -3423,7 +3431,7 @@ impl<'de> serde::Deserialize<'de> for generated_code_info::Annotation { } impl serde::Serialize for MessageOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3465,7 +3473,7 @@ impl serde::Serialize for MessageOptions { } impl<'de> serde::Deserialize<'de> for MessageOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3490,7 +3498,7 @@ impl<'de> serde::Deserialize<'de> for MessageOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3499,12 +3507,12 @@ impl<'de> serde::Deserialize<'de> for MessageOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3525,11 +3533,11 @@ impl<'de> serde::Deserialize<'de> for MessageOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MessageOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.MessageOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3538,37 +3546,37 @@ impl<'de> serde::Deserialize<'de> for MessageOptions { let mut deprecated__ = None; let mut map_entry__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MessageSetWireFormat => { if message_set_wire_format__.is_some() { return Err(serde::de::Error::duplicate_field("messageSetWireFormat")); } - message_set_wire_format__ = map_.next_value()?; + message_set_wire_format__ = map.next_value()?; } GeneratedField::NoStandardDescriptorAccessor => { if no_standard_descriptor_accessor__.is_some() { return Err(serde::de::Error::duplicate_field("noStandardDescriptorAccessor")); } - no_standard_descriptor_accessor__ = map_.next_value()?; + no_standard_descriptor_accessor__ = map.next_value()?; } GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::MapEntry => { if map_entry__.is_some() { return Err(serde::de::Error::duplicate_field("mapEntry")); } - map_entry__ = map_.next_value()?; + map_entry__ = map.next_value()?; } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -3586,7 +3594,7 @@ impl<'de> serde::Deserialize<'de> for MessageOptions { } impl serde::Serialize for MethodDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3634,7 +3642,7 @@ impl serde::Serialize for MethodDescriptorProto { } impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3661,7 +3669,7 @@ impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { ServerStreaming, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3670,12 +3678,12 @@ impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3697,11 +3705,11 @@ impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MethodDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.MethodDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3711,43 +3719,43 @@ impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { let mut options__ = None; let mut client_streaming__ = None; let mut server_streaming__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::InputType => { if input_type__.is_some() { return Err(serde::de::Error::duplicate_field("inputType")); } - input_type__ = map_.next_value()?; + input_type__ = map.next_value()?; } GeneratedField::OutputType => { if output_type__.is_some() { return Err(serde::de::Error::duplicate_field("outputType")); } - output_type__ = map_.next_value()?; + output_type__ = map.next_value()?; } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } GeneratedField::ClientStreaming => { if client_streaming__.is_some() { return Err(serde::de::Error::duplicate_field("clientStreaming")); } - client_streaming__ = map_.next_value()?; + client_streaming__ = map.next_value()?; } GeneratedField::ServerStreaming => { if server_streaming__.is_some() { return Err(serde::de::Error::duplicate_field("serverStreaming")); } - server_streaming__ = map_.next_value()?; + server_streaming__ = map.next_value()?; } } } @@ -3766,7 +3774,7 @@ impl<'de> serde::Deserialize<'de> for MethodDescriptorProto { } impl serde::Serialize for MethodOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3786,8 +3794,8 @@ impl serde::Serialize for MethodOptions { struct_ser.serialize_field("deprecated", v)?; } if let Some(v) = self.idempotency_level.as_ref() { - let v = method_options::IdempotencyLevel::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; + let v = method_options::IdempotencyLevel::from_i32(*v) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("idempotencyLevel", &v)?; } if !self.uninterpreted_option.is_empty() { @@ -3798,7 +3806,7 @@ impl serde::Serialize for MethodOptions { } impl<'de> serde::Deserialize<'de> for MethodOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3817,7 +3825,7 @@ impl<'de> serde::Deserialize<'de> for MethodOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3826,12 +3834,12 @@ impl<'de> serde::Deserialize<'de> for MethodOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3850,36 +3858,36 @@ impl<'de> serde::Deserialize<'de> for MethodOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MethodOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.MethodOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deprecated__ = None; let mut idempotency_level__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::IdempotencyLevel => { if idempotency_level__.is_some() { return Err(serde::de::Error::duplicate_field("idempotencyLevel")); } - idempotency_level__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); + idempotency_level__ = map.next_value::<::core::option::Option>()?.map(|x| x as i32); } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -3895,7 +3903,7 @@ impl<'de> serde::Deserialize<'de> for MethodOptions { } impl serde::Serialize for method_options::IdempotencyLevel { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3909,7 +3917,7 @@ impl serde::Serialize for method_options::IdempotencyLevel { } impl<'de> serde::Deserialize<'de> for method_options::IdempotencyLevel { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3924,35 +3932,37 @@ impl<'de> serde::Deserialize<'de> for method_options::IdempotencyLevel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = method_options::IdempotencyLevel; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(method_options::IdempotencyLevel::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(method_options::IdempotencyLevel::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3969,7 +3979,7 @@ impl<'de> serde::Deserialize<'de> for method_options::IdempotencyLevel { } impl serde::Serialize for OneofDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3993,7 +4003,7 @@ impl serde::Serialize for OneofDescriptorProto { } impl<'de> serde::Deserialize<'de> for OneofDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4008,7 +4018,7 @@ impl<'de> serde::Deserialize<'de> for OneofDescriptorProto { Options, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4017,12 +4027,12 @@ impl<'de> serde::Deserialize<'de> for OneofDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4040,29 +4050,29 @@ impl<'de> serde::Deserialize<'de> for OneofDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = OneofDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.OneofDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut options__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } } } @@ -4077,7 +4087,7 @@ impl<'de> serde::Deserialize<'de> for OneofDescriptorProto { } impl serde::Serialize for OneofOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4095,7 +4105,7 @@ impl serde::Serialize for OneofOptions { } impl<'de> serde::Deserialize<'de> for OneofOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4109,7 +4119,7 @@ impl<'de> serde::Deserialize<'de> for OneofOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4118,12 +4128,12 @@ impl<'de> serde::Deserialize<'de> for OneofOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4140,22 +4150,22 @@ impl<'de> serde::Deserialize<'de> for OneofOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = OneofOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.OneofOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -4169,7 +4179,7 @@ impl<'de> serde::Deserialize<'de> for OneofOptions { } impl serde::Serialize for ServiceDescriptorProto { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4199,7 +4209,7 @@ impl serde::Serialize for ServiceDescriptorProto { } impl<'de> serde::Deserialize<'de> for ServiceDescriptorProto { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4216,7 +4226,7 @@ impl<'de> serde::Deserialize<'de> for ServiceDescriptorProto { Options, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4225,12 +4235,12 @@ impl<'de> serde::Deserialize<'de> for ServiceDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4249,36 +4259,36 @@ impl<'de> serde::Deserialize<'de> for ServiceDescriptorProto { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ServiceDescriptorProto; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.ServiceDescriptorProto") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name__ = None; let mut method__ = None; let mut options__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = map_.next_value()?; + name__ = map.next_value()?; } GeneratedField::Method => { if method__.is_some() { return Err(serde::de::Error::duplicate_field("method")); } - method__ = Some(map_.next_value()?); + method__ = Some(map.next_value()?); } GeneratedField::Options => { if options__.is_some() { return Err(serde::de::Error::duplicate_field("options")); } - options__ = map_.next_value()?; + options__ = map.next_value()?; } } } @@ -4294,7 +4304,7 @@ impl<'de> serde::Deserialize<'de> for ServiceDescriptorProto { } impl serde::Serialize for ServiceOptions { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4318,7 +4328,7 @@ impl serde::Serialize for ServiceOptions { } impl<'de> serde::Deserialize<'de> for ServiceOptions { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4334,7 +4344,7 @@ impl<'de> serde::Deserialize<'de> for ServiceOptions { UninterpretedOption, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4343,12 +4353,12 @@ impl<'de> serde::Deserialize<'de> for ServiceOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4366,29 +4376,29 @@ impl<'de> serde::Deserialize<'de> for ServiceOptions { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ServiceOptions; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.ServiceOptions") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut deprecated__ = None; let mut uninterpreted_option__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Deprecated => { if deprecated__.is_some() { return Err(serde::de::Error::duplicate_field("deprecated")); } - deprecated__ = map_.next_value()?; + deprecated__ = map.next_value()?; } GeneratedField::UninterpretedOption => { if uninterpreted_option__.is_some() { return Err(serde::de::Error::duplicate_field("uninterpretedOption")); } - uninterpreted_option__ = Some(map_.next_value()?); + uninterpreted_option__ = Some(map.next_value()?); } } } @@ -4403,7 +4413,7 @@ impl<'de> serde::Deserialize<'de> for ServiceOptions { } impl serde::Serialize for SourceCodeInfo { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4421,7 +4431,7 @@ impl serde::Serialize for SourceCodeInfo { } impl<'de> serde::Deserialize<'de> for SourceCodeInfo { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4434,7 +4444,7 @@ impl<'de> serde::Deserialize<'de> for SourceCodeInfo { Location, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4443,12 +4453,12 @@ impl<'de> serde::Deserialize<'de> for SourceCodeInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4465,22 +4475,22 @@ impl<'de> serde::Deserialize<'de> for SourceCodeInfo { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SourceCodeInfo; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.SourceCodeInfo") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut location__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Location => { if location__.is_some() { return Err(serde::de::Error::duplicate_field("location")); } - location__ = Some(map_.next_value()?); + location__ = Some(map.next_value()?); } } } @@ -4494,7 +4504,7 @@ impl<'de> serde::Deserialize<'de> for SourceCodeInfo { } impl serde::Serialize for source_code_info::Location { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4536,7 +4546,7 @@ impl serde::Serialize for source_code_info::Location { } impl<'de> serde::Deserialize<'de> for source_code_info::Location { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4560,7 +4570,7 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { LeadingDetachedComments, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4569,12 +4579,12 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4595,11 +4605,11 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = source_code_info::Location; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.SourceCodeInfo.Location") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4608,14 +4618,14 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { let mut leading_comments__ = None; let mut trailing_comments__ = None; let mut leading_detached_comments__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -4624,7 +4634,7 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { return Err(serde::de::Error::duplicate_field("span")); } span__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -4632,19 +4642,19 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { if leading_comments__.is_some() { return Err(serde::de::Error::duplicate_field("leadingComments")); } - leading_comments__ = map_.next_value()?; + leading_comments__ = map.next_value()?; } GeneratedField::TrailingComments => { if trailing_comments__.is_some() { return Err(serde::de::Error::duplicate_field("trailingComments")); } - trailing_comments__ = map_.next_value()?; + trailing_comments__ = map.next_value()?; } GeneratedField::LeadingDetachedComments => { if leading_detached_comments__.is_some() { return Err(serde::de::Error::duplicate_field("leadingDetachedComments")); } - leading_detached_comments__ = Some(map_.next_value()?); + leading_detached_comments__ = Some(map.next_value()?); } } } @@ -4662,7 +4672,7 @@ impl<'de> serde::Deserialize<'de> for source_code_info::Location { } impl serde::Serialize for Timestamp { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4676,8 +4686,7 @@ impl serde::Serialize for Timestamp { } let mut struct_ser = serializer.serialize_struct("google.protobuf.Timestamp", len)?; if self.seconds != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("seconds", ToString::to_string(&self.seconds).as_str())?; + struct_ser.serialize_field("seconds", ::alloc::string::ToString::to_string(&self.seconds).as_str())?; } if self.nanos != 0 { struct_ser.serialize_field("nanos", &self.nanos)?; @@ -4687,7 +4696,7 @@ impl serde::Serialize for Timestamp { } impl<'de> serde::Deserialize<'de> for Timestamp { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4702,7 +4711,7 @@ impl<'de> serde::Deserialize<'de> for Timestamp { Nanos, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4711,12 +4720,12 @@ impl<'de> serde::Deserialize<'de> for Timestamp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4734,24 +4743,24 @@ impl<'de> serde::Deserialize<'de> for Timestamp { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Timestamp; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.Timestamp") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut seconds__ = None; let mut nanos__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Seconds => { if seconds__.is_some() { return Err(serde::de::Error::duplicate_field("seconds")); } seconds__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Nanos => { @@ -4759,7 +4768,7 @@ impl<'de> serde::Deserialize<'de> for Timestamp { return Err(serde::de::Error::duplicate_field("nanos")); } nanos__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -4775,7 +4784,7 @@ impl<'de> serde::Deserialize<'de> for Timestamp { } impl serde::Serialize for UninterpretedOption { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4810,18 +4819,15 @@ impl serde::Serialize for UninterpretedOption { struct_ser.serialize_field("identifierValue", v)?; } if let Some(v) = self.positive_int_value.as_ref() { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("positiveIntValue", ToString::to_string(&v).as_str())?; + struct_ser.serialize_field("positiveIntValue", ::alloc::string::ToString::to_string(&v).as_str())?; } if let Some(v) = self.negative_int_value.as_ref() { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("negativeIntValue", ToString::to_string(&v).as_str())?; + struct_ser.serialize_field("negativeIntValue", ::alloc::string::ToString::to_string(&v).as_str())?; } if let Some(v) = self.double_value.as_ref() { struct_ser.serialize_field("doubleValue", v)?; } if let Some(v) = self.string_value.as_ref() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("stringValue", pbjson::private::base64::encode(&v).as_str())?; } if let Some(v) = self.aggregate_value.as_ref() { @@ -4832,7 +4838,7 @@ impl serde::Serialize for UninterpretedOption { } impl<'de> serde::Deserialize<'de> for UninterpretedOption { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4863,7 +4869,7 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { AggregateValue, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4872,12 +4878,12 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4900,11 +4906,11 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = UninterpretedOption; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.UninterpretedOption") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4915,26 +4921,26 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { let mut double_value__ = None; let mut string_value__ = None; let mut aggregate_value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Name => { if name__.is_some() { return Err(serde::de::Error::duplicate_field("name")); } - name__ = Some(map_.next_value()?); + name__ = Some(map.next_value()?); } GeneratedField::IdentifierValue => { if identifier_value__.is_some() { return Err(serde::de::Error::duplicate_field("identifierValue")); } - identifier_value__ = map_.next_value()?; + identifier_value__ = map.next_value()?; } GeneratedField::PositiveIntValue => { if positive_int_value__.is_some() { return Err(serde::de::Error::duplicate_field("positiveIntValue")); } positive_int_value__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::NegativeIntValue => { @@ -4942,7 +4948,7 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { return Err(serde::de::Error::duplicate_field("negativeIntValue")); } negative_int_value__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::DoubleValue => { @@ -4950,7 +4956,7 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { return Err(serde::de::Error::duplicate_field("doubleValue")); } double_value__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::StringValue => { @@ -4958,14 +4964,14 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { return Err(serde::de::Error::duplicate_field("stringValue")); } string_value__ = - map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) + map.next_value::<::core::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) ; } GeneratedField::AggregateValue => { if aggregate_value__.is_some() { return Err(serde::de::Error::duplicate_field("aggregateValue")); } - aggregate_value__ = map_.next_value()?; + aggregate_value__ = map.next_value()?; } } } @@ -4985,7 +4991,7 @@ impl<'de> serde::Deserialize<'de> for UninterpretedOption { } impl serde::Serialize for uninterpreted_option::NamePart { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4999,7 +5005,7 @@ impl serde::Serialize for uninterpreted_option::NamePart { } impl<'de> serde::Deserialize<'de> for uninterpreted_option::NamePart { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5016,7 +5022,7 @@ impl<'de> serde::Deserialize<'de> for uninterpreted_option::NamePart { IsExtension, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5025,12 +5031,12 @@ impl<'de> serde::Deserialize<'de> for uninterpreted_option::NamePart { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5048,29 +5054,29 @@ impl<'de> serde::Deserialize<'de> for uninterpreted_option::NamePart { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = uninterpreted_option::NamePart; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct google.protobuf.UninterpretedOption.NamePart") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut name_part__ = None; let mut is_extension__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NamePart => { if name_part__.is_some() { return Err(serde::de::Error::duplicate_field("namePart")); } - name_part__ = Some(map_.next_value()?); + name_part__ = Some(map.next_value()?); } GeneratedField::IsExtension => { if is_extension__.is_some() { return Err(serde::de::Error::duplicate_field("isExtension")); } - is_extension__ = Some(map_.next_value()?); + is_extension__ = Some(map.next_value()?); } } } diff --git a/src/prost/ibc.applications.fee.v1.serde.rs b/src/prost/ibc.applications.fee.v1.serde.rs index 9fdd5b96..562170bc 100644 --- a/src/prost/ibc.applications.fee.v1.serde.rs +++ b/src/prost/ibc.applications.fee.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Fee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -30,7 +30,7 @@ impl serde::Serialize for Fee { } impl<'de> serde::Deserialize<'de> for Fee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,7 +50,7 @@ impl<'de> serde::Deserialize<'de> for Fee { TimeoutFee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -59,12 +59,12 @@ impl<'de> serde::Deserialize<'de> for Fee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -83,36 +83,36 @@ impl<'de> serde::Deserialize<'de> for Fee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Fee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.Fee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut recv_fee__ = None; let mut ack_fee__ = None; let mut timeout_fee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::RecvFee => { if recv_fee__.is_some() { return Err(serde::de::Error::duplicate_field("recvFee")); } - recv_fee__ = Some(map_.next_value()?); + recv_fee__ = Some(map.next_value()?); } GeneratedField::AckFee => { if ack_fee__.is_some() { return Err(serde::de::Error::duplicate_field("ackFee")); } - ack_fee__ = Some(map_.next_value()?); + ack_fee__ = Some(map.next_value()?); } GeneratedField::TimeoutFee => { if timeout_fee__.is_some() { return Err(serde::de::Error::duplicate_field("timeoutFee")); } - timeout_fee__ = Some(map_.next_value()?); + timeout_fee__ = Some(map.next_value()?); } } } @@ -128,7 +128,7 @@ impl<'de> serde::Deserialize<'de> for Fee { } impl serde::Serialize for FeeEnabledChannel { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -152,7 +152,7 @@ impl serde::Serialize for FeeEnabledChannel { } impl<'de> serde::Deserialize<'de> for FeeEnabledChannel { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -169,7 +169,7 @@ impl<'de> serde::Deserialize<'de> for FeeEnabledChannel { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -178,12 +178,12 @@ impl<'de> serde::Deserialize<'de> for FeeEnabledChannel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -201,29 +201,29 @@ impl<'de> serde::Deserialize<'de> for FeeEnabledChannel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FeeEnabledChannel; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.FeeEnabledChannel") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -238,7 +238,7 @@ impl<'de> serde::Deserialize<'de> for FeeEnabledChannel { } impl serde::Serialize for ForwardRelayerAddress { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -262,7 +262,7 @@ impl serde::Serialize for ForwardRelayerAddress { } impl<'de> serde::Deserialize<'de> for ForwardRelayerAddress { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -278,7 +278,7 @@ impl<'de> serde::Deserialize<'de> for ForwardRelayerAddress { PacketId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -287,12 +287,12 @@ impl<'de> serde::Deserialize<'de> for ForwardRelayerAddress { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -310,29 +310,29 @@ impl<'de> serde::Deserialize<'de> for ForwardRelayerAddress { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ForwardRelayerAddress; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.ForwardRelayerAddress") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; let mut packet_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } } } @@ -347,7 +347,7 @@ impl<'de> serde::Deserialize<'de> for ForwardRelayerAddress { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -389,7 +389,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -415,7 +415,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { ForwardRelayers, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -424,12 +424,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -450,11 +450,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -463,37 +463,37 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut registered_payees__ = None; let mut registered_counterparty_payees__ = None; let mut forward_relayers__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::IdentifiedFees => { if identified_fees__.is_some() { return Err(serde::de::Error::duplicate_field("identifiedFees")); } - identified_fees__ = Some(map_.next_value()?); + identified_fees__ = Some(map.next_value()?); } GeneratedField::FeeEnabledChannels => { if fee_enabled_channels__.is_some() { return Err(serde::de::Error::duplicate_field("feeEnabledChannels")); } - fee_enabled_channels__ = Some(map_.next_value()?); + fee_enabled_channels__ = Some(map.next_value()?); } GeneratedField::RegisteredPayees => { if registered_payees__.is_some() { return Err(serde::de::Error::duplicate_field("registeredPayees")); } - registered_payees__ = Some(map_.next_value()?); + registered_payees__ = Some(map.next_value()?); } GeneratedField::RegisteredCounterpartyPayees => { if registered_counterparty_payees__.is_some() { return Err(serde::de::Error::duplicate_field("registeredCounterpartyPayees")); } - registered_counterparty_payees__ = Some(map_.next_value()?); + registered_counterparty_payees__ = Some(map.next_value()?); } GeneratedField::ForwardRelayers => { if forward_relayers__.is_some() { return Err(serde::de::Error::duplicate_field("forwardRelayers")); } - forward_relayers__ = Some(map_.next_value()?); + forward_relayers__ = Some(map.next_value()?); } } } @@ -511,7 +511,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for IdentifiedPacketFees { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -535,7 +535,7 @@ impl serde::Serialize for IdentifiedPacketFees { } impl<'de> serde::Deserialize<'de> for IdentifiedPacketFees { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -552,7 +552,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedPacketFees { PacketFees, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -561,12 +561,12 @@ impl<'de> serde::Deserialize<'de> for IdentifiedPacketFees { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -584,29 +584,29 @@ impl<'de> serde::Deserialize<'de> for IdentifiedPacketFees { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IdentifiedPacketFees; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.IdentifiedPacketFees") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_id__ = None; let mut packet_fees__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } GeneratedField::PacketFees => { if packet_fees__.is_some() { return Err(serde::de::Error::duplicate_field("packetFees")); } - packet_fees__ = Some(map_.next_value()?); + packet_fees__ = Some(map.next_value()?); } } } @@ -621,7 +621,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedPacketFees { } impl serde::Serialize for IncentivizedAcknowledgement { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -638,7 +638,6 @@ impl serde::Serialize for IncentivizedAcknowledgement { } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.IncentivizedAcknowledgement", len)?; if !self.app_acknowledgement.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("appAcknowledgement", pbjson::private::base64::encode(&self.app_acknowledgement).as_str())?; } if !self.forward_relayer_address.is_empty() { @@ -652,7 +651,7 @@ impl serde::Serialize for IncentivizedAcknowledgement { } impl<'de> serde::Deserialize<'de> for IncentivizedAcknowledgement { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -672,7 +671,7 @@ impl<'de> serde::Deserialize<'de> for IncentivizedAcknowledgement { UnderlyingAppSuccess, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -681,12 +680,12 @@ impl<'de> serde::Deserialize<'de> for IncentivizedAcknowledgement { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -705,38 +704,38 @@ impl<'de> serde::Deserialize<'de> for IncentivizedAcknowledgement { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IncentivizedAcknowledgement; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.IncentivizedAcknowledgement") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut app_acknowledgement__ = None; let mut forward_relayer_address__ = None; let mut underlying_app_success__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AppAcknowledgement => { if app_acknowledgement__.is_some() { return Err(serde::de::Error::duplicate_field("appAcknowledgement")); } app_acknowledgement__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ForwardRelayerAddress => { if forward_relayer_address__.is_some() { return Err(serde::de::Error::duplicate_field("forwardRelayerAddress")); } - forward_relayer_address__ = Some(map_.next_value()?); + forward_relayer_address__ = Some(map.next_value()?); } GeneratedField::UnderlyingAppSuccess => { if underlying_app_success__.is_some() { return Err(serde::de::Error::duplicate_field("underlyingAppSuccess")); } - underlying_app_success__ = Some(map_.next_value()?); + underlying_app_success__ = Some(map.next_value()?); } } } @@ -752,7 +751,7 @@ impl<'de> serde::Deserialize<'de> for IncentivizedAcknowledgement { } impl serde::Serialize for Metadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -776,7 +775,7 @@ impl serde::Serialize for Metadata { } impl<'de> serde::Deserialize<'de> for Metadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -793,7 +792,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { AppVersion, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -802,12 +801,12 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -825,29 +824,29 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Metadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.Metadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fee_version__ = None; let mut app_version__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::FeeVersion => { if fee_version__.is_some() { return Err(serde::de::Error::duplicate_field("feeVersion")); } - fee_version__ = Some(map_.next_value()?); + fee_version__ = Some(map.next_value()?); } GeneratedField::AppVersion => { if app_version__.is_some() { return Err(serde::de::Error::duplicate_field("appVersion")); } - app_version__ = Some(map_.next_value()?); + app_version__ = Some(map.next_value()?); } } } @@ -862,7 +861,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { } impl serde::Serialize for MsgPayPacketFee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -904,7 +903,7 @@ impl serde::Serialize for MsgPayPacketFee { } impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -927,7 +926,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { Relayers, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -936,12 +935,12 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -962,11 +961,11 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgPayPacketFee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -975,37 +974,37 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { let mut source_channel_id__ = None; let mut signer__ = None; let mut relayers__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fee => { if fee__.is_some() { return Err(serde::de::Error::duplicate_field("fee")); } - fee__ = map_.next_value()?; + fee__ = map.next_value()?; } GeneratedField::SourcePortId => { if source_port_id__.is_some() { return Err(serde::de::Error::duplicate_field("sourcePortId")); } - source_port_id__ = Some(map_.next_value()?); + source_port_id__ = Some(map.next_value()?); } GeneratedField::SourceChannelId => { if source_channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("sourceChannelId")); } - source_channel_id__ = Some(map_.next_value()?); + source_channel_id__ = Some(map.next_value()?); } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::Relayers => { if relayers__.is_some() { return Err(serde::de::Error::duplicate_field("relayers")); } - relayers__ = Some(map_.next_value()?); + relayers__ = Some(map.next_value()?); } } } @@ -1023,7 +1022,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFee { } impl serde::Serialize for MsgPayPacketFeeAsync { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1047,7 +1046,7 @@ impl serde::Serialize for MsgPayPacketFeeAsync { } impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsync { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1064,7 +1063,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsync { PacketFee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1073,12 +1072,12 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsync { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1096,29 +1095,29 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsync { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgPayPacketFeeAsync; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFeeAsync") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_id__ = None; let mut packet_fee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } GeneratedField::PacketFee => { if packet_fee__.is_some() { return Err(serde::de::Error::duplicate_field("packetFee")); } - packet_fee__ = map_.next_value()?; + packet_fee__ = map.next_value()?; } } } @@ -1133,7 +1132,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsync { } impl serde::Serialize for MsgPayPacketFeeAsyncResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1145,7 +1144,7 @@ impl serde::Serialize for MsgPayPacketFeeAsyncResponse { } impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsyncResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1156,7 +1155,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsyncResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1165,12 +1164,12 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsyncResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1184,16 +1183,16 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsyncResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgPayPacketFeeAsyncResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFeeAsyncResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgPayPacketFeeAsyncResponse { }) @@ -1204,7 +1203,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeAsyncResponse { } impl serde::Serialize for MsgPayPacketFeeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1216,7 +1215,7 @@ impl serde::Serialize for MsgPayPacketFeeResponse { } impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1227,7 +1226,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1236,12 +1235,12 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1255,16 +1254,16 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgPayPacketFeeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgPayPacketFeeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgPayPacketFeeResponse { }) @@ -1275,7 +1274,7 @@ impl<'de> serde::Deserialize<'de> for MsgPayPacketFeeResponse { } impl serde::Serialize for MsgRegisterCounterpartyPayee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1311,7 +1310,7 @@ impl serde::Serialize for MsgRegisterCounterpartyPayee { } impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1333,7 +1332,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { CounterpartyPayee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1342,12 +1341,12 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1367,11 +1366,11 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRegisterCounterpartyPayee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterCounterpartyPayee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1379,31 +1378,31 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { let mut channel_id__ = None; let mut relayer__ = None; let mut counterparty_payee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Relayer => { if relayer__.is_some() { return Err(serde::de::Error::duplicate_field("relayer")); } - relayer__ = Some(map_.next_value()?); + relayer__ = Some(map.next_value()?); } GeneratedField::CounterpartyPayee => { if counterparty_payee__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyPayee")); } - counterparty_payee__ = Some(map_.next_value()?); + counterparty_payee__ = Some(map.next_value()?); } } } @@ -1420,7 +1419,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayee { } impl serde::Serialize for MsgRegisterCounterpartyPayeeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1432,7 +1431,7 @@ impl serde::Serialize for MsgRegisterCounterpartyPayeeResponse { } impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayeeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1443,7 +1442,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayeeResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1452,12 +1451,12 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1471,16 +1470,16 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRegisterCounterpartyPayeeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterCounterpartyPayeeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgRegisterCounterpartyPayeeResponse { }) @@ -1491,7 +1490,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterCounterpartyPayeeResponse { } impl serde::Serialize for MsgRegisterPayee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1527,7 +1526,7 @@ impl serde::Serialize for MsgRegisterPayee { } impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1548,7 +1547,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { Payee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1557,12 +1556,12 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1582,11 +1581,11 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRegisterPayee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterPayee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1594,31 +1593,31 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { let mut channel_id__ = None; let mut relayer__ = None; let mut payee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Relayer => { if relayer__.is_some() { return Err(serde::de::Error::duplicate_field("relayer")); } - relayer__ = Some(map_.next_value()?); + relayer__ = Some(map.next_value()?); } GeneratedField::Payee => { if payee__.is_some() { return Err(serde::de::Error::duplicate_field("payee")); } - payee__ = Some(map_.next_value()?); + payee__ = Some(map.next_value()?); } } } @@ -1635,7 +1634,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayee { } impl serde::Serialize for MsgRegisterPayeeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1647,7 +1646,7 @@ impl serde::Serialize for MsgRegisterPayeeResponse { } impl<'de> serde::Deserialize<'de> for MsgRegisterPayeeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1658,7 +1657,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayeeResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1667,12 +1666,12 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1686,16 +1685,16 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRegisterPayeeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.MsgRegisterPayeeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgRegisterPayeeResponse { }) @@ -1706,7 +1705,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterPayeeResponse { } impl serde::Serialize for PacketFee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1736,7 +1735,7 @@ impl serde::Serialize for PacketFee { } impl<'de> serde::Deserialize<'de> for PacketFee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1754,7 +1753,7 @@ impl<'de> serde::Deserialize<'de> for PacketFee { Relayers, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1763,12 +1762,12 @@ impl<'de> serde::Deserialize<'de> for PacketFee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1787,36 +1786,36 @@ impl<'de> serde::Deserialize<'de> for PacketFee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketFee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.PacketFee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fee__ = None; let mut refund_address__ = None; let mut relayers__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Fee => { if fee__.is_some() { return Err(serde::de::Error::duplicate_field("fee")); } - fee__ = map_.next_value()?; + fee__ = map.next_value()?; } GeneratedField::RefundAddress => { if refund_address__.is_some() { return Err(serde::de::Error::duplicate_field("refundAddress")); } - refund_address__ = Some(map_.next_value()?); + refund_address__ = Some(map.next_value()?); } GeneratedField::Relayers => { if relayers__.is_some() { return Err(serde::de::Error::duplicate_field("relayers")); } - relayers__ = Some(map_.next_value()?); + relayers__ = Some(map.next_value()?); } } } @@ -1832,7 +1831,7 @@ impl<'de> serde::Deserialize<'de> for PacketFee { } impl serde::Serialize for PacketFees { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1850,7 +1849,7 @@ impl serde::Serialize for PacketFees { } impl<'de> serde::Deserialize<'de> for PacketFees { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1864,7 +1863,7 @@ impl<'de> serde::Deserialize<'de> for PacketFees { PacketFees, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1873,12 +1872,12 @@ impl<'de> serde::Deserialize<'de> for PacketFees { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1895,22 +1894,22 @@ impl<'de> serde::Deserialize<'de> for PacketFees { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketFees; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.PacketFees") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_fees__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketFees => { if packet_fees__.is_some() { return Err(serde::de::Error::duplicate_field("packetFees")); } - packet_fees__ = Some(map_.next_value()?); + packet_fees__ = Some(map.next_value()?); } } } @@ -1924,7 +1923,7 @@ impl<'de> serde::Deserialize<'de> for PacketFees { } impl serde::Serialize for QueryCounterpartyPayeeRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1948,7 +1947,7 @@ impl serde::Serialize for QueryCounterpartyPayeeRequest { } impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1964,7 +1963,7 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeRequest { Relayer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1973,12 +1972,12 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1996,29 +1995,29 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryCounterpartyPayeeRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryCounterpartyPayeeRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel_id__ = None; let mut relayer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Relayer => { if relayer__.is_some() { return Err(serde::de::Error::duplicate_field("relayer")); } - relayer__ = Some(map_.next_value()?); + relayer__ = Some(map.next_value()?); } } } @@ -2033,7 +2032,7 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeRequest { } impl serde::Serialize for QueryCounterpartyPayeeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2051,7 +2050,7 @@ impl serde::Serialize for QueryCounterpartyPayeeResponse { } impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2065,7 +2064,7 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeResponse { CounterpartyPayee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2074,12 +2073,12 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2096,22 +2095,22 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryCounterpartyPayeeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryCounterpartyPayeeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut counterparty_payee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::CounterpartyPayee => { if counterparty_payee__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyPayee")); } - counterparty_payee__ = Some(map_.next_value()?); + counterparty_payee__ = Some(map.next_value()?); } } } @@ -2125,7 +2124,7 @@ impl<'de> serde::Deserialize<'de> for QueryCounterpartyPayeeResponse { } impl serde::Serialize for QueryFeeEnabledChannelRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2149,7 +2148,7 @@ impl serde::Serialize for QueryFeeEnabledChannelRequest { } impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2166,7 +2165,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelRequest { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2175,12 +2174,12 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2198,29 +2197,29 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryFeeEnabledChannelRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -2235,7 +2234,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelRequest { } impl serde::Serialize for QueryFeeEnabledChannelResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2253,7 +2252,7 @@ impl serde::Serialize for QueryFeeEnabledChannelResponse { } impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2267,7 +2266,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelResponse { FeeEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2276,12 +2275,12 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2298,22 +2297,22 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryFeeEnabledChannelResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fee_enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::FeeEnabled => { if fee_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("feeEnabled")); } - fee_enabled__ = Some(map_.next_value()?); + fee_enabled__ = Some(map.next_value()?); } } } @@ -2327,7 +2326,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelResponse { } impl serde::Serialize for QueryFeeEnabledChannelsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2344,15 +2343,14 @@ impl serde::Serialize for QueryFeeEnabledChannelsRequest { struct_ser.serialize_field("pagination", v)?; } if self.query_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2368,7 +2366,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsRequest { QueryHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2377,12 +2375,12 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2400,30 +2398,30 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryFeeEnabledChannelsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; let mut query_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::QueryHeight => { if query_height__.is_some() { return Err(serde::de::Error::duplicate_field("queryHeight")); } query_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2439,7 +2437,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsRequest { } impl serde::Serialize for QueryFeeEnabledChannelsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2463,7 +2461,7 @@ impl serde::Serialize for QueryFeeEnabledChannelsResponse { } impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2479,7 +2477,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2488,12 +2486,12 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2511,29 +2509,29 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryFeeEnabledChannelsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut fee_enabled_channels__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::FeeEnabledChannels => { if fee_enabled_channels__.is_some() { return Err(serde::de::Error::duplicate_field("feeEnabledChannels")); } - fee_enabled_channels__ = Some(map_.next_value()?); + fee_enabled_channels__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2548,7 +2546,7 @@ impl<'de> serde::Deserialize<'de> for QueryFeeEnabledChannelsResponse { } impl serde::Serialize for QueryIncentivizedPacketRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2565,15 +2563,14 @@ impl serde::Serialize for QueryIncentivizedPacketRequest { struct_ser.serialize_field("packetId", v)?; } if self.query_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2590,7 +2587,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketRequest { QueryHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2599,12 +2596,12 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2622,30 +2619,30 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryIncentivizedPacketRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_id__ = None; let mut query_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } GeneratedField::QueryHeight => { if query_height__.is_some() { return Err(serde::de::Error::duplicate_field("queryHeight")); } query_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2661,7 +2658,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketRequest { } impl serde::Serialize for QueryIncentivizedPacketResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2679,7 +2676,7 @@ impl serde::Serialize for QueryIncentivizedPacketResponse { } impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2693,7 +2690,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketResponse { IncentivizedPacket, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2702,12 +2699,12 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2724,22 +2721,22 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryIncentivizedPacketResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut incentivized_packet__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::IncentivizedPacket => { if incentivized_packet__.is_some() { return Err(serde::de::Error::duplicate_field("incentivizedPacket")); } - incentivized_packet__ = map_.next_value()?; + incentivized_packet__ = map.next_value()?; } } } @@ -2753,7 +2750,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketResponse { } impl serde::Serialize for QueryIncentivizedPacketsForChannelRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2782,15 +2779,14 @@ impl serde::Serialize for QueryIncentivizedPacketsForChannelRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.query_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2812,7 +2808,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest QueryHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2821,12 +2817,12 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2846,11 +2842,11 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryIncentivizedPacketsForChannelRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2858,32 +2854,32 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest let mut port_id__ = None; let mut channel_id__ = None; let mut query_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::QueryHeight => { if query_height__.is_some() { return Err(serde::de::Error::duplicate_field("queryHeight")); } query_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2901,7 +2897,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelRequest } impl serde::Serialize for QueryIncentivizedPacketsForChannelResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2925,7 +2921,7 @@ impl serde::Serialize for QueryIncentivizedPacketsForChannelResponse { } impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2941,7 +2937,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelResponse Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2950,12 +2946,12 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelResponse impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2973,29 +2969,29 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelResponse impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryIncentivizedPacketsForChannelResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut incentivized_packets__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::IncentivizedPackets => { if incentivized_packets__.is_some() { return Err(serde::de::Error::duplicate_field("incentivizedPackets")); } - incentivized_packets__ = Some(map_.next_value()?); + incentivized_packets__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3010,7 +3006,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsForChannelResponse } impl serde::Serialize for QueryIncentivizedPacketsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3027,15 +3023,14 @@ impl serde::Serialize for QueryIncentivizedPacketsRequest { struct_ser.serialize_field("pagination", v)?; } if self.query_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("queryHeight", ToString::to_string(&self.query_height).as_str())?; + struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3051,7 +3046,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsRequest { QueryHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3060,12 +3055,12 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3083,30 +3078,30 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryIncentivizedPacketsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; let mut query_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::QueryHeight => { if query_height__.is_some() { return Err(serde::de::Error::duplicate_field("queryHeight")); } query_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -3122,7 +3117,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsRequest { } impl serde::Serialize for QueryIncentivizedPacketsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3146,7 +3141,7 @@ impl serde::Serialize for QueryIncentivizedPacketsResponse { } impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3162,7 +3157,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3171,12 +3166,12 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3194,29 +3189,29 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryIncentivizedPacketsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryIncentivizedPacketsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut incentivized_packets__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::IncentivizedPackets => { if incentivized_packets__.is_some() { return Err(serde::de::Error::duplicate_field("incentivizedPackets")); } - incentivized_packets__ = Some(map_.next_value()?); + incentivized_packets__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3231,7 +3226,7 @@ impl<'de> serde::Deserialize<'de> for QueryIncentivizedPacketsResponse { } impl serde::Serialize for QueryPayeeRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3255,7 +3250,7 @@ impl serde::Serialize for QueryPayeeRequest { } impl<'de> serde::Deserialize<'de> for QueryPayeeRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3271,7 +3266,7 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeRequest { Relayer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3280,12 +3275,12 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3303,29 +3298,29 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPayeeRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryPayeeRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel_id__ = None; let mut relayer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Relayer => { if relayer__.is_some() { return Err(serde::de::Error::duplicate_field("relayer")); } - relayer__ = Some(map_.next_value()?); + relayer__ = Some(map.next_value()?); } } } @@ -3340,7 +3335,7 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeRequest { } impl serde::Serialize for QueryPayeeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3358,7 +3353,7 @@ impl serde::Serialize for QueryPayeeResponse { } impl<'de> serde::Deserialize<'de> for QueryPayeeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3372,7 +3367,7 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeResponse { PayeeAddress, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3381,12 +3376,12 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3403,22 +3398,22 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPayeeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryPayeeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut payee_address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PayeeAddress => { if payee_address__.is_some() { return Err(serde::de::Error::duplicate_field("payeeAddress")); } - payee_address__ = Some(map_.next_value()?); + payee_address__ = Some(map.next_value()?); } } } @@ -3432,7 +3427,7 @@ impl<'de> serde::Deserialize<'de> for QueryPayeeResponse { } impl serde::Serialize for QueryTotalAckFeesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3450,7 +3445,7 @@ impl serde::Serialize for QueryTotalAckFeesRequest { } impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3464,7 +3459,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesRequest { PacketId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3473,12 +3468,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3495,22 +3490,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalAckFeesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryTotalAckFeesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } } } @@ -3524,7 +3519,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesRequest { } impl serde::Serialize for QueryTotalAckFeesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3542,7 +3537,7 @@ impl serde::Serialize for QueryTotalAckFeesResponse { } impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3556,7 +3551,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesResponse { AckFees, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3565,12 +3560,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3587,22 +3582,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalAckFeesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryTotalAckFeesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut ack_fees__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AckFees => { if ack_fees__.is_some() { return Err(serde::de::Error::duplicate_field("ackFees")); } - ack_fees__ = Some(map_.next_value()?); + ack_fees__ = Some(map.next_value()?); } } } @@ -3616,7 +3611,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalAckFeesResponse { } impl serde::Serialize for QueryTotalRecvFeesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3634,7 +3629,7 @@ impl serde::Serialize for QueryTotalRecvFeesRequest { } impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3648,7 +3643,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesRequest { PacketId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3657,12 +3652,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3679,22 +3674,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalRecvFeesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryTotalRecvFeesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } } } @@ -3708,7 +3703,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesRequest { } impl serde::Serialize for QueryTotalRecvFeesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3726,7 +3721,7 @@ impl serde::Serialize for QueryTotalRecvFeesResponse { } impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3740,7 +3735,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesResponse { RecvFees, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3749,12 +3744,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3771,22 +3766,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalRecvFeesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryTotalRecvFeesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut recv_fees__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::RecvFees => { if recv_fees__.is_some() { return Err(serde::de::Error::duplicate_field("recvFees")); } - recv_fees__ = Some(map_.next_value()?); + recv_fees__ = Some(map.next_value()?); } } } @@ -3800,7 +3795,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalRecvFeesResponse { } impl serde::Serialize for QueryTotalTimeoutFeesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3818,7 +3813,7 @@ impl serde::Serialize for QueryTotalTimeoutFeesRequest { } impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3832,7 +3827,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesRequest { PacketId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3841,12 +3836,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3863,22 +3858,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalTimeoutFeesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryTotalTimeoutFeesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut packet_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PacketId => { if packet_id__.is_some() { return Err(serde::de::Error::duplicate_field("packetId")); } - packet_id__ = map_.next_value()?; + packet_id__ = map.next_value()?; } } } @@ -3892,7 +3887,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesRequest { } impl serde::Serialize for QueryTotalTimeoutFeesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3910,7 +3905,7 @@ impl serde::Serialize for QueryTotalTimeoutFeesResponse { } impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3924,7 +3919,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesResponse { TimeoutFees, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3933,12 +3928,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3955,22 +3950,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalTimeoutFeesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut timeout_fees__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::TimeoutFees => { if timeout_fees__.is_some() { return Err(serde::de::Error::duplicate_field("timeoutFees")); } - timeout_fees__ = Some(map_.next_value()?); + timeout_fees__ = Some(map.next_value()?); } } } @@ -3984,7 +3979,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalTimeoutFeesResponse { } impl serde::Serialize for RegisteredCounterpartyPayee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4014,7 +4009,7 @@ impl serde::Serialize for RegisteredCounterpartyPayee { } impl<'de> serde::Deserialize<'de> for RegisteredCounterpartyPayee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4033,7 +4028,7 @@ impl<'de> serde::Deserialize<'de> for RegisteredCounterpartyPayee { CounterpartyPayee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4042,12 +4037,12 @@ impl<'de> serde::Deserialize<'de> for RegisteredCounterpartyPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4066,36 +4061,36 @@ impl<'de> serde::Deserialize<'de> for RegisteredCounterpartyPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = RegisteredCounterpartyPayee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.RegisteredCounterpartyPayee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel_id__ = None; let mut relayer__ = None; let mut counterparty_payee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Relayer => { if relayer__.is_some() { return Err(serde::de::Error::duplicate_field("relayer")); } - relayer__ = Some(map_.next_value()?); + relayer__ = Some(map.next_value()?); } GeneratedField::CounterpartyPayee => { if counterparty_payee__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyPayee")); } - counterparty_payee__ = Some(map_.next_value()?); + counterparty_payee__ = Some(map.next_value()?); } } } @@ -4111,7 +4106,7 @@ impl<'de> serde::Deserialize<'de> for RegisteredCounterpartyPayee { } impl serde::Serialize for RegisteredPayee { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4141,7 +4136,7 @@ impl serde::Serialize for RegisteredPayee { } impl<'de> serde::Deserialize<'de> for RegisteredPayee { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4159,7 +4154,7 @@ impl<'de> serde::Deserialize<'de> for RegisteredPayee { Payee, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4168,12 +4163,12 @@ impl<'de> serde::Deserialize<'de> for RegisteredPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4192,36 +4187,36 @@ impl<'de> serde::Deserialize<'de> for RegisteredPayee { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = RegisteredPayee; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.fee.v1.RegisteredPayee") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel_id__ = None; let mut relayer__ = None; let mut payee__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Relayer => { if relayer__.is_some() { return Err(serde::de::Error::duplicate_field("relayer")); } - relayer__ = Some(map_.next_value()?); + relayer__ = Some(map.next_value()?); } GeneratedField::Payee => { if payee__.is_some() { return Err(serde::de::Error::duplicate_field("payee")); } - payee__ = Some(map_.next_value()?); + payee__ = Some(map.next_value()?); } } } diff --git a/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs index 7968bb9a..996423a8 100644 --- a/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for MsgRegisterInterchainAccount { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -30,7 +30,7 @@ impl serde::Serialize for MsgRegisterInterchainAccount { } impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccount { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -48,7 +48,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccount { Version, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -57,12 +57,12 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -81,36 +81,36 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRegisterInterchainAccount; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut owner__ = None; let mut connection_id__ = None; let mut version__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Owner => { if owner__.is_some() { return Err(serde::de::Error::duplicate_field("owner")); } - owner__ = Some(map_.next_value()?); + owner__ = Some(map.next_value()?); } GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = Some(map_.next_value()?); + version__ = Some(map.next_value()?); } } } @@ -126,7 +126,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccount { } impl serde::Serialize for MsgRegisterInterchainAccountResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -150,7 +150,7 @@ impl serde::Serialize for MsgRegisterInterchainAccountResponse { } impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccountResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -167,7 +167,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccountResponse { PortId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -176,12 +176,12 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccountResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -199,29 +199,29 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccountResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRegisterInterchainAccountResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel_id__ = None; let mut port_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } } } @@ -236,7 +236,7 @@ impl<'de> serde::Deserialize<'de> for MsgRegisterInterchainAccountResponse { } impl serde::Serialize for MsgSendTx { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -265,15 +265,14 @@ impl serde::Serialize for MsgSendTx { struct_ser.serialize_field("packetData", v)?; } if self.relative_timeout != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("relativeTimeout", ToString::to_string(&self.relative_timeout).as_str())?; + struct_ser.serialize_field("relativeTimeout", ::alloc::string::ToString::to_string(&self.relative_timeout).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MsgSendTx { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -295,7 +294,7 @@ impl<'de> serde::Deserialize<'de> for MsgSendTx { RelativeTimeout, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -304,12 +303,12 @@ impl<'de> serde::Deserialize<'de> for MsgSendTx { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -329,11 +328,11 @@ impl<'de> serde::Deserialize<'de> for MsgSendTx { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSendTx; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgSendTx") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -341,32 +340,32 @@ impl<'de> serde::Deserialize<'de> for MsgSendTx { let mut connection_id__ = None; let mut packet_data__ = None; let mut relative_timeout__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Owner => { if owner__.is_some() { return Err(serde::de::Error::duplicate_field("owner")); } - owner__ = Some(map_.next_value()?); + owner__ = Some(map.next_value()?); } GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::PacketData => { if packet_data__.is_some() { return Err(serde::de::Error::duplicate_field("packetData")); } - packet_data__ = map_.next_value()?; + packet_data__ = map.next_value()?; } GeneratedField::RelativeTimeout => { if relative_timeout__.is_some() { return Err(serde::de::Error::duplicate_field("relativeTimeout")); } relative_timeout__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -384,7 +383,7 @@ impl<'de> serde::Deserialize<'de> for MsgSendTx { } impl serde::Serialize for MsgSendTxResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -395,15 +394,14 @@ impl serde::Serialize for MsgSendTxResponse { } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MsgSendTxResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -416,7 +414,7 @@ impl<'de> serde::Deserialize<'de> for MsgSendTxResponse { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -425,12 +423,12 @@ impl<'de> serde::Deserialize<'de> for MsgSendTxResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -447,23 +445,23 @@ impl<'de> serde::Deserialize<'de> for MsgSendTxResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSendTxResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -478,7 +476,7 @@ impl<'de> serde::Deserialize<'de> for MsgSendTxResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -502,7 +500,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -517,7 +515,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -526,12 +524,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -549,29 +547,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signer__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -586,7 +584,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -598,7 +596,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -609,7 +607,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -618,12 +616,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -637,16 +635,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -657,7 +655,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -675,7 +673,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -689,7 +687,7 @@ impl<'de> serde::Deserialize<'de> for Params { ControllerEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -698,12 +696,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -720,22 +718,22 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut controller_enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ControllerEnabled => { if controller_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("controllerEnabled")); } - controller_enabled__ = Some(map_.next_value()?); + controller_enabled__ = Some(map.next_value()?); } } } @@ -749,7 +747,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryInterchainAccountRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -773,7 +771,7 @@ impl serde::Serialize for QueryInterchainAccountRequest { } impl<'de> serde::Deserialize<'de> for QueryInterchainAccountRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -789,7 +787,7 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountRequest { ConnectionId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -798,12 +796,12 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -821,29 +819,29 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryInterchainAccountRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut owner__ = None; let mut connection_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Owner => { if owner__.is_some() { return Err(serde::de::Error::duplicate_field("owner")); } - owner__ = Some(map_.next_value()?); + owner__ = Some(map.next_value()?); } GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } } } @@ -858,7 +856,7 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountRequest { } impl serde::Serialize for QueryInterchainAccountResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -876,7 +874,7 @@ impl serde::Serialize for QueryInterchainAccountResponse { } impl<'de> serde::Deserialize<'de> for QueryInterchainAccountResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -889,7 +887,7 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountResponse { Address, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -898,12 +896,12 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -920,22 +918,22 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryInterchainAccountResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } } } @@ -949,7 +947,7 @@ impl<'de> serde::Deserialize<'de> for QueryInterchainAccountResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -961,7 +959,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -972,7 +970,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -981,12 +979,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1000,16 +998,16 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryParamsRequest { }) @@ -1020,7 +1018,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1038,7 +1036,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1051,7 +1049,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1060,12 +1058,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1082,22 +1080,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } diff --git a/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs index fcf5dce7..3bf78e98 100644 --- a/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ActiveChannel { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -36,7 +36,7 @@ impl serde::Serialize for ActiveChannel { } impl<'de> serde::Deserialize<'de> for ActiveChannel { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -59,7 +59,7 @@ impl<'de> serde::Deserialize<'de> for ActiveChannel { IsMiddlewareEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -68,12 +68,12 @@ impl<'de> serde::Deserialize<'de> for ActiveChannel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -93,11 +93,11 @@ impl<'de> serde::Deserialize<'de> for ActiveChannel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ActiveChannel; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.ActiveChannel") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -105,31 +105,31 @@ impl<'de> serde::Deserialize<'de> for ActiveChannel { let mut port_id__ = None; let mut channel_id__ = None; let mut is_middleware_enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::IsMiddlewareEnabled => { if is_middleware_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("isMiddlewareEnabled")); } - is_middleware_enabled__ = Some(map_.next_value()?); + is_middleware_enabled__ = Some(map.next_value()?); } } } @@ -146,7 +146,7 @@ impl<'de> serde::Deserialize<'de> for ActiveChannel { } impl serde::Serialize for ControllerGenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -182,7 +182,7 @@ impl serde::Serialize for ControllerGenesisState { } impl<'de> serde::Deserialize<'de> for ControllerGenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -203,7 +203,7 @@ impl<'de> serde::Deserialize<'de> for ControllerGenesisState { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -212,12 +212,12 @@ impl<'de> serde::Deserialize<'de> for ControllerGenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -237,11 +237,11 @@ impl<'de> serde::Deserialize<'de> for ControllerGenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ControllerGenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -249,31 +249,31 @@ impl<'de> serde::Deserialize<'de> for ControllerGenesisState { let mut interchain_accounts__ = None; let mut ports__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ActiveChannels => { if active_channels__.is_some() { return Err(serde::de::Error::duplicate_field("activeChannels")); } - active_channels__ = Some(map_.next_value()?); + active_channels__ = Some(map.next_value()?); } GeneratedField::InterchainAccounts => { if interchain_accounts__.is_some() { return Err(serde::de::Error::duplicate_field("interchainAccounts")); } - interchain_accounts__ = Some(map_.next_value()?); + interchain_accounts__ = Some(map.next_value()?); } GeneratedField::Ports => { if ports__.is_some() { return Err(serde::de::Error::duplicate_field("ports")); } - ports__ = Some(map_.next_value()?); + ports__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -290,7 +290,7 @@ impl<'de> serde::Deserialize<'de> for ControllerGenesisState { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -314,7 +314,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -331,7 +331,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { HostGenesisState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -340,12 +340,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -363,29 +363,29 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut controller_genesis_state__ = None; let mut host_genesis_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ControllerGenesisState => { if controller_genesis_state__.is_some() { return Err(serde::de::Error::duplicate_field("controllerGenesisState")); } - controller_genesis_state__ = map_.next_value()?; + controller_genesis_state__ = map.next_value()?; } GeneratedField::HostGenesisState => { if host_genesis_state__.is_some() { return Err(serde::de::Error::duplicate_field("hostGenesisState")); } - host_genesis_state__ = map_.next_value()?; + host_genesis_state__ = map.next_value()?; } } } @@ -400,7 +400,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for HostGenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -436,7 +436,7 @@ impl serde::Serialize for HostGenesisState { } impl<'de> serde::Deserialize<'de> for HostGenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -457,7 +457,7 @@ impl<'de> serde::Deserialize<'de> for HostGenesisState { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -466,12 +466,12 @@ impl<'de> serde::Deserialize<'de> for HostGenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -491,11 +491,11 @@ impl<'de> serde::Deserialize<'de> for HostGenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = HostGenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.HostGenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -503,31 +503,31 @@ impl<'de> serde::Deserialize<'de> for HostGenesisState { let mut interchain_accounts__ = None; let mut port__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ActiveChannels => { if active_channels__.is_some() { return Err(serde::de::Error::duplicate_field("activeChannels")); } - active_channels__ = Some(map_.next_value()?); + active_channels__ = Some(map.next_value()?); } GeneratedField::InterchainAccounts => { if interchain_accounts__.is_some() { return Err(serde::de::Error::duplicate_field("interchainAccounts")); } - interchain_accounts__ = Some(map_.next_value()?); + interchain_accounts__ = Some(map.next_value()?); } GeneratedField::Port => { if port__.is_some() { return Err(serde::de::Error::duplicate_field("port")); } - port__ = Some(map_.next_value()?); + port__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -544,7 +544,7 @@ impl<'de> serde::Deserialize<'de> for HostGenesisState { } impl serde::Serialize for RegisteredInterchainAccount { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -574,7 +574,7 @@ impl serde::Serialize for RegisteredInterchainAccount { } impl<'de> serde::Deserialize<'de> for RegisteredInterchainAccount { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -594,7 +594,7 @@ impl<'de> serde::Deserialize<'de> for RegisteredInterchainAccount { AccountAddress, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -603,12 +603,12 @@ impl<'de> serde::Deserialize<'de> for RegisteredInterchainAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -627,36 +627,36 @@ impl<'de> serde::Deserialize<'de> for RegisteredInterchainAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = RegisteredInterchainAccount; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection_id__ = None; let mut port_id__ = None; let mut account_address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::AccountAddress => { if account_address__.is_some() { return Err(serde::de::Error::duplicate_field("accountAddress")); } - account_address__ = Some(map_.next_value()?); + account_address__ = Some(map.next_value()?); } } } diff --git a/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs index 27c45678..2a355b34 100644 --- a/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -39,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -48,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -71,29 +71,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signer__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -108,7 +108,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -120,7 +120,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -131,7 +131,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -140,12 +140,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -159,16 +159,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -179,7 +179,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -203,7 +203,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -220,7 +220,7 @@ impl<'de> serde::Deserialize<'de> for Params { AllowMessages, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -229,12 +229,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -252,29 +252,29 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut host_enabled__ = None; let mut allow_messages__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::HostEnabled => { if host_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("hostEnabled")); } - host_enabled__ = Some(map_.next_value()?); + host_enabled__ = Some(map.next_value()?); } GeneratedField::AllowMessages => { if allow_messages__.is_some() { return Err(serde::de::Error::duplicate_field("allowMessages")); } - allow_messages__ = Some(map_.next_value()?); + allow_messages__ = Some(map.next_value()?); } } } @@ -289,7 +289,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -301,7 +301,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -312,7 +312,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -321,12 +321,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -340,16 +340,16 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryParamsRequest { }) @@ -360,7 +360,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -378,7 +378,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -391,7 +391,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -400,12 +400,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -422,22 +422,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.host.v1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } diff --git a/src/prost/ibc.applications.interchain_accounts.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.v1.serde.rs index 84636c8e..ad73eebf 100644 --- a/src/prost/ibc.applications.interchain_accounts.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for CosmosTx { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for CosmosTx { } impl<'de> serde::Deserialize<'de> for CosmosTx { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -31,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for CosmosTx { Messages, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for CosmosTx { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -62,22 +62,22 @@ impl<'de> serde::Deserialize<'de> for CosmosTx { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = CosmosTx; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.v1.CosmosTx") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut messages__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Messages => { if messages__.is_some() { return Err(serde::de::Error::duplicate_field("messages")); } - messages__ = Some(map_.next_value()?); + messages__ = Some(map.next_value()?); } } } @@ -91,7 +91,7 @@ impl<'de> serde::Deserialize<'de> for CosmosTx { } impl serde::Serialize for InterchainAccount { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -115,7 +115,7 @@ impl serde::Serialize for InterchainAccount { } impl<'de> serde::Deserialize<'de> for InterchainAccount { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -132,7 +132,7 @@ impl<'de> serde::Deserialize<'de> for InterchainAccount { AccountOwner, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -141,12 +141,12 @@ impl<'de> serde::Deserialize<'de> for InterchainAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -164,29 +164,29 @@ impl<'de> serde::Deserialize<'de> for InterchainAccount { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InterchainAccount; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.v1.InterchainAccount") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut base_account__ = None; let mut account_owner__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::BaseAccount => { if base_account__.is_some() { return Err(serde::de::Error::duplicate_field("baseAccount")); } - base_account__ = map_.next_value()?; + base_account__ = map.next_value()?; } GeneratedField::AccountOwner => { if account_owner__.is_some() { return Err(serde::de::Error::duplicate_field("accountOwner")); } - account_owner__ = Some(map_.next_value()?); + account_owner__ = Some(map.next_value()?); } } } @@ -201,7 +201,7 @@ impl<'de> serde::Deserialize<'de> for InterchainAccount { } impl serde::Serialize for InterchainAccountPacketData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -218,12 +218,11 @@ impl serde::Serialize for InterchainAccountPacketData { } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccountPacketData", len)?; if self.r#type != 0 { - let v = Type::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; + let v = Type::from_i32(self.r#type) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.r#type)))?; struct_ser.serialize_field("type", &v)?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } if !self.memo.is_empty() { @@ -234,7 +233,7 @@ impl serde::Serialize for InterchainAccountPacketData { } impl<'de> serde::Deserialize<'de> for InterchainAccountPacketData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -251,7 +250,7 @@ impl<'de> serde::Deserialize<'de> for InterchainAccountPacketData { Memo, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -260,12 +259,12 @@ impl<'de> serde::Deserialize<'de> for InterchainAccountPacketData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -284,38 +283,38 @@ impl<'de> serde::Deserialize<'de> for InterchainAccountPacketData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = InterchainAccountPacketData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.v1.InterchainAccountPacketData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut r#type__ = None; let mut data__ = None; let mut memo__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Type => { if r#type__.is_some() { return Err(serde::de::Error::duplicate_field("type")); } - r#type__ = Some(map_.next_value::()? as i32); + r#type__ = Some(map.next_value::()? as i32); } GeneratedField::Data => { if data__.is_some() { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Memo => { if memo__.is_some() { return Err(serde::de::Error::duplicate_field("memo")); } - memo__ = Some(map_.next_value()?); + memo__ = Some(map.next_value()?); } } } @@ -331,7 +330,7 @@ impl<'de> serde::Deserialize<'de> for InterchainAccountPacketData { } impl serde::Serialize for Metadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -379,7 +378,7 @@ impl serde::Serialize for Metadata { } impl<'de> serde::Deserialize<'de> for Metadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -405,7 +404,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { TxType, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -414,12 +413,12 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -441,11 +440,11 @@ impl<'de> serde::Deserialize<'de> for Metadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Metadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.interchain_accounts.v1.Metadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -455,43 +454,43 @@ impl<'de> serde::Deserialize<'de> for Metadata { let mut address__ = None; let mut encoding__ = None; let mut tx_type__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = Some(map_.next_value()?); + version__ = Some(map.next_value()?); } GeneratedField::ControllerConnectionId => { if controller_connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("controllerConnectionId")); } - controller_connection_id__ = Some(map_.next_value()?); + controller_connection_id__ = Some(map.next_value()?); } GeneratedField::HostConnectionId => { if host_connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("hostConnectionId")); } - host_connection_id__ = Some(map_.next_value()?); + host_connection_id__ = Some(map.next_value()?); } GeneratedField::Address => { if address__.is_some() { return Err(serde::de::Error::duplicate_field("address")); } - address__ = Some(map_.next_value()?); + address__ = Some(map.next_value()?); } GeneratedField::Encoding => { if encoding__.is_some() { return Err(serde::de::Error::duplicate_field("encoding")); } - encoding__ = Some(map_.next_value()?); + encoding__ = Some(map.next_value()?); } GeneratedField::TxType => { if tx_type__.is_some() { return Err(serde::de::Error::duplicate_field("txType")); } - tx_type__ = Some(map_.next_value()?); + tx_type__ = Some(map.next_value()?); } } } @@ -510,7 +509,7 @@ impl<'de> serde::Deserialize<'de> for Metadata { } impl serde::Serialize for Type { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -523,7 +522,7 @@ impl serde::Serialize for Type { } impl<'de> serde::Deserialize<'de> for Type { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -537,35 +536,37 @@ impl<'de> serde::Deserialize<'de> for Type { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Type; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(Type::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(Type::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { diff --git a/src/prost/ibc.applications.transfer.v1.serde.rs b/src/prost/ibc.applications.transfer.v1.serde.rs index 95e87a96..b94dcacd 100644 --- a/src/prost/ibc.applications.transfer.v1.serde.rs +++ b/src/prost/ibc.applications.transfer.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Allocation { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -36,7 +36,7 @@ impl serde::Serialize for Allocation { } impl<'de> serde::Deserialize<'de> for Allocation { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -59,7 +59,7 @@ impl<'de> serde::Deserialize<'de> for Allocation { AllowList, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -68,12 +68,12 @@ impl<'de> serde::Deserialize<'de> for Allocation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -93,11 +93,11 @@ impl<'de> serde::Deserialize<'de> for Allocation { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Allocation; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.Allocation") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -105,31 +105,31 @@ impl<'de> serde::Deserialize<'de> for Allocation { let mut source_channel__ = None; let mut spend_limit__ = None; let mut allow_list__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SourcePort => { if source_port__.is_some() { return Err(serde::de::Error::duplicate_field("sourcePort")); } - source_port__ = Some(map_.next_value()?); + source_port__ = Some(map.next_value()?); } GeneratedField::SourceChannel => { if source_channel__.is_some() { return Err(serde::de::Error::duplicate_field("sourceChannel")); } - source_channel__ = Some(map_.next_value()?); + source_channel__ = Some(map.next_value()?); } GeneratedField::SpendLimit => { if spend_limit__.is_some() { return Err(serde::de::Error::duplicate_field("spendLimit")); } - spend_limit__ = Some(map_.next_value()?); + spend_limit__ = Some(map.next_value()?); } GeneratedField::AllowList => { if allow_list__.is_some() { return Err(serde::de::Error::duplicate_field("allowList")); } - allow_list__ = Some(map_.next_value()?); + allow_list__ = Some(map.next_value()?); } } } @@ -146,7 +146,7 @@ impl<'de> serde::Deserialize<'de> for Allocation { } impl serde::Serialize for DenomTrace { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -170,7 +170,7 @@ impl serde::Serialize for DenomTrace { } impl<'de> serde::Deserialize<'de> for DenomTrace { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -186,7 +186,7 @@ impl<'de> serde::Deserialize<'de> for DenomTrace { BaseDenom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -195,12 +195,12 @@ impl<'de> serde::Deserialize<'de> for DenomTrace { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -218,29 +218,29 @@ impl<'de> serde::Deserialize<'de> for DenomTrace { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DenomTrace; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.DenomTrace") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut base_denom__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } - path__ = Some(map_.next_value()?); + path__ = Some(map.next_value()?); } GeneratedField::BaseDenom => { if base_denom__.is_some() { return Err(serde::de::Error::duplicate_field("baseDenom")); } - base_denom__ = Some(map_.next_value()?); + base_denom__ = Some(map.next_value()?); } } } @@ -255,7 +255,7 @@ impl<'de> serde::Deserialize<'de> for DenomTrace { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -291,7 +291,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -313,7 +313,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { TotalEscrowed, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -322,12 +322,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -347,11 +347,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -359,31 +359,31 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut denom_traces__ = None; let mut params__ = None; let mut total_escrowed__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::DenomTraces => { if denom_traces__.is_some() { return Err(serde::de::Error::duplicate_field("denomTraces")); } - denom_traces__ = Some(map_.next_value()?); + denom_traces__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } GeneratedField::TotalEscrowed => { if total_escrowed__.is_some() { return Err(serde::de::Error::duplicate_field("totalEscrowed")); } - total_escrowed__ = Some(map_.next_value()?); + total_escrowed__ = Some(map.next_value()?); } } } @@ -400,7 +400,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for MsgTransfer { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -450,8 +450,7 @@ impl serde::Serialize for MsgTransfer { struct_ser.serialize_field("timeoutHeight", v)?; } if self.timeout_timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timeoutTimestamp", ToString::to_string(&self.timeout_timestamp).as_str())?; + struct_ser.serialize_field("timeoutTimestamp", ::alloc::string::ToString::to_string(&self.timeout_timestamp).as_str())?; } if !self.memo.is_empty() { struct_ser.serialize_field("memo", &self.memo)?; @@ -461,7 +460,7 @@ impl serde::Serialize for MsgTransfer { } impl<'de> serde::Deserialize<'de> for MsgTransfer { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -492,7 +491,7 @@ impl<'de> serde::Deserialize<'de> for MsgTransfer { Memo, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -501,12 +500,12 @@ impl<'de> serde::Deserialize<'de> for MsgTransfer { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -530,11 +529,11 @@ impl<'de> serde::Deserialize<'de> for MsgTransfer { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgTransfer; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.MsgTransfer") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -546,57 +545,57 @@ impl<'de> serde::Deserialize<'de> for MsgTransfer { let mut timeout_height__ = None; let mut timeout_timestamp__ = None; let mut memo__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SourcePort => { if source_port__.is_some() { return Err(serde::de::Error::duplicate_field("sourcePort")); } - source_port__ = Some(map_.next_value()?); + source_port__ = Some(map.next_value()?); } GeneratedField::SourceChannel => { if source_channel__.is_some() { return Err(serde::de::Error::duplicate_field("sourceChannel")); } - source_channel__ = Some(map_.next_value()?); + source_channel__ = Some(map.next_value()?); } GeneratedField::Token => { if token__.is_some() { return Err(serde::de::Error::duplicate_field("token")); } - token__ = map_.next_value()?; + token__ = map.next_value()?; } GeneratedField::Sender => { if sender__.is_some() { return Err(serde::de::Error::duplicate_field("sender")); } - sender__ = Some(map_.next_value()?); + sender__ = Some(map.next_value()?); } GeneratedField::Receiver => { if receiver__.is_some() { return Err(serde::de::Error::duplicate_field("receiver")); } - receiver__ = Some(map_.next_value()?); + receiver__ = Some(map.next_value()?); } GeneratedField::TimeoutHeight => { if timeout_height__.is_some() { return Err(serde::de::Error::duplicate_field("timeoutHeight")); } - timeout_height__ = map_.next_value()?; + timeout_height__ = map.next_value()?; } GeneratedField::TimeoutTimestamp => { if timeout_timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timeoutTimestamp")); } timeout_timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Memo => { if memo__.is_some() { return Err(serde::de::Error::duplicate_field("memo")); } - memo__ = Some(map_.next_value()?); + memo__ = Some(map.next_value()?); } } } @@ -617,7 +616,7 @@ impl<'de> serde::Deserialize<'de> for MsgTransfer { } impl serde::Serialize for MsgTransferResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -628,15 +627,14 @@ impl serde::Serialize for MsgTransferResponse { } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgTransferResponse", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for MsgTransferResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -649,7 +647,7 @@ impl<'de> serde::Deserialize<'de> for MsgTransferResponse { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -658,12 +656,12 @@ impl<'de> serde::Deserialize<'de> for MsgTransferResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -680,23 +678,23 @@ impl<'de> serde::Deserialize<'de> for MsgTransferResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgTransferResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.MsgTransferResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -711,7 +709,7 @@ impl<'de> serde::Deserialize<'de> for MsgTransferResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -735,7 +733,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -750,7 +748,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -759,12 +757,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -782,29 +780,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signer__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -819,7 +817,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -831,7 +829,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -842,7 +840,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -851,12 +849,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -870,16 +868,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -890,7 +888,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -914,7 +912,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -931,7 +929,7 @@ impl<'de> serde::Deserialize<'de> for Params { ReceiveEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -940,12 +938,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -963,29 +961,29 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut send_enabled__ = None; let mut receive_enabled__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SendEnabled => { if send_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("sendEnabled")); } - send_enabled__ = Some(map_.next_value()?); + send_enabled__ = Some(map.next_value()?); } GeneratedField::ReceiveEnabled => { if receive_enabled__.is_some() { return Err(serde::de::Error::duplicate_field("receiveEnabled")); } - receive_enabled__ = Some(map_.next_value()?); + receive_enabled__ = Some(map.next_value()?); } } } @@ -1000,7 +998,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryDenomHashRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1018,7 +1016,7 @@ impl serde::Serialize for QueryDenomHashRequest { } impl<'de> serde::Deserialize<'de> for QueryDenomHashRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1031,7 +1029,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashRequest { Trace, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1040,12 +1038,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1062,22 +1060,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomHashRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomHashRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut trace__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Trace => { if trace__.is_some() { return Err(serde::de::Error::duplicate_field("trace")); } - trace__ = Some(map_.next_value()?); + trace__ = Some(map.next_value()?); } } } @@ -1091,7 +1089,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashRequest { } impl serde::Serialize for QueryDenomHashResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1109,7 +1107,7 @@ impl serde::Serialize for QueryDenomHashResponse { } impl<'de> serde::Deserialize<'de> for QueryDenomHashResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1122,7 +1120,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashResponse { Hash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1131,12 +1129,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1153,22 +1151,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomHashResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomHashResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Hash => { if hash__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - hash__ = Some(map_.next_value()?); + hash__ = Some(map.next_value()?); } } } @@ -1182,7 +1180,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomHashResponse { } impl serde::Serialize for QueryDenomTraceRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1200,7 +1198,7 @@ impl serde::Serialize for QueryDenomTraceRequest { } impl<'de> serde::Deserialize<'de> for QueryDenomTraceRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1213,7 +1211,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceRequest { Hash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1222,12 +1220,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1244,22 +1242,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomTraceRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTraceRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Hash => { if hash__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } - hash__ = Some(map_.next_value()?); + hash__ = Some(map.next_value()?); } } } @@ -1273,7 +1271,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceRequest { } impl serde::Serialize for QueryDenomTraceResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1291,7 +1289,7 @@ impl serde::Serialize for QueryDenomTraceResponse { } impl<'de> serde::Deserialize<'de> for QueryDenomTraceResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1305,7 +1303,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceResponse { DenomTrace, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1314,12 +1312,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1336,22 +1334,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomTraceResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTraceResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom_trace__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DenomTrace => { if denom_trace__.is_some() { return Err(serde::de::Error::duplicate_field("denomTrace")); } - denom_trace__ = map_.next_value()?; + denom_trace__ = map.next_value()?; } } } @@ -1365,7 +1363,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTraceResponse { } impl serde::Serialize for QueryDenomTracesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1383,7 +1381,7 @@ impl serde::Serialize for QueryDenomTracesRequest { } impl<'de> serde::Deserialize<'de> for QueryDenomTracesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1396,7 +1394,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1405,12 +1403,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1427,22 +1425,22 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomTracesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTracesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -1456,7 +1454,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesRequest { } impl serde::Serialize for QueryDenomTracesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1480,7 +1478,7 @@ impl serde::Serialize for QueryDenomTracesResponse { } impl<'de> serde::Deserialize<'de> for QueryDenomTracesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1496,7 +1494,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1505,12 +1503,12 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1528,29 +1526,29 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryDenomTracesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryDenomTracesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom_traces__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::DenomTraces => { if denom_traces__.is_some() { return Err(serde::de::Error::duplicate_field("denomTraces")); } - denom_traces__ = Some(map_.next_value()?); + denom_traces__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -1565,7 +1563,7 @@ impl<'de> serde::Deserialize<'de> for QueryDenomTracesResponse { } impl serde::Serialize for QueryEscrowAddressRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1589,7 +1587,7 @@ impl serde::Serialize for QueryEscrowAddressRequest { } impl<'de> serde::Deserialize<'de> for QueryEscrowAddressRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1606,7 +1604,7 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressRequest { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1615,12 +1613,12 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1638,29 +1636,29 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryEscrowAddressRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryEscrowAddressRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -1675,7 +1673,7 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressRequest { } impl serde::Serialize for QueryEscrowAddressResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1693,7 +1691,7 @@ impl serde::Serialize for QueryEscrowAddressResponse { } impl<'de> serde::Deserialize<'de> for QueryEscrowAddressResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1707,7 +1705,7 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressResponse { EscrowAddress, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1716,12 +1714,12 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1738,22 +1736,22 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryEscrowAddressResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryEscrowAddressResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut escrow_address__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::EscrowAddress => { if escrow_address__.is_some() { return Err(serde::de::Error::duplicate_field("escrowAddress")); } - escrow_address__ = Some(map_.next_value()?); + escrow_address__ = Some(map.next_value()?); } } } @@ -1767,7 +1765,7 @@ impl<'de> serde::Deserialize<'de> for QueryEscrowAddressResponse { } impl serde::Serialize for QueryParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1779,7 +1777,7 @@ impl serde::Serialize for QueryParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1790,7 +1788,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1799,12 +1797,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1818,16 +1816,16 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryParamsRequest { }) @@ -1838,7 +1836,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsRequest { } impl serde::Serialize for QueryParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1856,7 +1854,7 @@ impl serde::Serialize for QueryParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1869,7 +1867,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1878,12 +1876,12 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1900,22 +1898,22 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -1929,7 +1927,7 @@ impl<'de> serde::Deserialize<'de> for QueryParamsResponse { } impl serde::Serialize for QueryTotalEscrowForDenomRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1947,7 +1945,7 @@ impl serde::Serialize for QueryTotalEscrowForDenomRequest { } impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1960,7 +1958,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomRequest { Denom, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1969,12 +1967,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1991,22 +1989,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalEscrowForDenomRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut denom__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } } } @@ -2020,7 +2018,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomRequest { } impl serde::Serialize for QueryTotalEscrowForDenomResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2038,7 +2036,7 @@ impl serde::Serialize for QueryTotalEscrowForDenomResponse { } impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2051,7 +2049,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomResponse { Amount, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2060,12 +2058,12 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2082,22 +2080,22 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryTotalEscrowForDenomResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut amount__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = map_.next_value()?; + amount__ = map.next_value()?; } } } @@ -2111,7 +2109,7 @@ impl<'de> serde::Deserialize<'de> for QueryTotalEscrowForDenomResponse { } impl serde::Serialize for TransferAuthorization { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2129,7 +2127,7 @@ impl serde::Serialize for TransferAuthorization { } impl<'de> serde::Deserialize<'de> for TransferAuthorization { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2142,7 +2140,7 @@ impl<'de> serde::Deserialize<'de> for TransferAuthorization { Allocations, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2151,12 +2149,12 @@ impl<'de> serde::Deserialize<'de> for TransferAuthorization { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2173,22 +2171,22 @@ impl<'de> serde::Deserialize<'de> for TransferAuthorization { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TransferAuthorization; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v1.TransferAuthorization") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut allocations__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Allocations => { if allocations__.is_some() { return Err(serde::de::Error::duplicate_field("allocations")); } - allocations__ = Some(map_.next_value()?); + allocations__ = Some(map.next_value()?); } } } diff --git a/src/prost/ibc.applications.transfer.v2.serde.rs b/src/prost/ibc.applications.transfer.v2.serde.rs index d7e1f339..e9ec746a 100644 --- a/src/prost/ibc.applications.transfer.v2.serde.rs +++ b/src/prost/ibc.applications.transfer.v2.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for FungibleTokenPacketData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -42,7 +42,7 @@ impl serde::Serialize for FungibleTokenPacketData { } impl<'de> serde::Deserialize<'de> for FungibleTokenPacketData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -63,7 +63,7 @@ impl<'de> serde::Deserialize<'de> for FungibleTokenPacketData { Memo, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -72,12 +72,12 @@ impl<'de> serde::Deserialize<'de> for FungibleTokenPacketData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -98,11 +98,11 @@ impl<'de> serde::Deserialize<'de> for FungibleTokenPacketData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = FungibleTokenPacketData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.applications.transfer.v2.FungibleTokenPacketData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -111,37 +111,37 @@ impl<'de> serde::Deserialize<'de> for FungibleTokenPacketData { let mut sender__ = None; let mut receiver__ = None; let mut memo__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Denom => { if denom__.is_some() { return Err(serde::de::Error::duplicate_field("denom")); } - denom__ = Some(map_.next_value()?); + denom__ = Some(map.next_value()?); } GeneratedField::Amount => { if amount__.is_some() { return Err(serde::de::Error::duplicate_field("amount")); } - amount__ = Some(map_.next_value()?); + amount__ = Some(map.next_value()?); } GeneratedField::Sender => { if sender__.is_some() { return Err(serde::de::Error::duplicate_field("sender")); } - sender__ = Some(map_.next_value()?); + sender__ = Some(map.next_value()?); } GeneratedField::Receiver => { if receiver__.is_some() { return Err(serde::de::Error::duplicate_field("receiver")); } - receiver__ = Some(map_.next_value()?); + receiver__ = Some(map.next_value()?); } GeneratedField::Memo => { if memo__.is_some() { return Err(serde::de::Error::duplicate_field("memo")); } - memo__ = Some(map_.next_value()?); + memo__ = Some(map.next_value()?); } } } diff --git a/src/prost/ibc.core.channel.v1.serde.rs b/src/prost/ibc.core.channel.v1.serde.rs index e02867e2..cc983ca8 100644 --- a/src/prost/ibc.core.channel.v1.serde.rs +++ b/src/prost/ibc.core.channel.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for Acknowledgement { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -13,7 +13,6 @@ impl serde::Serialize for Acknowledgement { if let Some(v) = self.response.as_ref() { match v { acknowledgement::Response::Result(v) => { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("result", pbjson::private::base64::encode(&v).as_str())?; } acknowledgement::Response::Error(v) => { @@ -26,7 +25,7 @@ impl serde::Serialize for Acknowledgement { } impl<'de> serde::Deserialize<'de> for Acknowledgement { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for Acknowledgement { Error, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for Acknowledgement { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,28 +72,28 @@ impl<'de> serde::Deserialize<'de> for Acknowledgement { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Acknowledgement; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.Acknowledgement") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut response__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Result => { if response__.is_some() { return Err(serde::de::Error::duplicate_field("result")); } - response__ = map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| acknowledgement::Response::Result(x.0)); + response__ = map.next_value::<::core::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| acknowledgement::Response::Result(x.0)); } GeneratedField::Error => { if response__.is_some() { return Err(serde::de::Error::duplicate_field("error")); } - response__ = map_.next_value::<::std::option::Option<_>>()?.map(acknowledgement::Response::Error); + response__ = map.next_value::<::core::option::Option<_>>()?.map(acknowledgement::Response::Error); } } } @@ -108,7 +107,7 @@ impl<'de> serde::Deserialize<'de> for Acknowledgement { } impl serde::Serialize for Channel { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -131,13 +130,13 @@ impl serde::Serialize for Channel { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Channel", len)?; if self.state != 0 { - let v = State::try_from(self.state) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + let v = State::from_i32(self.state) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; } if self.ordering != 0 { - let v = Order::try_from(self.ordering) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.ordering)))?; + let v = Order::from_i32(self.ordering) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.ordering)))?; struct_ser.serialize_field("ordering", &v)?; } if let Some(v) = self.counterparty.as_ref() { @@ -154,7 +153,7 @@ impl serde::Serialize for Channel { } impl<'de> serde::Deserialize<'de> for Channel { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -176,7 +175,7 @@ impl<'de> serde::Deserialize<'de> for Channel { Version, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -185,12 +184,12 @@ impl<'de> serde::Deserialize<'de> for Channel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -211,11 +210,11 @@ impl<'de> serde::Deserialize<'de> for Channel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Channel; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.Channel") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -224,37 +223,37 @@ impl<'de> serde::Deserialize<'de> for Channel { let mut counterparty__ = None; let mut connection_hops__ = None; let mut version__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::State => { if state__.is_some() { return Err(serde::de::Error::duplicate_field("state")); } - state__ = Some(map_.next_value::()? as i32); + state__ = Some(map.next_value::()? as i32); } GeneratedField::Ordering => { if ordering__.is_some() { return Err(serde::de::Error::duplicate_field("ordering")); } - ordering__ = Some(map_.next_value::()? as i32); + ordering__ = Some(map.next_value::()? as i32); } GeneratedField::Counterparty => { if counterparty__.is_some() { return Err(serde::de::Error::duplicate_field("counterparty")); } - counterparty__ = map_.next_value()?; + counterparty__ = map.next_value()?; } GeneratedField::ConnectionHops => { if connection_hops__.is_some() { return Err(serde::de::Error::duplicate_field("connectionHops")); } - connection_hops__ = Some(map_.next_value()?); + connection_hops__ = Some(map.next_value()?); } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = Some(map_.next_value()?); + version__ = Some(map.next_value()?); } } } @@ -272,7 +271,7 @@ impl<'de> serde::Deserialize<'de> for Channel { } impl serde::Serialize for Counterparty { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -296,7 +295,7 @@ impl serde::Serialize for Counterparty { } impl<'de> serde::Deserialize<'de> for Counterparty { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -313,7 +312,7 @@ impl<'de> serde::Deserialize<'de> for Counterparty { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -322,12 +321,12 @@ impl<'de> serde::Deserialize<'de> for Counterparty { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -345,29 +344,29 @@ impl<'de> serde::Deserialize<'de> for Counterparty { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Counterparty; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.Counterparty") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -382,7 +381,7 @@ impl<'de> serde::Deserialize<'de> for Counterparty { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -435,15 +434,14 @@ impl serde::Serialize for GenesisState { struct_ser.serialize_field("ackSequences", &self.ack_sequences)?; } if self.next_channel_sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextChannelSequence", ToString::to_string(&self.next_channel_sequence).as_str())?; + struct_ser.serialize_field("nextChannelSequence", ::alloc::string::ToString::to_string(&self.next_channel_sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -474,7 +472,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { NextChannelSequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -483,12 +481,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -512,11 +510,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -528,56 +526,56 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut recv_sequences__ = None; let mut ack_sequences__ = None; let mut next_channel_sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Channels => { if channels__.is_some() { return Err(serde::de::Error::duplicate_field("channels")); } - channels__ = Some(map_.next_value()?); + channels__ = Some(map.next_value()?); } GeneratedField::Acknowledgements => { if acknowledgements__.is_some() { return Err(serde::de::Error::duplicate_field("acknowledgements")); } - acknowledgements__ = Some(map_.next_value()?); + acknowledgements__ = Some(map.next_value()?); } GeneratedField::Commitments => { if commitments__.is_some() { return Err(serde::de::Error::duplicate_field("commitments")); } - commitments__ = Some(map_.next_value()?); + commitments__ = Some(map.next_value()?); } GeneratedField::Receipts => { if receipts__.is_some() { return Err(serde::de::Error::duplicate_field("receipts")); } - receipts__ = Some(map_.next_value()?); + receipts__ = Some(map.next_value()?); } GeneratedField::SendSequences => { if send_sequences__.is_some() { return Err(serde::de::Error::duplicate_field("sendSequences")); } - send_sequences__ = Some(map_.next_value()?); + send_sequences__ = Some(map.next_value()?); } GeneratedField::RecvSequences => { if recv_sequences__.is_some() { return Err(serde::de::Error::duplicate_field("recvSequences")); } - recv_sequences__ = Some(map_.next_value()?); + recv_sequences__ = Some(map.next_value()?); } GeneratedField::AckSequences => { if ack_sequences__.is_some() { return Err(serde::de::Error::duplicate_field("ackSequences")); } - ack_sequences__ = Some(map_.next_value()?); + ack_sequences__ = Some(map.next_value()?); } GeneratedField::NextChannelSequence => { if next_channel_sequence__.is_some() { return Err(serde::de::Error::duplicate_field("nextChannelSequence")); } next_channel_sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -599,7 +597,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for IdentifiedChannel { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -628,13 +626,13 @@ impl serde::Serialize for IdentifiedChannel { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.IdentifiedChannel", len)?; if self.state != 0 { - let v = State::try_from(self.state) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + let v = State::from_i32(self.state) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; } if self.ordering != 0 { - let v = Order::try_from(self.ordering) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.ordering)))?; + let v = Order::from_i32(self.ordering) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.ordering)))?; struct_ser.serialize_field("ordering", &v)?; } if let Some(v) = self.counterparty.as_ref() { @@ -657,7 +655,7 @@ impl serde::Serialize for IdentifiedChannel { } impl<'de> serde::Deserialize<'de> for IdentifiedChannel { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -685,7 +683,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedChannel { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -694,12 +692,12 @@ impl<'de> serde::Deserialize<'de> for IdentifiedChannel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -722,11 +720,11 @@ impl<'de> serde::Deserialize<'de> for IdentifiedChannel { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IdentifiedChannel; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.IdentifiedChannel") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -737,49 +735,49 @@ impl<'de> serde::Deserialize<'de> for IdentifiedChannel { let mut version__ = None; let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::State => { if state__.is_some() { return Err(serde::de::Error::duplicate_field("state")); } - state__ = Some(map_.next_value::()? as i32); + state__ = Some(map.next_value::()? as i32); } GeneratedField::Ordering => { if ordering__.is_some() { return Err(serde::de::Error::duplicate_field("ordering")); } - ordering__ = Some(map_.next_value::()? as i32); + ordering__ = Some(map.next_value::()? as i32); } GeneratedField::Counterparty => { if counterparty__.is_some() { return Err(serde::de::Error::duplicate_field("counterparty")); } - counterparty__ = map_.next_value()?; + counterparty__ = map.next_value()?; } GeneratedField::ConnectionHops => { if connection_hops__.is_some() { return Err(serde::de::Error::duplicate_field("connectionHops")); } - connection_hops__ = Some(map_.next_value()?); + connection_hops__ = Some(map.next_value()?); } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = Some(map_.next_value()?); + version__ = Some(map.next_value()?); } GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -799,7 +797,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedChannel { } impl serde::Serialize for MsgAcknowledgement { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -825,11 +823,9 @@ impl serde::Serialize for MsgAcknowledgement { struct_ser.serialize_field("packet", v)?; } if !self.acknowledgement.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; } if !self.proof_acked.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofAcked", pbjson::private::base64::encode(&self.proof_acked).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -843,7 +839,7 @@ impl serde::Serialize for MsgAcknowledgement { } impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -866,7 +862,7 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -875,12 +871,12 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -901,11 +897,11 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgAcknowledgement; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgAcknowledgement") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -914,20 +910,20 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { let mut proof_acked__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Packet => { if packet__.is_some() { return Err(serde::de::Error::duplicate_field("packet")); } - packet__ = map_.next_value()?; + packet__ = map.next_value()?; } GeneratedField::Acknowledgement => { if acknowledgement__.is_some() { return Err(serde::de::Error::duplicate_field("acknowledgement")); } acknowledgement__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofAcked => { @@ -935,20 +931,20 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { return Err(serde::de::Error::duplicate_field("proofAcked")); } proof_acked__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -966,7 +962,7 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgement { } impl serde::Serialize for MsgAcknowledgementResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -977,8 +973,8 @@ impl serde::Serialize for MsgAcknowledgementResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgAcknowledgementResponse", len)?; if self.result != 0 { - let v = ResponseResultType::try_from(self.result) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + let v = ResponseResultType::from_i32(self.result) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; } struct_ser.end() @@ -986,7 +982,7 @@ impl serde::Serialize for MsgAcknowledgementResponse { } impl<'de> serde::Deserialize<'de> for MsgAcknowledgementResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -999,7 +995,7 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgementResponse { Result, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1008,12 +1004,12 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgementResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1030,22 +1026,22 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgementResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgAcknowledgementResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgAcknowledgementResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut result__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Result => { if result__.is_some() { return Err(serde::de::Error::duplicate_field("result")); } - result__ = Some(map_.next_value::()? as i32); + result__ = Some(map.next_value::()? as i32); } } } @@ -1059,7 +1055,7 @@ impl<'de> serde::Deserialize<'de> for MsgAcknowledgementResponse { } impl serde::Serialize for MsgChannelCloseConfirm { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1088,7 +1084,6 @@ impl serde::Serialize for MsgChannelCloseConfirm { struct_ser.serialize_field("channelId", &self.channel_id)?; } if !self.proof_init.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -1102,7 +1097,7 @@ impl serde::Serialize for MsgChannelCloseConfirm { } impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1127,7 +1122,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1136,12 +1131,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1162,11 +1157,11 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelCloseConfirm; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseConfirm") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1175,39 +1170,39 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { let mut proof_init__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::ProofInit => { if proof_init__.is_some() { return Err(serde::de::Error::duplicate_field("proofInit")); } proof_init__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1225,7 +1220,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirm { } impl serde::Serialize for MsgChannelCloseConfirmResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1237,7 +1232,7 @@ impl serde::Serialize for MsgChannelCloseConfirmResponse { } impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirmResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1248,7 +1243,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirmResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1257,12 +1252,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirmResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1276,16 +1271,16 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirmResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelCloseConfirmResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseConfirmResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgChannelCloseConfirmResponse { }) @@ -1296,7 +1291,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseConfirmResponse { } impl serde::Serialize for MsgChannelCloseInit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1326,7 +1321,7 @@ impl serde::Serialize for MsgChannelCloseInit { } impl<'de> serde::Deserialize<'de> for MsgChannelCloseInit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1345,7 +1340,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInit { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1354,12 +1349,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1378,36 +1373,36 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelCloseInit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseInit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1423,7 +1418,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInit { } impl serde::Serialize for MsgChannelCloseInitResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1435,7 +1430,7 @@ impl serde::Serialize for MsgChannelCloseInitResponse { } impl<'de> serde::Deserialize<'de> for MsgChannelCloseInitResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1446,7 +1441,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInitResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1455,12 +1450,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInitResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1474,16 +1469,16 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInitResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelCloseInitResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelCloseInitResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgChannelCloseInitResponse { }) @@ -1494,7 +1489,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelCloseInitResponse { } impl serde::Serialize for MsgChannelOpenAck { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1535,7 +1530,6 @@ impl serde::Serialize for MsgChannelOpenAck { struct_ser.serialize_field("counterpartyVersion", &self.counterparty_version)?; } if !self.proof_try.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofTry", pbjson::private::base64::encode(&self.proof_try).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -1549,7 +1543,7 @@ impl serde::Serialize for MsgChannelOpenAck { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1580,7 +1574,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1589,12 +1583,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1617,11 +1611,11 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenAck; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenAck") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1632,51 +1626,51 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { let mut proof_try__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::CounterpartyChannelId => { if counterparty_channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyChannelId")); } - counterparty_channel_id__ = Some(map_.next_value()?); + counterparty_channel_id__ = Some(map.next_value()?); } GeneratedField::CounterpartyVersion => { if counterparty_version__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyVersion")); } - counterparty_version__ = Some(map_.next_value()?); + counterparty_version__ = Some(map.next_value()?); } GeneratedField::ProofTry => { if proof_try__.is_some() { return Err(serde::de::Error::duplicate_field("proofTry")); } proof_try__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1696,7 +1690,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAck { } impl serde::Serialize for MsgChannelOpenAckResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1708,7 +1702,7 @@ impl serde::Serialize for MsgChannelOpenAckResponse { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenAckResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1719,7 +1713,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAckResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1728,12 +1722,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAckResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1747,16 +1741,16 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAckResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenAckResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenAckResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgChannelOpenAckResponse { }) @@ -1767,7 +1761,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenAckResponse { } impl serde::Serialize for MsgChannelOpenConfirm { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1796,7 +1790,6 @@ impl serde::Serialize for MsgChannelOpenConfirm { struct_ser.serialize_field("channelId", &self.channel_id)?; } if !self.proof_ack.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofAck", pbjson::private::base64::encode(&self.proof_ack).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -1810,7 +1803,7 @@ impl serde::Serialize for MsgChannelOpenConfirm { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1835,7 +1828,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1844,12 +1837,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1870,11 +1863,11 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenConfirm; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenConfirm") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1883,39 +1876,39 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { let mut proof_ack__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::ProofAck => { if proof_ack__.is_some() { return Err(serde::de::Error::duplicate_field("proofAck")); } proof_ack__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1933,7 +1926,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirm { } impl serde::Serialize for MsgChannelOpenConfirmResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1945,7 +1938,7 @@ impl serde::Serialize for MsgChannelOpenConfirmResponse { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirmResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1956,7 +1949,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirmResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1965,12 +1958,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirmResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1984,16 +1977,16 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirmResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenConfirmResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenConfirmResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgChannelOpenConfirmResponse { }) @@ -2004,7 +1997,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenConfirmResponse { } impl serde::Serialize for MsgChannelOpenInit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2034,7 +2027,7 @@ impl serde::Serialize for MsgChannelOpenInit { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenInit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2052,7 +2045,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInit { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2061,12 +2054,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2085,36 +2078,36 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenInit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenInit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::Channel => { if channel__.is_some() { return Err(serde::de::Error::duplicate_field("channel")); } - channel__ = map_.next_value()?; + channel__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -2130,7 +2123,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInit { } impl serde::Serialize for MsgChannelOpenInitResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2154,7 +2147,7 @@ impl serde::Serialize for MsgChannelOpenInitResponse { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenInitResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2170,7 +2163,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInitResponse { Version, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2179,12 +2172,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInitResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2202,29 +2195,29 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInitResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenInitResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenInitResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel_id__ = None; let mut version__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = Some(map_.next_value()?); + version__ = Some(map.next_value()?); } } } @@ -2239,7 +2232,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenInitResponse { } impl serde::Serialize for MsgChannelOpenTry { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2280,7 +2273,6 @@ impl serde::Serialize for MsgChannelOpenTry { struct_ser.serialize_field("counterpartyVersion", &self.counterparty_version)?; } if !self.proof_init.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2294,7 +2286,7 @@ impl serde::Serialize for MsgChannelOpenTry { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2324,7 +2316,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2333,12 +2325,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2361,11 +2353,11 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenTry; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenTry") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2376,51 +2368,51 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { let mut proof_init__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::PreviousChannelId => { if previous_channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("previousChannelId")); } - previous_channel_id__ = Some(map_.next_value()?); + previous_channel_id__ = Some(map.next_value()?); } GeneratedField::Channel => { if channel__.is_some() { return Err(serde::de::Error::duplicate_field("channel")); } - channel__ = map_.next_value()?; + channel__ = map.next_value()?; } GeneratedField::CounterpartyVersion => { if counterparty_version__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyVersion")); } - counterparty_version__ = Some(map_.next_value()?); + counterparty_version__ = Some(map.next_value()?); } GeneratedField::ProofInit => { if proof_init__.is_some() { return Err(serde::de::Error::duplicate_field("proofInit")); } proof_init__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -2440,7 +2432,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTry { } impl serde::Serialize for MsgChannelOpenTryResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2464,7 +2456,7 @@ impl serde::Serialize for MsgChannelOpenTryResponse { } impl<'de> serde::Deserialize<'de> for MsgChannelOpenTryResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2480,7 +2472,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTryResponse { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2489,12 +2481,12 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTryResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2512,29 +2504,29 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTryResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgChannelOpenTryResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgChannelOpenTryResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut version__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = Some(map_.next_value()?); + version__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -2549,7 +2541,7 @@ impl<'de> serde::Deserialize<'de> for MsgChannelOpenTryResponse { } impl serde::Serialize for MsgRecvPacket { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2572,7 +2564,6 @@ impl serde::Serialize for MsgRecvPacket { struct_ser.serialize_field("packet", v)?; } if !self.proof_commitment.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofCommitment", pbjson::private::base64::encode(&self.proof_commitment).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2586,7 +2577,7 @@ impl serde::Serialize for MsgRecvPacket { } impl<'de> serde::Deserialize<'de> for MsgRecvPacket { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2607,7 +2598,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacket { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2616,12 +2607,12 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacket { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2641,11 +2632,11 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacket { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRecvPacket; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgRecvPacket") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2653,33 +2644,33 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacket { let mut proof_commitment__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Packet => { if packet__.is_some() { return Err(serde::de::Error::duplicate_field("packet")); } - packet__ = map_.next_value()?; + packet__ = map.next_value()?; } GeneratedField::ProofCommitment => { if proof_commitment__.is_some() { return Err(serde::de::Error::duplicate_field("proofCommitment")); } proof_commitment__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -2696,7 +2687,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacket { } impl serde::Serialize for MsgRecvPacketResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2707,8 +2698,8 @@ impl serde::Serialize for MsgRecvPacketResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgRecvPacketResponse", len)?; if self.result != 0 { - let v = ResponseResultType::try_from(self.result) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + let v = ResponseResultType::from_i32(self.result) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; } struct_ser.end() @@ -2716,7 +2707,7 @@ impl serde::Serialize for MsgRecvPacketResponse { } impl<'de> serde::Deserialize<'de> for MsgRecvPacketResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2729,7 +2720,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacketResponse { Result, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2738,12 +2729,12 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacketResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2760,22 +2751,22 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacketResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRecvPacketResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgRecvPacketResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut result__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Result => { if result__.is_some() { return Err(serde::de::Error::duplicate_field("result")); } - result__ = Some(map_.next_value::()? as i32); + result__ = Some(map.next_value::()? as i32); } } } @@ -2789,7 +2780,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecvPacketResponse { } impl serde::Serialize for MsgTimeout { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2815,15 +2806,13 @@ impl serde::Serialize for MsgTimeout { struct_ser.serialize_field("packet", v)?; } if !self.proof_unreceived.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofUnreceived", pbjson::private::base64::encode(&self.proof_unreceived).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } if self.next_sequence_recv != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextSequenceRecv", ToString::to_string(&self.next_sequence_recv).as_str())?; + struct_ser.serialize_field("nextSequenceRecv", ::alloc::string::ToString::to_string(&self.next_sequence_recv).as_str())?; } if !self.signer.is_empty() { struct_ser.serialize_field("signer", &self.signer)?; @@ -2833,7 +2822,7 @@ impl serde::Serialize for MsgTimeout { } impl<'de> serde::Deserialize<'de> for MsgTimeout { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2857,7 +2846,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeout { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2866,12 +2855,12 @@ impl<'de> serde::Deserialize<'de> for MsgTimeout { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2892,11 +2881,11 @@ impl<'de> serde::Deserialize<'de> for MsgTimeout { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgTimeout; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgTimeout") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2905,41 +2894,41 @@ impl<'de> serde::Deserialize<'de> for MsgTimeout { let mut proof_height__ = None; let mut next_sequence_recv__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Packet => { if packet__.is_some() { return Err(serde::de::Error::duplicate_field("packet")); } - packet__ = map_.next_value()?; + packet__ = map.next_value()?; } GeneratedField::ProofUnreceived => { if proof_unreceived__.is_some() { return Err(serde::de::Error::duplicate_field("proofUnreceived")); } proof_unreceived__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::NextSequenceRecv => { if next_sequence_recv__.is_some() { return Err(serde::de::Error::duplicate_field("nextSequenceRecv")); } next_sequence_recv__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -2957,7 +2946,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeout { } impl serde::Serialize for MsgTimeoutOnClose { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2986,19 +2975,16 @@ impl serde::Serialize for MsgTimeoutOnClose { struct_ser.serialize_field("packet", v)?; } if !self.proof_unreceived.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofUnreceived", pbjson::private::base64::encode(&self.proof_unreceived).as_str())?; } if !self.proof_close.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofClose", pbjson::private::base64::encode(&self.proof_close).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } if self.next_sequence_recv != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextSequenceRecv", ToString::to_string(&self.next_sequence_recv).as_str())?; + struct_ser.serialize_field("nextSequenceRecv", ::alloc::string::ToString::to_string(&self.next_sequence_recv).as_str())?; } if !self.signer.is_empty() { struct_ser.serialize_field("signer", &self.signer)?; @@ -3008,7 +2994,7 @@ impl serde::Serialize for MsgTimeoutOnClose { } impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3035,7 +3021,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3044,12 +3030,12 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3071,11 +3057,11 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgTimeoutOnClose; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgTimeoutOnClose") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3085,20 +3071,20 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { let mut proof_height__ = None; let mut next_sequence_recv__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Packet => { if packet__.is_some() { return Err(serde::de::Error::duplicate_field("packet")); } - packet__ = map_.next_value()?; + packet__ = map.next_value()?; } GeneratedField::ProofUnreceived => { if proof_unreceived__.is_some() { return Err(serde::de::Error::duplicate_field("proofUnreceived")); } proof_unreceived__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofClose => { @@ -3106,28 +3092,28 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { return Err(serde::de::Error::duplicate_field("proofClose")); } proof_close__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::NextSequenceRecv => { if next_sequence_recv__.is_some() { return Err(serde::de::Error::duplicate_field("nextSequenceRecv")); } next_sequence_recv__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -3146,7 +3132,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnClose { } impl serde::Serialize for MsgTimeoutOnCloseResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3157,8 +3143,8 @@ impl serde::Serialize for MsgTimeoutOnCloseResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutOnCloseResponse", len)?; if self.result != 0 { - let v = ResponseResultType::try_from(self.result) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + let v = ResponseResultType::from_i32(self.result) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; } struct_ser.end() @@ -3166,7 +3152,7 @@ impl serde::Serialize for MsgTimeoutOnCloseResponse { } impl<'de> serde::Deserialize<'de> for MsgTimeoutOnCloseResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3179,7 +3165,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnCloseResponse { Result, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3188,12 +3174,12 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnCloseResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3210,22 +3196,22 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnCloseResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgTimeoutOnCloseResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgTimeoutOnCloseResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut result__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Result => { if result__.is_some() { return Err(serde::de::Error::duplicate_field("result")); } - result__ = Some(map_.next_value::()? as i32); + result__ = Some(map.next_value::()? as i32); } } } @@ -3239,7 +3225,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutOnCloseResponse { } impl serde::Serialize for MsgTimeoutResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3250,8 +3236,8 @@ impl serde::Serialize for MsgTimeoutResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutResponse", len)?; if self.result != 0 { - let v = ResponseResultType::try_from(self.result) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.result)))?; + let v = ResponseResultType::from_i32(self.result) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; } struct_ser.end() @@ -3259,7 +3245,7 @@ impl serde::Serialize for MsgTimeoutResponse { } impl<'de> serde::Deserialize<'de> for MsgTimeoutResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3272,7 +3258,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutResponse { Result, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3281,12 +3267,12 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3303,22 +3289,22 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgTimeoutResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.MsgTimeoutResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut result__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Result => { if result__.is_some() { return Err(serde::de::Error::duplicate_field("result")); } - result__ = Some(map_.next_value::()? as i32); + result__ = Some(map.next_value::()? as i32); } } } @@ -3332,7 +3318,7 @@ impl<'de> serde::Deserialize<'de> for MsgTimeoutResponse { } impl serde::Serialize for Order { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3346,7 +3332,7 @@ impl serde::Serialize for Order { } impl<'de> serde::Deserialize<'de> for Order { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3361,35 +3347,37 @@ impl<'de> serde::Deserialize<'de> for Order { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Order; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(Order::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(Order::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3406,7 +3394,7 @@ impl<'de> serde::Deserialize<'de> for Order { } impl serde::Serialize for Packet { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3438,8 +3426,7 @@ impl serde::Serialize for Packet { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Packet", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if !self.source_port.is_empty() { struct_ser.serialize_field("sourcePort", &self.source_port)?; @@ -3454,22 +3441,20 @@ impl serde::Serialize for Packet { struct_ser.serialize_field("destinationChannel", &self.destination_channel)?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } if let Some(v) = self.timeout_height.as_ref() { struct_ser.serialize_field("timeoutHeight", v)?; } if self.timeout_timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timeoutTimestamp", ToString::to_string(&self.timeout_timestamp).as_str())?; + struct_ser.serialize_field("timeoutTimestamp", ::alloc::string::ToString::to_string(&self.timeout_timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Packet { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3502,7 +3487,7 @@ impl<'de> serde::Deserialize<'de> for Packet { TimeoutTimestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3511,12 +3496,12 @@ impl<'de> serde::Deserialize<'de> for Packet { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3540,11 +3525,11 @@ impl<'de> serde::Deserialize<'de> for Packet { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Packet; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.Packet") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3556,60 +3541,60 @@ impl<'de> serde::Deserialize<'de> for Packet { let mut data__ = None; let mut timeout_height__ = None; let mut timeout_timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::SourcePort => { if source_port__.is_some() { return Err(serde::de::Error::duplicate_field("sourcePort")); } - source_port__ = Some(map_.next_value()?); + source_port__ = Some(map.next_value()?); } GeneratedField::SourceChannel => { if source_channel__.is_some() { return Err(serde::de::Error::duplicate_field("sourceChannel")); } - source_channel__ = Some(map_.next_value()?); + source_channel__ = Some(map.next_value()?); } GeneratedField::DestinationPort => { if destination_port__.is_some() { return Err(serde::de::Error::duplicate_field("destinationPort")); } - destination_port__ = Some(map_.next_value()?); + destination_port__ = Some(map.next_value()?); } GeneratedField::DestinationChannel => { if destination_channel__.is_some() { return Err(serde::de::Error::duplicate_field("destinationChannel")); } - destination_channel__ = Some(map_.next_value()?); + destination_channel__ = Some(map.next_value()?); } GeneratedField::Data => { if data__.is_some() { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::TimeoutHeight => { if timeout_height__.is_some() { return Err(serde::de::Error::duplicate_field("timeoutHeight")); } - timeout_height__ = map_.next_value()?; + timeout_height__ = map.next_value()?; } GeneratedField::TimeoutTimestamp => { if timeout_timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timeoutTimestamp")); } timeout_timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -3631,7 +3616,7 @@ impl<'de> serde::Deserialize<'de> for Packet { } impl serde::Serialize for PacketId { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3654,15 +3639,14 @@ impl serde::Serialize for PacketId { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for PacketId { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3681,7 +3665,7 @@ impl<'de> serde::Deserialize<'de> for PacketId { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3690,12 +3674,12 @@ impl<'de> serde::Deserialize<'de> for PacketId { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3714,37 +3698,37 @@ impl<'de> serde::Deserialize<'de> for PacketId { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketId; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.PacketId") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -3761,7 +3745,7 @@ impl<'de> serde::Deserialize<'de> for PacketId { } impl serde::Serialize for PacketSequence { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3784,15 +3768,14 @@ impl serde::Serialize for PacketSequence { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for PacketSequence { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3811,7 +3794,7 @@ impl<'de> serde::Deserialize<'de> for PacketSequence { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3820,12 +3803,12 @@ impl<'de> serde::Deserialize<'de> for PacketSequence { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3844,37 +3827,37 @@ impl<'de> serde::Deserialize<'de> for PacketSequence { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketSequence; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.PacketSequence") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -3891,7 +3874,7 @@ impl<'de> serde::Deserialize<'de> for PacketSequence { } impl serde::Serialize for PacketState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3917,11 +3900,9 @@ impl serde::Serialize for PacketState { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } struct_ser.end() @@ -3929,7 +3910,7 @@ impl serde::Serialize for PacketState { } impl<'de> serde::Deserialize<'de> for PacketState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3950,7 +3931,7 @@ impl<'de> serde::Deserialize<'de> for PacketState { Data, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3959,12 +3940,12 @@ impl<'de> serde::Deserialize<'de> for PacketState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3984,11 +3965,11 @@ impl<'de> serde::Deserialize<'de> for PacketState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.PacketState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3996,26 +3977,26 @@ impl<'de> serde::Deserialize<'de> for PacketState { let mut channel_id__ = None; let mut sequence__ = None; let mut data__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Data => { @@ -4023,7 +4004,7 @@ impl<'de> serde::Deserialize<'de> for PacketState { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -4041,7 +4022,7 @@ impl<'de> serde::Deserialize<'de> for PacketState { } impl serde::Serialize for QueryChannelClientStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4065,7 +4046,7 @@ impl serde::Serialize for QueryChannelClientStateRequest { } impl<'de> serde::Deserialize<'de> for QueryChannelClientStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4082,7 +4063,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateRequest { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4091,12 +4072,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4114,29 +4095,29 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelClientStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelClientStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -4151,7 +4132,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateRequest { } impl serde::Serialize for QueryChannelClientStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4171,7 +4152,6 @@ impl serde::Serialize for QueryChannelClientStateResponse { struct_ser.serialize_field("identifiedClientState", v)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -4182,7 +4162,7 @@ impl serde::Serialize for QueryChannelClientStateResponse { } impl<'de> serde::Deserialize<'de> for QueryChannelClientStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4201,7 +4181,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4210,12 +4190,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4234,38 +4214,38 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelClientStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelClientStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut identified_client_state__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::IdentifiedClientState => { if identified_client_state__.is_some() { return Err(serde::de::Error::duplicate_field("identifiedClientState")); } - identified_client_state__ = map_.next_value()?; + identified_client_state__ = map.next_value()?; } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -4281,7 +4261,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelClientStateResponse { } impl serde::Serialize for QueryChannelConsensusStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4307,19 +4287,17 @@ impl serde::Serialize for QueryChannelConsensusStateRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.revision_number != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } if self.revision_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4342,7 +4320,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { RevisionHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4351,12 +4329,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4376,11 +4354,11 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelConsensusStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelConsensusStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4388,26 +4366,26 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { let mut channel_id__ = None; let mut revision_number__ = None; let mut revision_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::RevisionNumber => { if revision_number__.is_some() { return Err(serde::de::Error::duplicate_field("revisionNumber")); } revision_number__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::RevisionHeight => { @@ -4415,7 +4393,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { return Err(serde::de::Error::duplicate_field("revisionHeight")); } revision_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -4433,7 +4411,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateRequest { } impl serde::Serialize for QueryChannelConsensusStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4459,7 +4437,6 @@ impl serde::Serialize for QueryChannelConsensusStateResponse { struct_ser.serialize_field("clientId", &self.client_id)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -4470,7 +4447,7 @@ impl serde::Serialize for QueryChannelConsensusStateResponse { } impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4492,7 +4469,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4501,12 +4478,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4526,11 +4503,11 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelConsensusStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelConsensusStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4538,33 +4515,33 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { let mut client_id__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -4581,7 +4558,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelConsensusStateResponse { } impl serde::Serialize for QueryChannelRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4605,7 +4582,7 @@ impl serde::Serialize for QueryChannelRequest { } impl<'de> serde::Deserialize<'de> for QueryChannelRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4622,7 +4599,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelRequest { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4631,12 +4608,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4654,29 +4631,29 @@ impl<'de> serde::Deserialize<'de> for QueryChannelRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -4691,7 +4668,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelRequest { } impl serde::Serialize for QueryChannelResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4711,7 +4688,6 @@ impl serde::Serialize for QueryChannelResponse { struct_ser.serialize_field("channel", v)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -4722,7 +4698,7 @@ impl serde::Serialize for QueryChannelResponse { } impl<'de> serde::Deserialize<'de> for QueryChannelResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4740,7 +4716,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4749,12 +4725,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4773,38 +4749,38 @@ impl<'de> serde::Deserialize<'de> for QueryChannelResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channel__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Channel => { if channel__.is_some() { return Err(serde::de::Error::duplicate_field("channel")); } - channel__ = map_.next_value()?; + channel__ = map.next_value()?; } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -4820,7 +4796,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelResponse { } impl serde::Serialize for QueryChannelsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4838,7 +4814,7 @@ impl serde::Serialize for QueryChannelsRequest { } impl<'de> serde::Deserialize<'de> for QueryChannelsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4851,7 +4827,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4860,12 +4836,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4882,22 +4858,22 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -4911,7 +4887,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsRequest { } impl serde::Serialize for QueryChannelsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4941,7 +4917,7 @@ impl serde::Serialize for QueryChannelsResponse { } impl<'de> serde::Deserialize<'de> for QueryChannelsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4958,7 +4934,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4967,12 +4943,12 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4991,36 +4967,36 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryChannelsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryChannelsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channels__ = None; let mut pagination__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Channels => { if channels__.is_some() { return Err(serde::de::Error::duplicate_field("channels")); } - channels__ = Some(map_.next_value()?); + channels__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -5036,7 +5012,7 @@ impl<'de> serde::Deserialize<'de> for QueryChannelsResponse { } impl serde::Serialize for QueryConnectionChannelsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5060,7 +5036,7 @@ impl serde::Serialize for QueryConnectionChannelsRequest { } impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5075,7 +5051,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5084,12 +5060,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5107,29 +5083,29 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionChannelsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryConnectionChannelsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Connection => { if connection__.is_some() { return Err(serde::de::Error::duplicate_field("connection")); } - connection__ = Some(map_.next_value()?); + connection__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -5144,7 +5120,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsRequest { } impl serde::Serialize for QueryConnectionChannelsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5174,7 +5150,7 @@ impl serde::Serialize for QueryConnectionChannelsResponse { } impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5191,7 +5167,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5200,12 +5176,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5224,36 +5200,36 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionChannelsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryConnectionChannelsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut channels__ = None; let mut pagination__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Channels => { if channels__.is_some() { return Err(serde::de::Error::duplicate_field("channels")); } - channels__ = Some(map_.next_value()?); + channels__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -5269,7 +5245,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionChannelsResponse { } impl serde::Serialize for QueryNextSequenceReceiveRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5293,7 +5269,7 @@ impl serde::Serialize for QueryNextSequenceReceiveRequest { } impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5310,7 +5286,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveRequest { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5319,12 +5295,12 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5342,29 +5318,29 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryNextSequenceReceiveRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceReceiveRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -5379,7 +5355,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveRequest { } impl serde::Serialize for QueryNextSequenceReceiveResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5396,11 +5372,9 @@ impl serde::Serialize for QueryNextSequenceReceiveResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveResponse", len)?; if self.next_sequence_receive != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextSequenceReceive", ToString::to_string(&self.next_sequence_receive).as_str())?; + struct_ser.serialize_field("nextSequenceReceive", ::alloc::string::ToString::to_string(&self.next_sequence_receive).as_str())?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -5411,7 +5385,7 @@ impl serde::Serialize for QueryNextSequenceReceiveResponse { } impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5430,7 +5404,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5439,12 +5413,12 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5463,25 +5437,25 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryNextSequenceReceiveResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceReceiveResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut next_sequence_receive__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NextSequenceReceive => { if next_sequence_receive__.is_some() { return Err(serde::de::Error::duplicate_field("nextSequenceReceive")); } next_sequence_receive__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Proof => { @@ -5489,14 +5463,14 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -5512,7 +5486,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceReceiveResponse { } impl serde::Serialize for QueryNextSequenceSendRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5536,7 +5510,7 @@ impl serde::Serialize for QueryNextSequenceSendRequest { } impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5553,7 +5527,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendRequest { ChannelId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5562,12 +5536,12 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5585,29 +5559,29 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryNextSequenceSendRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceSendRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } } } @@ -5622,7 +5596,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendRequest { } impl serde::Serialize for QueryNextSequenceSendResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5639,11 +5613,9 @@ impl serde::Serialize for QueryNextSequenceSendResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceSendResponse", len)?; if self.next_sequence_send != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextSequenceSend", ToString::to_string(&self.next_sequence_send).as_str())?; + struct_ser.serialize_field("nextSequenceSend", ::alloc::string::ToString::to_string(&self.next_sequence_send).as_str())?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -5654,7 +5626,7 @@ impl serde::Serialize for QueryNextSequenceSendResponse { } impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5673,7 +5645,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5682,12 +5654,12 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5706,25 +5678,25 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryNextSequenceSendResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryNextSequenceSendResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut next_sequence_send__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NextSequenceSend => { if next_sequence_send__.is_some() { return Err(serde::de::Error::duplicate_field("nextSequenceSend")); } next_sequence_send__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Proof => { @@ -5732,14 +5704,14 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -5755,7 +5727,7 @@ impl<'de> serde::Deserialize<'de> for QueryNextSequenceSendResponse { } impl serde::Serialize for QueryPacketAcknowledgementRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5778,15 +5750,14 @@ impl serde::Serialize for QueryPacketAcknowledgementRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5805,7 +5776,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementRequest { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5814,12 +5785,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5838,37 +5809,37 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketAcknowledgementRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -5885,7 +5856,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementRequest { } impl serde::Serialize for QueryPacketAcknowledgementResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -5902,11 +5873,9 @@ impl serde::Serialize for QueryPacketAcknowledgementResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementResponse", len)?; if !self.acknowledgement.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -5917,7 +5886,7 @@ impl serde::Serialize for QueryPacketAcknowledgementResponse { } impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5935,7 +5904,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -5944,12 +5913,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -5968,25 +5937,25 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketAcknowledgementResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut acknowledgement__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Acknowledgement => { if acknowledgement__.is_some() { return Err(serde::de::Error::duplicate_field("acknowledgement")); } acknowledgement__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Proof => { @@ -5994,14 +5963,14 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -6017,7 +5986,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementResponse { } impl serde::Serialize for QueryPacketAcknowledgementsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6046,14 +6015,14 @@ impl serde::Serialize for QueryPacketAcknowledgementsRequest { struct_ser.serialize_field("pagination", v)?; } if !self.packet_commitment_sequences.is_empty() { - struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(ToString::to_string).collect::>())?; + struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6075,7 +6044,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { PacketCommitmentSequences, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6084,12 +6053,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6109,11 +6078,11 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketAcknowledgementsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -6121,32 +6090,32 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { let mut channel_id__ = None; let mut pagination__ = None; let mut packet_commitment_sequences__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::PacketCommitmentSequences => { if packet_commitment_sequences__.is_some() { return Err(serde::de::Error::duplicate_field("packetCommitmentSequences")); } packet_commitment_sequences__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -6165,7 +6134,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsRequest { } impl serde::Serialize for QueryPacketAcknowledgementsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6195,7 +6164,7 @@ impl serde::Serialize for QueryPacketAcknowledgementsResponse { } impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6212,7 +6181,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6221,12 +6190,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6245,36 +6214,36 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketAcknowledgementsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketAcknowledgementsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut acknowledgements__ = None; let mut pagination__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Acknowledgements => { if acknowledgements__.is_some() { return Err(serde::de::Error::duplicate_field("acknowledgements")); } - acknowledgements__ = Some(map_.next_value()?); + acknowledgements__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -6290,7 +6259,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketAcknowledgementsResponse { } impl serde::Serialize for QueryPacketCommitmentRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6313,15 +6282,14 @@ impl serde::Serialize for QueryPacketCommitmentRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6340,7 +6308,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentRequest { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6349,12 +6317,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6373,37 +6341,37 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketCommitmentRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -6420,7 +6388,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentRequest { } impl serde::Serialize for QueryPacketCommitmentResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6437,11 +6405,9 @@ impl serde::Serialize for QueryPacketCommitmentResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentResponse", len)?; if !self.commitment.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("commitment", pbjson::private::base64::encode(&self.commitment).as_str())?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -6452,7 +6418,7 @@ impl serde::Serialize for QueryPacketCommitmentResponse { } impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6470,7 +6436,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6479,12 +6445,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6503,25 +6469,25 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketCommitmentResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut commitment__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Commitment => { if commitment__.is_some() { return Err(serde::de::Error::duplicate_field("commitment")); } commitment__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Proof => { @@ -6529,14 +6495,14 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -6552,7 +6518,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentResponse { } impl serde::Serialize for QueryPacketCommitmentsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6582,7 +6548,7 @@ impl serde::Serialize for QueryPacketCommitmentsRequest { } impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6601,7 +6567,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6610,12 +6576,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6634,36 +6600,36 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketCommitmentsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -6679,7 +6645,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsRequest { } impl serde::Serialize for QueryPacketCommitmentsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6709,7 +6675,7 @@ impl serde::Serialize for QueryPacketCommitmentsResponse { } impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6726,7 +6692,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6735,12 +6701,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6759,36 +6725,36 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketCommitmentsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketCommitmentsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut commitments__ = None; let mut pagination__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Commitments => { if commitments__.is_some() { return Err(serde::de::Error::duplicate_field("commitments")); } - commitments__ = Some(map_.next_value()?); + commitments__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -6804,7 +6770,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketCommitmentsResponse { } impl serde::Serialize for QueryPacketReceiptRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6827,15 +6793,14 @@ impl serde::Serialize for QueryPacketReceiptRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryPacketReceiptRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6854,7 +6819,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptRequest { Sequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6863,12 +6828,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -6887,37 +6852,37 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketReceiptRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketReceiptRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -6934,7 +6899,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptRequest { } impl serde::Serialize for QueryPacketReceiptResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -6954,7 +6919,6 @@ impl serde::Serialize for QueryPacketReceiptResponse { struct_ser.serialize_field("received", &self.received)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -6965,7 +6929,7 @@ impl serde::Serialize for QueryPacketReceiptResponse { } impl<'de> serde::Deserialize<'de> for QueryPacketReceiptResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6983,7 +6947,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -6992,12 +6956,12 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7016,38 +6980,38 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryPacketReceiptResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryPacketReceiptResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut received__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Received => { if received__.is_some() { return Err(serde::de::Error::duplicate_field("received")); } - received__ = Some(map_.next_value()?); + received__ = Some(map.next_value()?); } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -7063,7 +7027,7 @@ impl<'de> serde::Deserialize<'de> for QueryPacketReceiptResponse { } impl serde::Serialize for QueryUnreceivedAcksRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7086,14 +7050,14 @@ impl serde::Serialize for QueryUnreceivedAcksRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if !self.packet_ack_sequences.is_empty() { - struct_ser.serialize_field("packetAckSequences", &self.packet_ack_sequences.iter().map(ToString::to_string).collect::>())?; + struct_ser.serialize_field("packetAckSequences", &self.packet_ack_sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7113,7 +7077,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksRequest { PacketAckSequences, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7122,12 +7086,12 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7146,37 +7110,37 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUnreceivedAcksRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedAcksRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut packet_ack_sequences__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::PacketAckSequences => { if packet_ack_sequences__.is_some() { return Err(serde::de::Error::duplicate_field("packetAckSequences")); } packet_ack_sequences__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -7194,7 +7158,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksRequest { } impl serde::Serialize for QueryUnreceivedAcksResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7208,7 +7172,7 @@ impl serde::Serialize for QueryUnreceivedAcksResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksResponse", len)?; if !self.sequences.is_empty() { - struct_ser.serialize_field("sequences", &self.sequences.iter().map(ToString::to_string).collect::>())?; + struct_ser.serialize_field("sequences", &self.sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } if let Some(v) = self.height.as_ref() { struct_ser.serialize_field("height", v)?; @@ -7218,7 +7182,7 @@ impl serde::Serialize for QueryUnreceivedAcksResponse { } impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7233,7 +7197,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7242,12 +7206,12 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7265,24 +7229,24 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUnreceivedAcksResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedAcksResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sequences__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequences => { if sequences__.is_some() { return Err(serde::de::Error::duplicate_field("sequences")); } sequences__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -7290,7 +7254,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -7305,7 +7269,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedAcksResponse { } impl serde::Serialize for QueryUnreceivedPacketsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7328,14 +7292,14 @@ impl serde::Serialize for QueryUnreceivedPacketsRequest { struct_ser.serialize_field("channelId", &self.channel_id)?; } if !self.packet_commitment_sequences.is_empty() { - struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(ToString::to_string).collect::>())?; + struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7355,7 +7319,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsRequest { PacketCommitmentSequences, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7364,12 +7328,12 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7388,37 +7352,37 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUnreceivedPacketsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedPacketsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut port_id__ = None; let mut channel_id__ = None; let mut packet_commitment_sequences__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PortId => { if port_id__.is_some() { return Err(serde::de::Error::duplicate_field("portId")); } - port_id__ = Some(map_.next_value()?); + port_id__ = Some(map.next_value()?); } GeneratedField::ChannelId => { if channel_id__.is_some() { return Err(serde::de::Error::duplicate_field("channelId")); } - channel_id__ = Some(map_.next_value()?); + channel_id__ = Some(map.next_value()?); } GeneratedField::PacketCommitmentSequences => { if packet_commitment_sequences__.is_some() { return Err(serde::de::Error::duplicate_field("packetCommitmentSequences")); } packet_commitment_sequences__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -7436,7 +7400,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsRequest { } impl serde::Serialize for QueryUnreceivedPacketsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7450,7 +7414,7 @@ impl serde::Serialize for QueryUnreceivedPacketsResponse { } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsResponse", len)?; if !self.sequences.is_empty() { - struct_ser.serialize_field("sequences", &self.sequences.iter().map(ToString::to_string).collect::>())?; + struct_ser.serialize_field("sequences", &self.sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } if let Some(v) = self.height.as_ref() { struct_ser.serialize_field("height", v)?; @@ -7460,7 +7424,7 @@ impl serde::Serialize for QueryUnreceivedPacketsResponse { } impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7475,7 +7439,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7484,12 +7448,12 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7507,24 +7471,24 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUnreceivedPacketsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.QueryUnreceivedPacketsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sequences__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequences => { if sequences__.is_some() { return Err(serde::de::Error::duplicate_field("sequences")); } sequences__ = - Some(map_.next_value::>>()? + Some(map.next_value::<::alloc::vec::Vec<::pbjson::private::NumberDeserialize<_>>>()? .into_iter().map(|x| x.0).collect()) ; } @@ -7532,7 +7496,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -7547,7 +7511,7 @@ impl<'de> serde::Deserialize<'de> for QueryUnreceivedPacketsResponse { } impl serde::Serialize for ResponseResultType { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7561,7 +7525,7 @@ impl serde::Serialize for ResponseResultType { } impl<'de> serde::Deserialize<'de> for ResponseResultType { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7576,35 +7540,37 @@ impl<'de> serde::Deserialize<'de> for ResponseResultType { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ResponseResultType; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(ResponseResultType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(ResponseResultType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7621,7 +7587,7 @@ impl<'de> serde::Deserialize<'de> for ResponseResultType { } impl serde::Serialize for State { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7637,7 +7603,7 @@ impl serde::Serialize for State { } impl<'de> serde::Deserialize<'de> for State { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7654,35 +7620,37 @@ impl<'de> serde::Deserialize<'de> for State { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = State; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(State::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(State::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7701,7 +7669,7 @@ impl<'de> serde::Deserialize<'de> for State { } impl serde::Serialize for Timeout { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -7718,15 +7686,14 @@ impl serde::Serialize for Timeout { struct_ser.serialize_field("height", v)?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Timeout { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7741,7 +7708,7 @@ impl<'de> serde::Deserialize<'de> for Timeout { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -7750,12 +7717,12 @@ impl<'de> serde::Deserialize<'de> for Timeout { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -7773,30 +7740,30 @@ impl<'de> serde::Deserialize<'de> for Timeout { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Timeout; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.channel.v1.Timeout") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut height__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/ibc.core.client.v1.serde.rs b/src/prost/ibc.core.client.v1.serde.rs index fcd32239..40abfd16 100644 --- a/src/prost/ibc.core.client.v1.serde.rs +++ b/src/prost/ibc.core.client.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientConsensusStates { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for ClientConsensusStates { } impl<'de> serde::Deserialize<'de> for ClientConsensusStates { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,7 +41,7 @@ impl<'de> serde::Deserialize<'de> for ClientConsensusStates { ConsensusStates, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,12 +50,12 @@ impl<'de> serde::Deserialize<'de> for ClientConsensusStates { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -73,29 +73,29 @@ impl<'de> serde::Deserialize<'de> for ClientConsensusStates { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientConsensusStates; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.ClientConsensusStates") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut consensus_states__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::ConsensusStates => { if consensus_states__.is_some() { return Err(serde::de::Error::duplicate_field("consensusStates")); } - consensus_states__ = Some(map_.next_value()?); + consensus_states__ = Some(map.next_value()?); } } } @@ -110,7 +110,7 @@ impl<'de> serde::Deserialize<'de> for ClientConsensusStates { } impl serde::Serialize for ClientUpdateProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -146,7 +146,7 @@ impl serde::Serialize for ClientUpdateProposal { } impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -167,7 +167,7 @@ impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { SubstituteClientId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -176,12 +176,12 @@ impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -201,11 +201,11 @@ impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientUpdateProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.ClientUpdateProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -213,31 +213,31 @@ impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { let mut description__ = None; let mut subject_client_id__ = None; let mut substitute_client_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = Some(map_.next_value()?); + description__ = Some(map.next_value()?); } GeneratedField::SubjectClientId => { if subject_client_id__.is_some() { return Err(serde::de::Error::duplicate_field("subjectClientId")); } - subject_client_id__ = Some(map_.next_value()?); + subject_client_id__ = Some(map.next_value()?); } GeneratedField::SubstituteClientId => { if substitute_client_id__.is_some() { return Err(serde::de::Error::duplicate_field("substituteClientId")); } - substitute_client_id__ = Some(map_.next_value()?); + substitute_client_id__ = Some(map.next_value()?); } } } @@ -254,7 +254,7 @@ impl<'de> serde::Deserialize<'de> for ClientUpdateProposal { } impl serde::Serialize for ConsensusStateWithHeight { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -278,7 +278,7 @@ impl serde::Serialize for ConsensusStateWithHeight { } impl<'de> serde::Deserialize<'de> for ConsensusStateWithHeight { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -294,7 +294,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateWithHeight { ConsensusState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -303,12 +303,12 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateWithHeight { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -326,29 +326,29 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateWithHeight { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConsensusStateWithHeight; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.ConsensusStateWithHeight") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut height__ = None; let mut consensus_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } } } @@ -363,7 +363,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateWithHeight { } impl serde::Serialize for GenesisMetadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -377,11 +377,9 @@ impl serde::Serialize for GenesisMetadata { } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.GenesisMetadata", len)?; if !self.key.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if !self.value.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -389,7 +387,7 @@ impl serde::Serialize for GenesisMetadata { } impl<'de> serde::Deserialize<'de> for GenesisMetadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -404,7 +402,7 @@ impl<'de> serde::Deserialize<'de> for GenesisMetadata { Value, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -413,12 +411,12 @@ impl<'de> serde::Deserialize<'de> for GenesisMetadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -436,24 +434,24 @@ impl<'de> serde::Deserialize<'de> for GenesisMetadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisMetadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.GenesisMetadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key__ = None; let mut value__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Key => { if key__.is_some() { return Err(serde::de::Error::duplicate_field("key")); } key__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Value => { @@ -461,7 +459,7 @@ impl<'de> serde::Deserialize<'de> for GenesisMetadata { return Err(serde::de::Error::duplicate_field("value")); } value__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -477,7 +475,7 @@ impl<'de> serde::Deserialize<'de> for GenesisMetadata { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -518,15 +516,14 @@ impl serde::Serialize for GenesisState { struct_ser.serialize_field("createLocalhost", &self.create_localhost)?; } if self.next_client_sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextClientSequence", ToString::to_string(&self.next_client_sequence).as_str())?; + struct_ser.serialize_field("nextClientSequence", ::alloc::string::ToString::to_string(&self.next_client_sequence).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -553,7 +550,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { NextClientSequence, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -562,12 +559,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -589,11 +586,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -603,44 +600,44 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut params__ = None; let mut create_localhost__ = None; let mut next_client_sequence__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Clients => { if clients__.is_some() { return Err(serde::de::Error::duplicate_field("clients")); } - clients__ = Some(map_.next_value()?); + clients__ = Some(map.next_value()?); } GeneratedField::ClientsConsensus => { if clients_consensus__.is_some() { return Err(serde::de::Error::duplicate_field("clientsConsensus")); } - clients_consensus__ = Some(map_.next_value()?); + clients_consensus__ = Some(map.next_value()?); } GeneratedField::ClientsMetadata => { if clients_metadata__.is_some() { return Err(serde::de::Error::duplicate_field("clientsMetadata")); } - clients_metadata__ = Some(map_.next_value()?); + clients_metadata__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } GeneratedField::CreateLocalhost => { if create_localhost__.is_some() { return Err(serde::de::Error::duplicate_field("createLocalhost")); } - create_localhost__ = Some(map_.next_value()?); + create_localhost__ = Some(map.next_value()?); } GeneratedField::NextClientSequence => { if next_client_sequence__.is_some() { return Err(serde::de::Error::duplicate_field("nextClientSequence")); } next_client_sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -660,7 +657,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for Height { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -674,19 +671,17 @@ impl serde::Serialize for Height { } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.Height", len)?; if self.revision_number != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } if self.revision_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Height { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -703,7 +698,7 @@ impl<'de> serde::Deserialize<'de> for Height { RevisionHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -712,12 +707,12 @@ impl<'de> serde::Deserialize<'de> for Height { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -735,24 +730,24 @@ impl<'de> serde::Deserialize<'de> for Height { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Height; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.Height") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut revision_number__ = None; let mut revision_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::RevisionNumber => { if revision_number__.is_some() { return Err(serde::de::Error::duplicate_field("revisionNumber")); } revision_number__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::RevisionHeight => { @@ -760,7 +755,7 @@ impl<'de> serde::Deserialize<'de> for Height { return Err(serde::de::Error::duplicate_field("revisionHeight")); } revision_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -776,7 +771,7 @@ impl<'de> serde::Deserialize<'de> for Height { } impl serde::Serialize for IdentifiedClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -800,7 +795,7 @@ impl serde::Serialize for IdentifiedClientState { } impl<'de> serde::Deserialize<'de> for IdentifiedClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -817,7 +812,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedClientState { ClientState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -826,12 +821,12 @@ impl<'de> serde::Deserialize<'de> for IdentifiedClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -849,29 +844,29 @@ impl<'de> serde::Deserialize<'de> for IdentifiedClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IdentifiedClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.IdentifiedClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut client_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } } } @@ -886,7 +881,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedClientState { } impl serde::Serialize for IdentifiedGenesisMetadata { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -910,7 +905,7 @@ impl serde::Serialize for IdentifiedGenesisMetadata { } impl<'de> serde::Deserialize<'de> for IdentifiedGenesisMetadata { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -927,7 +922,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedGenesisMetadata { ClientMetadata, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -936,12 +931,12 @@ impl<'de> serde::Deserialize<'de> for IdentifiedGenesisMetadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -959,29 +954,29 @@ impl<'de> serde::Deserialize<'de> for IdentifiedGenesisMetadata { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IdentifiedGenesisMetadata; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.IdentifiedGenesisMetadata") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut client_metadata__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::ClientMetadata => { if client_metadata__.is_some() { return Err(serde::de::Error::duplicate_field("clientMetadata")); } - client_metadata__ = Some(map_.next_value()?); + client_metadata__ = Some(map.next_value()?); } } } @@ -996,7 +991,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedGenesisMetadata { } impl serde::Serialize for MsgCreateClient { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1026,7 +1021,7 @@ impl serde::Serialize for MsgCreateClient { } impl<'de> serde::Deserialize<'de> for MsgCreateClient { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1045,7 +1040,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClient { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1054,12 +1049,12 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1078,36 +1073,36 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCreateClient; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgCreateClient") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_state__ = None; let mut consensus_state__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1123,7 +1118,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClient { } impl serde::Serialize for MsgCreateClientResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1135,7 +1130,7 @@ impl serde::Serialize for MsgCreateClientResponse { } impl<'de> serde::Deserialize<'de> for MsgCreateClientResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1146,7 +1141,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClientResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1155,12 +1150,12 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1174,16 +1169,16 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgCreateClientResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgCreateClientResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgCreateClientResponse { }) @@ -1194,7 +1189,7 @@ impl<'de> serde::Deserialize<'de> for MsgCreateClientResponse { } impl serde::Serialize for MsgIbcSoftwareUpgrade { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1224,7 +1219,7 @@ impl serde::Serialize for MsgIbcSoftwareUpgrade { } impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgrade { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1242,7 +1237,7 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgrade { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1251,12 +1246,12 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgrade { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1275,36 +1270,36 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgrade { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgIbcSoftwareUpgrade; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgIBCSoftwareUpgrade") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut plan__ = None; let mut upgraded_client_state__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Plan => { if plan__.is_some() { return Err(serde::de::Error::duplicate_field("plan")); } - plan__ = map_.next_value()?; + plan__ = map.next_value()?; } GeneratedField::UpgradedClientState => { if upgraded_client_state__.is_some() { return Err(serde::de::Error::duplicate_field("upgradedClientState")); } - upgraded_client_state__ = map_.next_value()?; + upgraded_client_state__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1320,7 +1315,7 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgrade { } impl serde::Serialize for MsgIbcSoftwareUpgradeResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1332,7 +1327,7 @@ impl serde::Serialize for MsgIbcSoftwareUpgradeResponse { } impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgradeResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1343,7 +1338,7 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgradeResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1352,12 +1347,12 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgradeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1371,16 +1366,16 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgradeResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgIbcSoftwareUpgradeResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgIBCSoftwareUpgradeResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgIbcSoftwareUpgradeResponse { }) @@ -1391,7 +1386,7 @@ impl<'de> serde::Deserialize<'de> for MsgIbcSoftwareUpgradeResponse { } impl serde::Serialize for MsgRecoverClient { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1421,7 +1416,7 @@ impl serde::Serialize for MsgRecoverClient { } impl<'de> serde::Deserialize<'de> for MsgRecoverClient { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1440,7 +1435,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClient { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1449,12 +1444,12 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1473,36 +1468,36 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRecoverClient; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgRecoverClient") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut subject_client_id__ = None; let mut substitute_client_id__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SubjectClientId => { if subject_client_id__.is_some() { return Err(serde::de::Error::duplicate_field("subjectClientId")); } - subject_client_id__ = Some(map_.next_value()?); + subject_client_id__ = Some(map.next_value()?); } GeneratedField::SubstituteClientId => { if substitute_client_id__.is_some() { return Err(serde::de::Error::duplicate_field("substituteClientId")); } - substitute_client_id__ = Some(map_.next_value()?); + substitute_client_id__ = Some(map.next_value()?); } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1518,7 +1513,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClient { } impl serde::Serialize for MsgRecoverClientResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1530,7 +1525,7 @@ impl serde::Serialize for MsgRecoverClientResponse { } impl<'de> serde::Deserialize<'de> for MsgRecoverClientResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1541,7 +1536,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClientResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1550,12 +1545,12 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1569,16 +1564,16 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgRecoverClientResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgRecoverClientResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgRecoverClientResponse { }) @@ -1589,7 +1584,7 @@ impl<'de> serde::Deserialize<'de> for MsgRecoverClientResponse { } impl serde::Serialize for MsgSubmitMisbehaviour { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1619,7 +1614,7 @@ impl serde::Serialize for MsgSubmitMisbehaviour { } impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviour { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1637,7 +1632,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviour { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1646,12 +1641,12 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1670,36 +1665,36 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSubmitMisbehaviour; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgSubmitMisbehaviour") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut misbehaviour__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Misbehaviour => { if misbehaviour__.is_some() { return Err(serde::de::Error::duplicate_field("misbehaviour")); } - misbehaviour__ = map_.next_value()?; + misbehaviour__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1715,7 +1710,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviour { } impl serde::Serialize for MsgSubmitMisbehaviourResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1727,7 +1722,7 @@ impl serde::Serialize for MsgSubmitMisbehaviourResponse { } impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviourResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1738,7 +1733,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviourResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1747,12 +1742,12 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviourResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1766,16 +1761,16 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviourResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgSubmitMisbehaviourResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgSubmitMisbehaviourResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgSubmitMisbehaviourResponse { }) @@ -1786,7 +1781,7 @@ impl<'de> serde::Deserialize<'de> for MsgSubmitMisbehaviourResponse { } impl serde::Serialize for MsgUpdateClient { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1816,7 +1811,7 @@ impl serde::Serialize for MsgUpdateClient { } impl<'de> serde::Deserialize<'de> for MsgUpdateClient { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1835,7 +1830,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClient { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1844,12 +1839,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1868,36 +1863,36 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateClient; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgUpdateClient") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut client_message__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::ClientMessage => { if client_message__.is_some() { return Err(serde::de::Error::duplicate_field("clientMessage")); } - client_message__ = map_.next_value()?; + client_message__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1913,7 +1908,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClient { } impl serde::Serialize for MsgUpdateClientResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1925,7 +1920,7 @@ impl serde::Serialize for MsgUpdateClientResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateClientResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1936,7 +1931,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClientResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1945,12 +1940,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1964,16 +1959,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateClientResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgUpdateClientResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateClientResponse { }) @@ -1984,7 +1979,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateClientResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2008,7 +2003,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2023,7 +2018,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2032,12 +2027,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2055,29 +2050,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signer__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -2092,7 +2087,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2104,7 +2099,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2115,7 +2110,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2124,12 +2119,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2143,16 +2138,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -2163,7 +2158,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for MsgUpgradeClient { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2198,11 +2193,9 @@ impl serde::Serialize for MsgUpgradeClient { struct_ser.serialize_field("consensusState", v)?; } if !self.proof_upgrade_client.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofUpgradeClient", pbjson::private::base64::encode(&self.proof_upgrade_client).as_str())?; } if !self.proof_upgrade_consensus_state.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofUpgradeConsensusState", pbjson::private::base64::encode(&self.proof_upgrade_consensus_state).as_str())?; } if !self.signer.is_empty() { @@ -2213,7 +2206,7 @@ impl serde::Serialize for MsgUpgradeClient { } impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2241,7 +2234,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2250,12 +2243,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2277,11 +2270,11 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpgradeClient; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgUpgradeClient") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2291,32 +2284,32 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { let mut proof_upgrade_client__ = None; let mut proof_upgrade_consensus_state__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } GeneratedField::ProofUpgradeClient => { if proof_upgrade_client__.is_some() { return Err(serde::de::Error::duplicate_field("proofUpgradeClient")); } proof_upgrade_client__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofUpgradeConsensusState => { @@ -2324,14 +2317,14 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { return Err(serde::de::Error::duplicate_field("proofUpgradeConsensusState")); } proof_upgrade_consensus_state__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -2350,7 +2343,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClient { } impl serde::Serialize for MsgUpgradeClientResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2362,7 +2355,7 @@ impl serde::Serialize for MsgUpgradeClientResponse { } impl<'de> serde::Deserialize<'de> for MsgUpgradeClientResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2373,7 +2366,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClientResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2382,12 +2375,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2401,16 +2394,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClientResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpgradeClientResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.MsgUpgradeClientResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpgradeClientResponse { }) @@ -2421,7 +2414,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpgradeClientResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2439,7 +2432,7 @@ impl serde::Serialize for Params { } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2453,7 +2446,7 @@ impl<'de> serde::Deserialize<'de> for Params { AllowedClients, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2462,12 +2455,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2484,22 +2477,22 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut allowed_clients__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::AllowedClients => { if allowed_clients__.is_some() { return Err(serde::de::Error::duplicate_field("allowedClients")); } - allowed_clients__ = Some(map_.next_value()?); + allowed_clients__ = Some(map.next_value()?); } } } @@ -2513,7 +2506,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryClientParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2525,7 +2518,7 @@ impl serde::Serialize for QueryClientParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryClientParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2536,7 +2529,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2545,12 +2538,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2564,16 +2557,16 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryClientParamsRequest { }) @@ -2584,7 +2577,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsRequest { } impl serde::Serialize for QueryClientParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2602,7 +2595,7 @@ impl serde::Serialize for QueryClientParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryClientParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2615,7 +2608,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2624,12 +2617,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2646,22 +2639,22 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -2675,7 +2668,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientParamsResponse { } impl serde::Serialize for QueryClientStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2693,7 +2686,7 @@ impl serde::Serialize for QueryClientStateRequest { } impl<'de> serde::Deserialize<'de> for QueryClientStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2707,7 +2700,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateRequest { ClientId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2716,12 +2709,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2738,22 +2731,22 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } } } @@ -2767,7 +2760,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateRequest { } impl serde::Serialize for QueryClientStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2787,7 +2780,6 @@ impl serde::Serialize for QueryClientStateResponse { struct_ser.serialize_field("clientState", v)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2798,7 +2790,7 @@ impl serde::Serialize for QueryClientStateResponse { } impl<'de> serde::Deserialize<'de> for QueryClientStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2817,7 +2809,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2826,12 +2818,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2850,38 +2842,38 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_state__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -2897,7 +2889,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStateResponse { } impl serde::Serialize for QueryClientStatesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2915,7 +2907,7 @@ impl serde::Serialize for QueryClientStatesRequest { } impl<'de> serde::Deserialize<'de> for QueryClientStatesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2928,7 +2920,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2937,12 +2929,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2959,22 +2951,22 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientStatesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientStatesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -2988,7 +2980,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesRequest { } impl serde::Serialize for QueryClientStatesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3012,7 +3004,7 @@ impl serde::Serialize for QueryClientStatesResponse { } impl<'de> serde::Deserialize<'de> for QueryClientStatesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3028,7 +3020,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3037,12 +3029,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3060,29 +3052,29 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientStatesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientStatesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_states__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientStates => { if client_states__.is_some() { return Err(serde::de::Error::duplicate_field("clientStates")); } - client_states__ = Some(map_.next_value()?); + client_states__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3097,7 +3089,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatesResponse { } impl serde::Serialize for QueryClientStatusRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3115,7 +3107,7 @@ impl serde::Serialize for QueryClientStatusRequest { } impl<'de> serde::Deserialize<'de> for QueryClientStatusRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3129,7 +3121,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusRequest { ClientId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3138,12 +3130,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3160,22 +3152,22 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientStatusRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientStatusRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } } } @@ -3189,7 +3181,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusRequest { } impl serde::Serialize for QueryClientStatusResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3207,7 +3199,7 @@ impl serde::Serialize for QueryClientStatusResponse { } impl<'de> serde::Deserialize<'de> for QueryClientStatusResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3220,7 +3212,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusResponse { Status, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3229,12 +3221,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3251,22 +3243,22 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientStatusResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryClientStatusResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut status__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Status => { if status__.is_some() { return Err(serde::de::Error::duplicate_field("status")); } - status__ = Some(map_.next_value()?); + status__ = Some(map.next_value()?); } } } @@ -3280,7 +3272,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientStatusResponse { } impl serde::Serialize for QueryConsensusStateHeightsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3304,7 +3296,7 @@ impl serde::Serialize for QueryConsensusStateHeightsRequest { } impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3320,7 +3312,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3329,12 +3321,12 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3352,29 +3344,29 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConsensusStateHeightsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateHeightsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3389,7 +3381,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsRequest { } impl serde::Serialize for QueryConsensusStateHeightsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3413,7 +3405,7 @@ impl serde::Serialize for QueryConsensusStateHeightsResponse { } impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3429,7 +3421,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3438,12 +3430,12 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3461,29 +3453,29 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConsensusStateHeightsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateHeightsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut consensus_state_heights__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConsensusStateHeights => { if consensus_state_heights__.is_some() { return Err(serde::de::Error::duplicate_field("consensusStateHeights")); } - consensus_state_heights__ = Some(map_.next_value()?); + consensus_state_heights__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3498,7 +3490,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateHeightsResponse { } impl serde::Serialize for QueryConsensusStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3521,12 +3513,10 @@ impl serde::Serialize for QueryConsensusStateRequest { struct_ser.serialize_field("clientId", &self.client_id)?; } if self.revision_number != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } if self.revision_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } if self.latest_height { struct_ser.serialize_field("latestHeight", &self.latest_height)?; @@ -3536,7 +3526,7 @@ impl serde::Serialize for QueryConsensusStateRequest { } impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3559,7 +3549,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { LatestHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3568,12 +3558,12 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3593,11 +3583,11 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConsensusStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -3605,20 +3595,20 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { let mut revision_number__ = None; let mut revision_height__ = None; let mut latest_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::RevisionNumber => { if revision_number__.is_some() { return Err(serde::de::Error::duplicate_field("revisionNumber")); } revision_number__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::RevisionHeight => { @@ -3626,14 +3616,14 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { return Err(serde::de::Error::duplicate_field("revisionHeight")); } revision_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::LatestHeight => { if latest_height__.is_some() { return Err(serde::de::Error::duplicate_field("latestHeight")); } - latest_height__ = Some(map_.next_value()?); + latest_height__ = Some(map.next_value()?); } } } @@ -3650,7 +3640,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateRequest { } impl serde::Serialize for QueryConsensusStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3670,7 +3660,6 @@ impl serde::Serialize for QueryConsensusStateResponse { struct_ser.serialize_field("consensusState", v)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -3681,7 +3670,7 @@ impl serde::Serialize for QueryConsensusStateResponse { } impl<'de> serde::Deserialize<'de> for QueryConsensusStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3700,7 +3689,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3709,12 +3698,12 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3733,38 +3722,38 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConsensusStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryConsensusStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut consensus_state__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -3780,7 +3769,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStateResponse { } impl serde::Serialize for QueryConsensusStatesRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3804,7 +3793,7 @@ impl serde::Serialize for QueryConsensusStatesRequest { } impl<'de> serde::Deserialize<'de> for QueryConsensusStatesRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3820,7 +3809,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3829,12 +3818,12 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3852,29 +3841,29 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConsensusStatesRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryConsensusStatesRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3889,7 +3878,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesRequest { } impl serde::Serialize for QueryConsensusStatesResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3913,7 +3902,7 @@ impl serde::Serialize for QueryConsensusStatesResponse { } impl<'de> serde::Deserialize<'de> for QueryConsensusStatesResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3929,7 +3918,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesResponse { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3938,12 +3927,12 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3961,29 +3950,29 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConsensusStatesResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryConsensusStatesResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut consensus_states__ = None; let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConsensusStates => { if consensus_states__.is_some() { return Err(serde::de::Error::duplicate_field("consensusStates")); } - consensus_states__ = Some(map_.next_value()?); + consensus_states__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3998,7 +3987,7 @@ impl<'de> serde::Deserialize<'de> for QueryConsensusStatesResponse { } impl serde::Serialize for QueryUpgradedClientStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4010,7 +3999,7 @@ impl serde::Serialize for QueryUpgradedClientStateRequest { } impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4021,7 +4010,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4030,12 +4019,12 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4049,16 +4038,16 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUpgradedClientStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryUpgradedClientStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryUpgradedClientStateRequest { }) @@ -4069,7 +4058,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateRequest { } impl serde::Serialize for QueryUpgradedClientStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4087,7 +4076,7 @@ impl serde::Serialize for QueryUpgradedClientStateResponse { } impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4101,7 +4090,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateResponse { UpgradedClientState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4110,12 +4099,12 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4132,22 +4121,22 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUpgradedClientStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryUpgradedClientStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut upgraded_client_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UpgradedClientState => { if upgraded_client_state__.is_some() { return Err(serde::de::Error::duplicate_field("upgradedClientState")); } - upgraded_client_state__ = map_.next_value()?; + upgraded_client_state__ = map.next_value()?; } } } @@ -4161,7 +4150,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedClientStateResponse { } impl serde::Serialize for QueryUpgradedConsensusStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4173,7 +4162,7 @@ impl serde::Serialize for QueryUpgradedConsensusStateRequest { } impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4184,7 +4173,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4193,12 +4182,12 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4212,16 +4201,16 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUpgradedConsensusStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryUpgradedConsensusStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryUpgradedConsensusStateRequest { }) @@ -4232,7 +4221,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateRequest { } impl serde::Serialize for QueryUpgradedConsensusStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4250,7 +4239,7 @@ impl serde::Serialize for QueryUpgradedConsensusStateResponse { } impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4264,7 +4253,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { UpgradedConsensusState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4273,12 +4262,12 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4295,22 +4284,22 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryUpgradedConsensusStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.QueryUpgradedConsensusStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut upgraded_consensus_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::UpgradedConsensusState => { if upgraded_consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("upgradedConsensusState")); } - upgraded_consensus_state__ = map_.next_value()?; + upgraded_consensus_state__ = map.next_value()?; } } } @@ -4324,7 +4313,7 @@ impl<'de> serde::Deserialize<'de> for QueryUpgradedConsensusStateResponse { } impl serde::Serialize for UpgradeProposal { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -4360,7 +4349,7 @@ impl serde::Serialize for UpgradeProposal { } impl<'de> serde::Deserialize<'de> for UpgradeProposal { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4380,7 +4369,7 @@ impl<'de> serde::Deserialize<'de> for UpgradeProposal { UpgradedClientState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -4389,12 +4378,12 @@ impl<'de> serde::Deserialize<'de> for UpgradeProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -4414,11 +4403,11 @@ impl<'de> serde::Deserialize<'de> for UpgradeProposal { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = UpgradeProposal; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.client.v1.UpgradeProposal") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -4426,31 +4415,31 @@ impl<'de> serde::Deserialize<'de> for UpgradeProposal { let mut description__ = None; let mut plan__ = None; let mut upgraded_client_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Title => { if title__.is_some() { return Err(serde::de::Error::duplicate_field("title")); } - title__ = Some(map_.next_value()?); + title__ = Some(map.next_value()?); } GeneratedField::Description => { if description__.is_some() { return Err(serde::de::Error::duplicate_field("description")); } - description__ = Some(map_.next_value()?); + description__ = Some(map.next_value()?); } GeneratedField::Plan => { if plan__.is_some() { return Err(serde::de::Error::duplicate_field("plan")); } - plan__ = map_.next_value()?; + plan__ = map.next_value()?; } GeneratedField::UpgradedClientState => { if upgraded_client_state__.is_some() { return Err(serde::de::Error::duplicate_field("upgradedClientState")); } - upgraded_client_state__ = map_.next_value()?; + upgraded_client_state__ = map.next_value()?; } } } diff --git a/src/prost/ibc.core.commitment.v1.serde.rs b/src/prost/ibc.core.commitment.v1.serde.rs index c8d9d9eb..ecf34535 100644 --- a/src/prost/ibc.core.commitment.v1.serde.rs +++ b/src/prost/ibc.core.commitment.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for MerklePath { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for MerklePath { } impl<'de> serde::Deserialize<'de> for MerklePath { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,7 +32,7 @@ impl<'de> serde::Deserialize<'de> for MerklePath { KeyPath, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,12 +41,12 @@ impl<'de> serde::Deserialize<'de> for MerklePath { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -63,22 +63,22 @@ impl<'de> serde::Deserialize<'de> for MerklePath { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MerklePath; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.commitment.v1.MerklePath") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key_path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::KeyPath => { if key_path__.is_some() { return Err(serde::de::Error::duplicate_field("keyPath")); } - key_path__ = Some(map_.next_value()?); + key_path__ = Some(map.next_value()?); } } } @@ -92,7 +92,7 @@ impl<'de> serde::Deserialize<'de> for MerklePath { } impl serde::Serialize for MerklePrefix { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -103,7 +103,6 @@ impl serde::Serialize for MerklePrefix { } let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerklePrefix", len)?; if !self.key_prefix.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("keyPrefix", pbjson::private::base64::encode(&self.key_prefix).as_str())?; } struct_ser.end() @@ -111,7 +110,7 @@ impl serde::Serialize for MerklePrefix { } impl<'de> serde::Deserialize<'de> for MerklePrefix { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -125,7 +124,7 @@ impl<'de> serde::Deserialize<'de> for MerklePrefix { KeyPrefix, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -134,12 +133,12 @@ impl<'de> serde::Deserialize<'de> for MerklePrefix { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -156,23 +155,23 @@ impl<'de> serde::Deserialize<'de> for MerklePrefix { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MerklePrefix; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.commitment.v1.MerklePrefix") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut key_prefix__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::KeyPrefix => { if key_prefix__.is_some() { return Err(serde::de::Error::duplicate_field("keyPrefix")); } key_prefix__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -187,7 +186,7 @@ impl<'de> serde::Deserialize<'de> for MerklePrefix { } impl serde::Serialize for MerkleProof { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -205,7 +204,7 @@ impl serde::Serialize for MerkleProof { } impl<'de> serde::Deserialize<'de> for MerkleProof { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -218,7 +217,7 @@ impl<'de> serde::Deserialize<'de> for MerkleProof { Proofs, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -227,12 +226,12 @@ impl<'de> serde::Deserialize<'de> for MerkleProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -249,22 +248,22 @@ impl<'de> serde::Deserialize<'de> for MerkleProof { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MerkleProof; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.commitment.v1.MerkleProof") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut proofs__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Proofs => { if proofs__.is_some() { return Err(serde::de::Error::duplicate_field("proofs")); } - proofs__ = Some(map_.next_value()?); + proofs__ = Some(map.next_value()?); } } } @@ -278,7 +277,7 @@ impl<'de> serde::Deserialize<'de> for MerkleProof { } impl serde::Serialize for MerkleRoot { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -289,7 +288,6 @@ impl serde::Serialize for MerkleRoot { } let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerkleRoot", len)?; if !self.hash.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; } struct_ser.end() @@ -297,7 +295,7 @@ impl serde::Serialize for MerkleRoot { } impl<'de> serde::Deserialize<'de> for MerkleRoot { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -310,7 +308,7 @@ impl<'de> serde::Deserialize<'de> for MerkleRoot { Hash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -319,12 +317,12 @@ impl<'de> serde::Deserialize<'de> for MerkleRoot { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -341,23 +339,23 @@ impl<'de> serde::Deserialize<'de> for MerkleRoot { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MerkleRoot; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.commitment.v1.MerkleRoot") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Hash => { if hash__.is_some() { return Err(serde::de::Error::duplicate_field("hash")); } hash__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } diff --git a/src/prost/ibc.core.connection.v1.serde.rs b/src/prost/ibc.core.connection.v1.serde.rs index 664fb2ea..7c3b4f6c 100644 --- a/src/prost/ibc.core.connection.v1.serde.rs +++ b/src/prost/ibc.core.connection.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientPaths { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for ClientPaths { } impl<'de> serde::Deserialize<'de> for ClientPaths { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -31,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for ClientPaths { Paths, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for ClientPaths { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -62,22 +62,22 @@ impl<'de> serde::Deserialize<'de> for ClientPaths { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientPaths; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.ClientPaths") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut paths__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Paths => { if paths__.is_some() { return Err(serde::de::Error::duplicate_field("paths")); } - paths__ = Some(map_.next_value()?); + paths__ = Some(map.next_value()?); } } } @@ -91,7 +91,7 @@ impl<'de> serde::Deserialize<'de> for ClientPaths { } impl serde::Serialize for ConnectionEnd { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -120,23 +120,22 @@ impl serde::Serialize for ConnectionEnd { struct_ser.serialize_field("versions", &self.versions)?; } if self.state != 0 { - let v = State::try_from(self.state) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + let v = State::from_i32(self.state) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; } if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } if self.delay_period != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for ConnectionEnd { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -159,7 +158,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionEnd { DelayPeriod, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -168,12 +167,12 @@ impl<'de> serde::Deserialize<'de> for ConnectionEnd { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -194,11 +193,11 @@ impl<'de> serde::Deserialize<'de> for ConnectionEnd { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConnectionEnd; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.ConnectionEnd") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -207,38 +206,38 @@ impl<'de> serde::Deserialize<'de> for ConnectionEnd { let mut state__ = None; let mut counterparty__ = None; let mut delay_period__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Versions => { if versions__.is_some() { return Err(serde::de::Error::duplicate_field("versions")); } - versions__ = Some(map_.next_value()?); + versions__ = Some(map.next_value()?); } GeneratedField::State => { if state__.is_some() { return Err(serde::de::Error::duplicate_field("state")); } - state__ = Some(map_.next_value::()? as i32); + state__ = Some(map.next_value::()? as i32); } GeneratedField::Counterparty => { if counterparty__.is_some() { return Err(serde::de::Error::duplicate_field("counterparty")); } - counterparty__ = map_.next_value()?; + counterparty__ = map.next_value()?; } GeneratedField::DelayPeriod => { if delay_period__.is_some() { return Err(serde::de::Error::duplicate_field("delayPeriod")); } delay_period__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -257,7 +256,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionEnd { } impl serde::Serialize for ConnectionPaths { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -281,7 +280,7 @@ impl serde::Serialize for ConnectionPaths { } impl<'de> serde::Deserialize<'de> for ConnectionPaths { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -297,7 +296,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionPaths { Paths, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -306,12 +305,12 @@ impl<'de> serde::Deserialize<'de> for ConnectionPaths { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -329,29 +328,29 @@ impl<'de> serde::Deserialize<'de> for ConnectionPaths { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConnectionPaths; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.ConnectionPaths") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut paths__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Paths => { if paths__.is_some() { return Err(serde::de::Error::duplicate_field("paths")); } - paths__ = Some(map_.next_value()?); + paths__ = Some(map.next_value()?); } } } @@ -366,7 +365,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionPaths { } impl serde::Serialize for Counterparty { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -396,7 +395,7 @@ impl serde::Serialize for Counterparty { } impl<'de> serde::Deserialize<'de> for Counterparty { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -415,7 +414,7 @@ impl<'de> serde::Deserialize<'de> for Counterparty { Prefix, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -424,12 +423,12 @@ impl<'de> serde::Deserialize<'de> for Counterparty { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -448,36 +447,36 @@ impl<'de> serde::Deserialize<'de> for Counterparty { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Counterparty; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.Counterparty") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut connection_id__ = None; let mut prefix__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::Prefix => { if prefix__.is_some() { return Err(serde::de::Error::duplicate_field("prefix")); } - prefix__ = map_.next_value()?; + prefix__ = map.next_value()?; } } } @@ -493,7 +492,7 @@ impl<'de> serde::Deserialize<'de> for Counterparty { } impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -519,8 +518,7 @@ impl serde::Serialize for GenesisState { struct_ser.serialize_field("clientConnectionPaths", &self.client_connection_paths)?; } if self.next_connection_sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextConnectionSequence", ToString::to_string(&self.next_connection_sequence).as_str())?; + struct_ser.serialize_field("nextConnectionSequence", ::alloc::string::ToString::to_string(&self.next_connection_sequence).as_str())?; } if let Some(v) = self.params.as_ref() { struct_ser.serialize_field("params", v)?; @@ -530,7 +528,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -551,7 +549,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -560,12 +558,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -585,11 +583,11 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -597,33 +595,33 @@ impl<'de> serde::Deserialize<'de> for GenesisState { let mut client_connection_paths__ = None; let mut next_connection_sequence__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Connections => { if connections__.is_some() { return Err(serde::de::Error::duplicate_field("connections")); } - connections__ = Some(map_.next_value()?); + connections__ = Some(map.next_value()?); } GeneratedField::ClientConnectionPaths => { if client_connection_paths__.is_some() { return Err(serde::de::Error::duplicate_field("clientConnectionPaths")); } - client_connection_paths__ = Some(map_.next_value()?); + client_connection_paths__ = Some(map.next_value()?); } GeneratedField::NextConnectionSequence => { if next_connection_sequence__.is_some() { return Err(serde::de::Error::duplicate_field("nextConnectionSequence")); } next_connection_sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -640,7 +638,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { } impl serde::Serialize for IdentifiedConnection { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -675,23 +673,22 @@ impl serde::Serialize for IdentifiedConnection { struct_ser.serialize_field("versions", &self.versions)?; } if self.state != 0 { - let v = State::try_from(self.state) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.state)))?; + let v = State::from_i32(self.state) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; } if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } if self.delay_period != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for IdentifiedConnection { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -716,7 +713,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedConnection { DelayPeriod, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -725,12 +722,12 @@ impl<'de> serde::Deserialize<'de> for IdentifiedConnection { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -752,11 +749,11 @@ impl<'de> serde::Deserialize<'de> for IdentifiedConnection { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = IdentifiedConnection; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.IdentifiedConnection") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -766,44 +763,44 @@ impl<'de> serde::Deserialize<'de> for IdentifiedConnection { let mut state__ = None; let mut counterparty__ = None; let mut delay_period__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Id => { if id__.is_some() { return Err(serde::de::Error::duplicate_field("id")); } - id__ = Some(map_.next_value()?); + id__ = Some(map.next_value()?); } GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Versions => { if versions__.is_some() { return Err(serde::de::Error::duplicate_field("versions")); } - versions__ = Some(map_.next_value()?); + versions__ = Some(map.next_value()?); } GeneratedField::State => { if state__.is_some() { return Err(serde::de::Error::duplicate_field("state")); } - state__ = Some(map_.next_value::()? as i32); + state__ = Some(map.next_value::()? as i32); } GeneratedField::Counterparty => { if counterparty__.is_some() { return Err(serde::de::Error::duplicate_field("counterparty")); } - counterparty__ = map_.next_value()?; + counterparty__ = map.next_value()?; } GeneratedField::DelayPeriod => { if delay_period__.is_some() { return Err(serde::de::Error::duplicate_field("delayPeriod")); } delay_period__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -823,7 +820,7 @@ impl<'de> serde::Deserialize<'de> for IdentifiedConnection { } impl serde::Serialize for MsgConnectionOpenAck { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -879,15 +876,12 @@ impl serde::Serialize for MsgConnectionOpenAck { struct_ser.serialize_field("proofHeight", v)?; } if !self.proof_try.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofTry", pbjson::private::base64::encode(&self.proof_try).as_str())?; } if !self.proof_client.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofClient", pbjson::private::base64::encode(&self.proof_client).as_str())?; } if !self.proof_consensus.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofConsensus", pbjson::private::base64::encode(&self.proof_consensus).as_str())?; } if let Some(v) = self.consensus_height.as_ref() { @@ -897,7 +891,6 @@ impl serde::Serialize for MsgConnectionOpenAck { struct_ser.serialize_field("signer", &self.signer)?; } if !self.host_consensus_state_proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("hostConsensusStateProof", pbjson::private::base64::encode(&self.host_consensus_state_proof).as_str())?; } struct_ser.end() @@ -905,7 +898,7 @@ impl serde::Serialize for MsgConnectionOpenAck { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -947,7 +940,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { HostConsensusStateProof, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -956,12 +949,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -988,11 +981,11 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenAck; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenAck") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1007,44 +1000,44 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { let mut consensus_height__ = None; let mut signer__ = None; let mut host_consensus_state_proof__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::CounterpartyConnectionId => { if counterparty_connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyConnectionId")); } - counterparty_connection_id__ = Some(map_.next_value()?); + counterparty_connection_id__ = Some(map.next_value()?); } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = map_.next_value()?; + version__ = map.next_value()?; } GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::ProofTry => { if proof_try__.is_some() { return Err(serde::de::Error::duplicate_field("proofTry")); } proof_try__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofClient => { @@ -1052,7 +1045,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { return Err(serde::de::Error::duplicate_field("proofClient")); } proof_client__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofConsensus => { @@ -1060,27 +1053,27 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { return Err(serde::de::Error::duplicate_field("proofConsensus")); } proof_consensus__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ConsensusHeight => { if consensus_height__.is_some() { return Err(serde::de::Error::duplicate_field("consensusHeight")); } - consensus_height__ = map_.next_value()?; + consensus_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::HostConsensusStateProof => { if host_consensus_state_proof__.is_some() { return Err(serde::de::Error::duplicate_field("hostConsensusStateProof")); } host_consensus_state_proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1105,7 +1098,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAck { } impl serde::Serialize for MsgConnectionOpenAckResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1117,7 +1110,7 @@ impl serde::Serialize for MsgConnectionOpenAckResponse { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAckResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1128,7 +1121,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAckResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1137,12 +1130,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAckResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1156,16 +1149,16 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAckResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenAckResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenAckResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgConnectionOpenAckResponse { }) @@ -1176,7 +1169,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenAckResponse { } impl serde::Serialize for MsgConnectionOpenConfirm { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1199,7 +1192,6 @@ impl serde::Serialize for MsgConnectionOpenConfirm { struct_ser.serialize_field("connectionId", &self.connection_id)?; } if !self.proof_ack.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofAck", pbjson::private::base64::encode(&self.proof_ack).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -1213,7 +1205,7 @@ impl serde::Serialize for MsgConnectionOpenConfirm { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1235,7 +1227,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1244,12 +1236,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1269,11 +1261,11 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenConfirm; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenConfirm") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1281,33 +1273,33 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { let mut proof_ack__ = None; let mut proof_height__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::ProofAck => { if proof_ack__.is_some() { return Err(serde::de::Error::duplicate_field("proofAck")); } proof_ack__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1324,7 +1316,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirm { } impl serde::Serialize for MsgConnectionOpenConfirmResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1336,7 +1328,7 @@ impl serde::Serialize for MsgConnectionOpenConfirmResponse { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirmResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1347,7 +1339,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirmResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1356,12 +1348,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirmResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1375,16 +1367,16 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirmResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenConfirmResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenConfirmResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgConnectionOpenConfirmResponse { }) @@ -1395,7 +1387,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenConfirmResponse { } impl serde::Serialize for MsgConnectionOpenInit { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1427,8 +1419,7 @@ impl serde::Serialize for MsgConnectionOpenInit { struct_ser.serialize_field("version", v)?; } if self.delay_period != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } if !self.signer.is_empty() { struct_ser.serialize_field("signer", &self.signer)?; @@ -1438,7 +1429,7 @@ impl serde::Serialize for MsgConnectionOpenInit { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1461,7 +1452,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { Signer, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1470,12 +1461,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1496,11 +1487,11 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenInit; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenInit") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1509,39 +1500,39 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { let mut version__ = None; let mut delay_period__ = None; let mut signer__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Counterparty => { if counterparty__.is_some() { return Err(serde::de::Error::duplicate_field("counterparty")); } - counterparty__ = map_.next_value()?; + counterparty__ = map.next_value()?; } GeneratedField::Version => { if version__.is_some() { return Err(serde::de::Error::duplicate_field("version")); } - version__ = map_.next_value()?; + version__ = map.next_value()?; } GeneratedField::DelayPeriod => { if delay_period__.is_some() { return Err(serde::de::Error::duplicate_field("delayPeriod")); } delay_period__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } } } @@ -1559,7 +1550,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInit { } impl serde::Serialize for MsgConnectionOpenInitResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1571,7 +1562,7 @@ impl serde::Serialize for MsgConnectionOpenInitResponse { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInitResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1582,7 +1573,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInitResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1591,12 +1582,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInitResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1610,16 +1601,16 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInitResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenInitResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenInitResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgConnectionOpenInitResponse { }) @@ -1630,7 +1621,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenInitResponse { } impl serde::Serialize for MsgConnectionOpenTry { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1689,8 +1680,7 @@ impl serde::Serialize for MsgConnectionOpenTry { struct_ser.serialize_field("counterparty", v)?; } if self.delay_period != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("delayPeriod", ToString::to_string(&self.delay_period).as_str())?; + struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } if !self.counterparty_versions.is_empty() { struct_ser.serialize_field("counterpartyVersions", &self.counterparty_versions)?; @@ -1699,15 +1689,12 @@ impl serde::Serialize for MsgConnectionOpenTry { struct_ser.serialize_field("proofHeight", v)?; } if !self.proof_init.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; } if !self.proof_client.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofClient", pbjson::private::base64::encode(&self.proof_client).as_str())?; } if !self.proof_consensus.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proofConsensus", pbjson::private::base64::encode(&self.proof_consensus).as_str())?; } if let Some(v) = self.consensus_height.as_ref() { @@ -1717,7 +1704,6 @@ impl serde::Serialize for MsgConnectionOpenTry { struct_ser.serialize_field("signer", &self.signer)?; } if !self.host_consensus_state_proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("hostConsensusStateProof", pbjson::private::base64::encode(&self.host_consensus_state_proof).as_str())?; } struct_ser.end() @@ -1725,7 +1711,7 @@ impl serde::Serialize for MsgConnectionOpenTry { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1773,7 +1759,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { HostConsensusStateProof, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1782,12 +1768,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1816,11 +1802,11 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenTry; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenTry") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1837,58 +1823,58 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { let mut consensus_height__ = None; let mut signer__ = None; let mut host_consensus_state_proof__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::PreviousConnectionId => { if previous_connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("previousConnectionId")); } - previous_connection_id__ = Some(map_.next_value()?); + previous_connection_id__ = Some(map.next_value()?); } GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } GeneratedField::Counterparty => { if counterparty__.is_some() { return Err(serde::de::Error::duplicate_field("counterparty")); } - counterparty__ = map_.next_value()?; + counterparty__ = map.next_value()?; } GeneratedField::DelayPeriod => { if delay_period__.is_some() { return Err(serde::de::Error::duplicate_field("delayPeriod")); } delay_period__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::CounterpartyVersions => { if counterparty_versions__.is_some() { return Err(serde::de::Error::duplicate_field("counterpartyVersions")); } - counterparty_versions__ = Some(map_.next_value()?); + counterparty_versions__ = Some(map.next_value()?); } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } GeneratedField::ProofInit => { if proof_init__.is_some() { return Err(serde::de::Error::duplicate_field("proofInit")); } proof_init__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofClient => { @@ -1896,7 +1882,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { return Err(serde::de::Error::duplicate_field("proofClient")); } proof_client__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofConsensus => { @@ -1904,27 +1890,27 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { return Err(serde::de::Error::duplicate_field("proofConsensus")); } proof_consensus__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ConsensusHeight => { if consensus_height__.is_some() { return Err(serde::de::Error::duplicate_field("consensusHeight")); } - consensus_height__ = map_.next_value()?; + consensus_height__ = map.next_value()?; } GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::HostConsensusStateProof => { if host_consensus_state_proof__.is_some() { return Err(serde::de::Error::duplicate_field("hostConsensusStateProof")); } host_consensus_state_proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1951,7 +1937,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTry { } impl serde::Serialize for MsgConnectionOpenTryResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1963,7 +1949,7 @@ impl serde::Serialize for MsgConnectionOpenTryResponse { } impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTryResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1974,7 +1960,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTryResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1983,12 +1969,12 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTryResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2002,16 +1988,16 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTryResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgConnectionOpenTryResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgConnectionOpenTryResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgConnectionOpenTryResponse { }) @@ -2022,7 +2008,7 @@ impl<'de> serde::Deserialize<'de> for MsgConnectionOpenTryResponse { } impl serde::Serialize for MsgUpdateParams { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2046,7 +2032,7 @@ impl serde::Serialize for MsgUpdateParams { } impl<'de> serde::Deserialize<'de> for MsgUpdateParams { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2061,7 +2047,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2070,12 +2056,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2093,29 +2079,29 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParams; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgUpdateParams") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signer__ = None; let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signer => { if signer__.is_some() { return Err(serde::de::Error::duplicate_field("signer")); } - signer__ = Some(map_.next_value()?); + signer__ = Some(map.next_value()?); } GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -2130,7 +2116,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParams { } impl serde::Serialize for MsgUpdateParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2142,7 +2128,7 @@ impl serde::Serialize for MsgUpdateParamsResponse { } impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2153,7 +2139,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2162,12 +2148,12 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2181,16 +2167,16 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = MsgUpdateParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.MsgUpdateParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(MsgUpdateParamsResponse { }) @@ -2201,7 +2187,7 @@ impl<'de> serde::Deserialize<'de> for MsgUpdateParamsResponse { } impl serde::Serialize for Params { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2212,15 +2198,14 @@ impl serde::Serialize for Params { } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Params", len)?; if self.max_expected_time_per_block != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("maxExpectedTimePerBlock", ToString::to_string(&self.max_expected_time_per_block).as_str())?; + struct_ser.serialize_field("maxExpectedTimePerBlock", ::alloc::string::ToString::to_string(&self.max_expected_time_per_block).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Params { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2234,7 +2219,7 @@ impl<'de> serde::Deserialize<'de> for Params { MaxExpectedTimePerBlock, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2243,12 +2228,12 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2265,23 +2250,23 @@ impl<'de> serde::Deserialize<'de> for Params { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Params; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.Params") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut max_expected_time_per_block__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::MaxExpectedTimePerBlock => { if max_expected_time_per_block__.is_some() { return Err(serde::de::Error::duplicate_field("maxExpectedTimePerBlock")); } max_expected_time_per_block__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2296,7 +2281,7 @@ impl<'de> serde::Deserialize<'de> for Params { } impl serde::Serialize for QueryClientConnectionsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2314,7 +2299,7 @@ impl serde::Serialize for QueryClientConnectionsRequest { } impl<'de> serde::Deserialize<'de> for QueryClientConnectionsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2328,7 +2313,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsRequest { ClientId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2337,12 +2322,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2359,22 +2344,22 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientConnectionsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryClientConnectionsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } } } @@ -2388,7 +2373,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsRequest { } impl serde::Serialize for QueryClientConnectionsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2408,7 +2393,6 @@ impl serde::Serialize for QueryClientConnectionsResponse { struct_ser.serialize_field("connectionPaths", &self.connection_paths)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2419,7 +2403,7 @@ impl serde::Serialize for QueryClientConnectionsResponse { } impl<'de> serde::Deserialize<'de> for QueryClientConnectionsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2438,7 +2422,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2447,12 +2431,12 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2471,38 +2455,38 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryClientConnectionsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryClientConnectionsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection_paths__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionPaths => { if connection_paths__.is_some() { return Err(serde::de::Error::duplicate_field("connectionPaths")); } - connection_paths__ = Some(map_.next_value()?); + connection_paths__ = Some(map.next_value()?); } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -2518,7 +2502,7 @@ impl<'de> serde::Deserialize<'de> for QueryClientConnectionsResponse { } impl serde::Serialize for QueryConnectionClientStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2536,7 +2520,7 @@ impl serde::Serialize for QueryConnectionClientStateRequest { } impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2550,7 +2534,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateRequest { ConnectionId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2559,12 +2543,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2581,22 +2565,22 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionClientStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionClientStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } } } @@ -2610,7 +2594,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateRequest { } impl serde::Serialize for QueryConnectionClientStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2630,7 +2614,6 @@ impl serde::Serialize for QueryConnectionClientStateResponse { struct_ser.serialize_field("identifiedClientState", v)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2641,7 +2624,7 @@ impl serde::Serialize for QueryConnectionClientStateResponse { } impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2660,7 +2643,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2669,12 +2652,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2693,38 +2676,38 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionClientStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionClientStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut identified_client_state__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::IdentifiedClientState => { if identified_client_state__.is_some() { return Err(serde::de::Error::duplicate_field("identifiedClientState")); } - identified_client_state__ = map_.next_value()?; + identified_client_state__ = map.next_value()?; } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -2740,7 +2723,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionClientStateResponse { } impl serde::Serialize for QueryConnectionConsensusStateRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2760,19 +2743,17 @@ impl serde::Serialize for QueryConnectionConsensusStateRequest { struct_ser.serialize_field("connectionId", &self.connection_id)?; } if self.revision_number != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionNumber", ToString::to_string(&self.revision_number).as_str())?; + struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } if self.revision_height != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("revisionHeight", ToString::to_string(&self.revision_height).as_str())?; + struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2792,7 +2773,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { RevisionHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2801,12 +2782,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2825,31 +2806,31 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionConsensusStateRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionConsensusStateRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection_id__ = None; let mut revision_number__ = None; let mut revision_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } GeneratedField::RevisionNumber => { if revision_number__.is_some() { return Err(serde::de::Error::duplicate_field("revisionNumber")); } revision_number__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::RevisionHeight => { @@ -2857,7 +2838,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { return Err(serde::de::Error::duplicate_field("revisionHeight")); } revision_height__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2874,7 +2855,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateRequest { } impl serde::Serialize for QueryConnectionConsensusStateResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2900,7 +2881,6 @@ impl serde::Serialize for QueryConnectionConsensusStateResponse { struct_ser.serialize_field("clientId", &self.client_id)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2911,7 +2891,7 @@ impl serde::Serialize for QueryConnectionConsensusStateResponse { } impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2933,7 +2913,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2942,12 +2922,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2967,11 +2947,11 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionConsensusStateResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionConsensusStateResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -2979,33 +2959,33 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { let mut client_id__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -3022,7 +3002,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionConsensusStateResponse { } impl serde::Serialize for QueryConnectionParamsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3034,7 +3014,7 @@ impl serde::Serialize for QueryConnectionParamsRequest { } impl<'de> serde::Deserialize<'de> for QueryConnectionParamsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3045,7 +3025,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsRequest { enum GeneratedField { } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3054,12 +3034,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3073,16 +3053,16 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionParamsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionParamsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; + while map.next_key::()?.is_some() { + let _ = map.next_value::()?; } Ok(QueryConnectionParamsRequest { }) @@ -3093,7 +3073,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsRequest { } impl serde::Serialize for QueryConnectionParamsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3111,7 +3091,7 @@ impl serde::Serialize for QueryConnectionParamsResponse { } impl<'de> serde::Deserialize<'de> for QueryConnectionParamsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3124,7 +3104,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsResponse { Params, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3133,12 +3113,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3155,22 +3135,22 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionParamsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionParamsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut params__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Params => { if params__.is_some() { return Err(serde::de::Error::duplicate_field("params")); } - params__ = map_.next_value()?; + params__ = map.next_value()?; } } } @@ -3184,7 +3164,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionParamsResponse { } impl serde::Serialize for QueryConnectionRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3202,7 +3182,7 @@ impl serde::Serialize for QueryConnectionRequest { } impl<'de> serde::Deserialize<'de> for QueryConnectionRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3216,7 +3196,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionRequest { ConnectionId, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3225,12 +3205,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3247,22 +3227,22 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection_id__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ConnectionId => { if connection_id__.is_some() { return Err(serde::de::Error::duplicate_field("connectionId")); } - connection_id__ = Some(map_.next_value()?); + connection_id__ = Some(map.next_value()?); } } } @@ -3276,7 +3256,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionRequest { } impl serde::Serialize for QueryConnectionResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3296,7 +3276,6 @@ impl serde::Serialize for QueryConnectionResponse { struct_ser.serialize_field("connection", v)?; } if !self.proof.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -3307,7 +3286,7 @@ impl serde::Serialize for QueryConnectionResponse { } impl<'de> serde::Deserialize<'de> for QueryConnectionResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3325,7 +3304,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionResponse { ProofHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3334,12 +3313,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3358,38 +3337,38 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connection__ = None; let mut proof__ = None; let mut proof_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Connection => { if connection__.is_some() { return Err(serde::de::Error::duplicate_field("connection")); } - connection__ = map_.next_value()?; + connection__ = map.next_value()?; } GeneratedField::Proof => { if proof__.is_some() { return Err(serde::de::Error::duplicate_field("proof")); } proof__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ProofHeight => { if proof_height__.is_some() { return Err(serde::de::Error::duplicate_field("proofHeight")); } - proof_height__ = map_.next_value()?; + proof_height__ = map.next_value()?; } } } @@ -3405,7 +3384,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionResponse { } impl serde::Serialize for QueryConnectionsRequest { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3423,7 +3402,7 @@ impl serde::Serialize for QueryConnectionsRequest { } impl<'de> serde::Deserialize<'de> for QueryConnectionsRequest { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3436,7 +3415,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsRequest { Pagination, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3445,12 +3424,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3467,22 +3446,22 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsRequest { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionsRequest; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionsRequest") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut pagination__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } } } @@ -3496,7 +3475,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsRequest { } impl serde::Serialize for QueryConnectionsResponse { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3526,7 +3505,7 @@ impl serde::Serialize for QueryConnectionsResponse { } impl<'de> serde::Deserialize<'de> for QueryConnectionsResponse { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3543,7 +3522,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsResponse { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3552,12 +3531,12 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3576,36 +3555,36 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsResponse { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = QueryConnectionsResponse; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.QueryConnectionsResponse") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut connections__ = None; let mut pagination__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Connections => { if connections__.is_some() { return Err(serde::de::Error::duplicate_field("connections")); } - connections__ = Some(map_.next_value()?); + connections__ = Some(map.next_value()?); } GeneratedField::Pagination => { if pagination__.is_some() { return Err(serde::de::Error::duplicate_field("pagination")); } - pagination__ = map_.next_value()?; + pagination__ = map.next_value()?; } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } @@ -3621,7 +3600,7 @@ impl<'de> serde::Deserialize<'de> for QueryConnectionsResponse { } impl serde::Serialize for State { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3636,7 +3615,7 @@ impl serde::Serialize for State { } impl<'de> serde::Deserialize<'de> for State { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3652,35 +3631,37 @@ impl<'de> serde::Deserialize<'de> for State { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = State; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(State::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(State::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3698,7 +3679,7 @@ impl<'de> serde::Deserialize<'de> for State { } impl serde::Serialize for Version { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -3722,7 +3703,7 @@ impl serde::Serialize for Version { } impl<'de> serde::Deserialize<'de> for Version { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3737,7 +3718,7 @@ impl<'de> serde::Deserialize<'de> for Version { Features, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -3746,12 +3727,12 @@ impl<'de> serde::Deserialize<'de> for Version { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -3769,29 +3750,29 @@ impl<'de> serde::Deserialize<'de> for Version { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Version; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.connection.v1.Version") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut identifier__ = None; let mut features__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Identifier => { if identifier__.is_some() { return Err(serde::de::Error::duplicate_field("identifier")); } - identifier__ = Some(map_.next_value()?); + identifier__ = Some(map.next_value()?); } GeneratedField::Features => { if features__.is_some() { return Err(serde::de::Error::duplicate_field("features")); } - features__ = Some(map_.next_value()?); + features__ = Some(map.next_value()?); } } } diff --git a/src/prost/ibc.core.types.v1.serde.rs b/src/prost/ibc.core.types.v1.serde.rs index b7330653..2c010ab0 100644 --- a/src/prost/ibc.core.types.v1.serde.rs +++ b/src/prost/ibc.core.types.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for GenesisState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -30,7 +30,7 @@ impl serde::Serialize for GenesisState { } impl<'de> serde::Deserialize<'de> for GenesisState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,7 +50,7 @@ impl<'de> serde::Deserialize<'de> for GenesisState { ChannelGenesis, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -59,12 +59,12 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -83,36 +83,36 @@ impl<'de> serde::Deserialize<'de> for GenesisState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GenesisState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.core.types.v1.GenesisState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_genesis__ = None; let mut connection_genesis__ = None; let mut channel_genesis__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientGenesis => { if client_genesis__.is_some() { return Err(serde::de::Error::duplicate_field("clientGenesis")); } - client_genesis__ = map_.next_value()?; + client_genesis__ = map.next_value()?; } GeneratedField::ConnectionGenesis => { if connection_genesis__.is_some() { return Err(serde::de::Error::duplicate_field("connectionGenesis")); } - connection_genesis__ = map_.next_value()?; + connection_genesis__ = map.next_value()?; } GeneratedField::ChannelGenesis => { if channel_genesis__.is_some() { return Err(serde::de::Error::duplicate_field("channelGenesis")); } - channel_genesis__ = map_.next_value()?; + channel_genesis__ = map.next_value()?; } } } diff --git a/src/prost/ibc.lightclients.localhost.v1.serde.rs b/src/prost/ibc.lightclients.localhost.v1.serde.rs index e32f96fa..5a0e3200 100644 --- a/src/prost/ibc.lightclients.localhost.v1.serde.rs +++ b/src/prost/ibc.lightclients.localhost.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -24,7 +24,7 @@ impl serde::Serialize for ClientState { } impl<'de> serde::Deserialize<'de> for ClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,7 +40,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { Height, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,12 +49,12 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -72,29 +72,29 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.localhost.v1.ClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut chain_id__ = None; let mut height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChainId => { if chain_id__.is_some() { return Err(serde::de::Error::duplicate_field("chainId")); } - chain_id__ = Some(map_.next_value()?); + chain_id__ = Some(map.next_value()?); } GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } } } diff --git a/src/prost/ibc.lightclients.localhost.v2.serde.rs b/src/prost/ibc.lightclients.localhost.v2.serde.rs index cd20f930..9362ce88 100644 --- a/src/prost/ibc.lightclients.localhost.v2.serde.rs +++ b/src/prost/ibc.lightclients.localhost.v2.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for ClientState { } impl<'de> serde::Deserialize<'de> for ClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -32,7 +32,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { LatestHeight, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -41,12 +41,12 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -63,22 +63,22 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.localhost.v2.ClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut latest_height__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::LatestHeight => { if latest_height__.is_some() { return Err(serde::de::Error::duplicate_field("latestHeight")); } - latest_height__ = map_.next_value()?; + latest_height__ = map.next_value()?; } } } diff --git a/src/prost/ibc.lightclients.solomachine.v2.serde.rs b/src/prost/ibc.lightclients.solomachine.v2.serde.rs index e2dc4726..ee7489e9 100644 --- a/src/prost/ibc.lightclients.solomachine.v2.serde.rs +++ b/src/prost/ibc.lightclients.solomachine.v2.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ChannelStateData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -14,7 +14,6 @@ impl serde::Serialize for ChannelStateData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ChannelStateData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.channel.as_ref() { @@ -25,7 +24,7 @@ impl serde::Serialize for ChannelStateData { } impl<'de> serde::Deserialize<'de> for ChannelStateData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,7 +39,7 @@ impl<'de> serde::Deserialize<'de> for ChannelStateData { Channel, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -49,12 +48,12 @@ impl<'de> serde::Deserialize<'de> for ChannelStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -72,31 +71,31 @@ impl<'de> serde::Deserialize<'de> for ChannelStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ChannelStateData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.ChannelStateData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut channel__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Channel => { if channel__.is_some() { return Err(serde::de::Error::duplicate_field("channel")); } - channel__ = map_.next_value()?; + channel__ = map.next_value()?; } } } @@ -111,7 +110,7 @@ impl<'de> serde::Deserialize<'de> for ChannelStateData { } impl serde::Serialize for ClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -131,8 +130,7 @@ impl serde::Serialize for ClientState { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ClientState", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if self.is_frozen { struct_ser.serialize_field("isFrozen", &self.is_frozen)?; @@ -148,7 +146,7 @@ impl serde::Serialize for ClientState { } impl<'de> serde::Deserialize<'de> for ClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -170,7 +168,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { AllowUpdateAfterProposal, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -179,12 +177,12 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -204,11 +202,11 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.ClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -216,33 +214,33 @@ impl<'de> serde::Deserialize<'de> for ClientState { let mut is_frozen__ = None; let mut consensus_state__ = None; let mut allow_update_after_proposal__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::IsFrozen => { if is_frozen__.is_some() { return Err(serde::de::Error::duplicate_field("isFrozen")); } - is_frozen__ = Some(map_.next_value()?); + is_frozen__ = Some(map.next_value()?); } GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } GeneratedField::AllowUpdateAfterProposal => { if allow_update_after_proposal__.is_some() { return Err(serde::de::Error::duplicate_field("allowUpdateAfterProposal")); } - allow_update_after_proposal__ = Some(map_.next_value()?); + allow_update_after_proposal__ = Some(map.next_value()?); } } } @@ -259,7 +257,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { } impl serde::Serialize for ClientStateData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -273,7 +271,6 @@ impl serde::Serialize for ClientStateData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ClientStateData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.client_state.as_ref() { @@ -284,7 +281,7 @@ impl serde::Serialize for ClientStateData { } impl<'de> serde::Deserialize<'de> for ClientStateData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -300,7 +297,7 @@ impl<'de> serde::Deserialize<'de> for ClientStateData { ClientState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -309,12 +306,12 @@ impl<'de> serde::Deserialize<'de> for ClientStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -332,31 +329,31 @@ impl<'de> serde::Deserialize<'de> for ClientStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientStateData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.ClientStateData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut client_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ClientState => { if client_state__.is_some() { return Err(serde::de::Error::duplicate_field("clientState")); } - client_state__ = map_.next_value()?; + client_state__ = map.next_value()?; } } } @@ -371,7 +368,7 @@ impl<'de> serde::Deserialize<'de> for ClientStateData { } impl serde::Serialize for ConnectionStateData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -385,7 +382,6 @@ impl serde::Serialize for ConnectionStateData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConnectionStateData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.connection.as_ref() { @@ -396,7 +392,7 @@ impl serde::Serialize for ConnectionStateData { } impl<'de> serde::Deserialize<'de> for ConnectionStateData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -411,7 +407,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionStateData { Connection, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -420,12 +416,12 @@ impl<'de> serde::Deserialize<'de> for ConnectionStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -443,31 +439,31 @@ impl<'de> serde::Deserialize<'de> for ConnectionStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConnectionStateData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.ConnectionStateData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut connection__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Connection => { if connection__.is_some() { return Err(serde::de::Error::duplicate_field("connection")); } - connection__ = map_.next_value()?; + connection__ = map.next_value()?; } } } @@ -482,7 +478,7 @@ impl<'de> serde::Deserialize<'de> for ConnectionStateData { } impl serde::Serialize for ConsensusState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -505,15 +501,14 @@ impl serde::Serialize for ConsensusState { struct_ser.serialize_field("diversifier", &self.diversifier)?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for ConsensusState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -531,7 +526,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -540,12 +535,12 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -564,37 +559,37 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConsensusState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.ConsensusState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut public_key__ = None; let mut diversifier__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PublicKey => { if public_key__.is_some() { return Err(serde::de::Error::duplicate_field("publicKey")); } - public_key__ = map_.next_value()?; + public_key__ = map.next_value()?; } GeneratedField::Diversifier => { if diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("diversifier")); } - diversifier__ = Some(map_.next_value()?); + diversifier__ = Some(map.next_value()?); } GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -611,7 +606,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { } impl serde::Serialize for ConsensusStateData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -625,7 +620,6 @@ impl serde::Serialize for ConsensusStateData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConsensusStateData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.consensus_state.as_ref() { @@ -636,7 +630,7 @@ impl serde::Serialize for ConsensusStateData { } impl<'de> serde::Deserialize<'de> for ConsensusStateData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -652,7 +646,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateData { ConsensusState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -661,12 +655,12 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -684,31 +678,31 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConsensusStateData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.ConsensusStateData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut consensus_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } } } @@ -723,7 +717,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusStateData { } impl serde::Serialize for DataType { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -744,7 +738,7 @@ impl serde::Serialize for DataType { } impl<'de> serde::Deserialize<'de> for DataType { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -766,35 +760,37 @@ impl<'de> serde::Deserialize<'de> for DataType { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = DataType; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_i64(self, v: i64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(DataType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) }) } - fn visit_u64(self, v: u64) -> std::result::Result + fn visit_u64(self, v: u64) -> core::result::Result where E: serde::de::Error, { + use core::convert::TryFrom; i32::try_from(v) .ok() - .and_then(|x| x.try_into().ok()) + .and_then(DataType::from_i32) .ok_or_else(|| { serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) }) } - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -818,7 +814,7 @@ impl<'de> serde::Deserialize<'de> for DataType { } impl serde::Serialize for Header { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -841,15 +837,12 @@ impl serde::Serialize for Header { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.Header", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } if !self.signature.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } if let Some(v) = self.new_public_key.as_ref() { @@ -863,7 +856,7 @@ impl serde::Serialize for Header { } impl<'de> serde::Deserialize<'de> for Header { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -886,7 +879,7 @@ impl<'de> serde::Deserialize<'de> for Header { NewDiversifier, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -895,12 +888,12 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -921,11 +914,11 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Header; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.Header") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -934,14 +927,14 @@ impl<'de> serde::Deserialize<'de> for Header { let mut signature__ = None; let mut new_public_key__ = None; let mut new_diversifier__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -949,7 +942,7 @@ impl<'de> serde::Deserialize<'de> for Header { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Signature => { @@ -957,20 +950,20 @@ impl<'de> serde::Deserialize<'de> for Header { return Err(serde::de::Error::duplicate_field("signature")); } signature__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::NewPublicKey => { if new_public_key__.is_some() { return Err(serde::de::Error::duplicate_field("newPublicKey")); } - new_public_key__ = map_.next_value()?; + new_public_key__ = map.next_value()?; } GeneratedField::NewDiversifier => { if new_diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("newDiversifier")); } - new_diversifier__ = Some(map_.next_value()?); + new_diversifier__ = Some(map.next_value()?); } } } @@ -988,7 +981,7 @@ impl<'de> serde::Deserialize<'de> for Header { } impl serde::Serialize for HeaderData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1012,7 +1005,7 @@ impl serde::Serialize for HeaderData { } impl<'de> serde::Deserialize<'de> for HeaderData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1029,7 +1022,7 @@ impl<'de> serde::Deserialize<'de> for HeaderData { NewDiversifier, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1038,12 +1031,12 @@ impl<'de> serde::Deserialize<'de> for HeaderData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1061,29 +1054,29 @@ impl<'de> serde::Deserialize<'de> for HeaderData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = HeaderData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.HeaderData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut new_pub_key__ = None; let mut new_diversifier__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NewPubKey => { if new_pub_key__.is_some() { return Err(serde::de::Error::duplicate_field("newPubKey")); } - new_pub_key__ = map_.next_value()?; + new_pub_key__ = map.next_value()?; } GeneratedField::NewDiversifier => { if new_diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("newDiversifier")); } - new_diversifier__ = Some(map_.next_value()?); + new_diversifier__ = Some(map.next_value()?); } } } @@ -1098,7 +1091,7 @@ impl<'de> serde::Deserialize<'de> for HeaderData { } impl serde::Serialize for Misbehaviour { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1121,8 +1114,7 @@ impl serde::Serialize for Misbehaviour { struct_ser.serialize_field("clientId", &self.client_id)?; } if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if let Some(v) = self.signature_one.as_ref() { struct_ser.serialize_field("signatureOne", v)?; @@ -1135,7 +1127,7 @@ impl serde::Serialize for Misbehaviour { } impl<'de> serde::Deserialize<'de> for Misbehaviour { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1157,7 +1149,7 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { SignatureTwo, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1166,12 +1158,12 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1191,11 +1183,11 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Misbehaviour; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.Misbehaviour") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1203,33 +1195,33 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { let mut sequence__ = None; let mut signature_one__ = None; let mut signature_two__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::SignatureOne => { if signature_one__.is_some() { return Err(serde::de::Error::duplicate_field("signatureOne")); } - signature_one__ = map_.next_value()?; + signature_one__ = map.next_value()?; } GeneratedField::SignatureTwo => { if signature_two__.is_some() { return Err(serde::de::Error::duplicate_field("signatureTwo")); } - signature_two__ = map_.next_value()?; + signature_two__ = map.next_value()?; } } } @@ -1246,7 +1238,7 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { } impl serde::Serialize for NextSequenceRecvData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1260,19 +1252,17 @@ impl serde::Serialize for NextSequenceRecvData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.NextSequenceRecvData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if self.next_seq_recv != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("nextSeqRecv", ToString::to_string(&self.next_seq_recv).as_str())?; + struct_ser.serialize_field("nextSeqRecv", ::alloc::string::ToString::to_string(&self.next_seq_recv).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1288,7 +1278,7 @@ impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { NextSeqRecv, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1297,12 +1287,12 @@ impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1320,24 +1310,24 @@ impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = NextSequenceRecvData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.NextSequenceRecvData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut next_seq_recv__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::NextSeqRecv => { @@ -1345,7 +1335,7 @@ impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { return Err(serde::de::Error::duplicate_field("nextSeqRecv")); } next_seq_recv__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -1361,7 +1351,7 @@ impl<'de> serde::Deserialize<'de> for NextSequenceRecvData { } impl serde::Serialize for PacketAcknowledgementData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1375,11 +1365,9 @@ impl serde::Serialize for PacketAcknowledgementData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketAcknowledgementData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if !self.acknowledgement.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; } struct_ser.end() @@ -1387,7 +1375,7 @@ impl serde::Serialize for PacketAcknowledgementData { } impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1402,7 +1390,7 @@ impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { Acknowledgement, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1411,12 +1399,12 @@ impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1434,24 +1422,24 @@ impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketAcknowledgementData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.PacketAcknowledgementData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut acknowledgement__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Acknowledgement => { @@ -1459,7 +1447,7 @@ impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { return Err(serde::de::Error::duplicate_field("acknowledgement")); } acknowledgement__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1475,7 +1463,7 @@ impl<'de> serde::Deserialize<'de> for PacketAcknowledgementData { } impl serde::Serialize for PacketCommitmentData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1489,11 +1477,9 @@ impl serde::Serialize for PacketCommitmentData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketCommitmentData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if !self.commitment.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("commitment", pbjson::private::base64::encode(&self.commitment).as_str())?; } struct_ser.end() @@ -1501,7 +1487,7 @@ impl serde::Serialize for PacketCommitmentData { } impl<'de> serde::Deserialize<'de> for PacketCommitmentData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1516,7 +1502,7 @@ impl<'de> serde::Deserialize<'de> for PacketCommitmentData { Commitment, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1525,12 +1511,12 @@ impl<'de> serde::Deserialize<'de> for PacketCommitmentData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1548,24 +1534,24 @@ impl<'de> serde::Deserialize<'de> for PacketCommitmentData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketCommitmentData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.PacketCommitmentData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; let mut commitment__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Commitment => { @@ -1573,7 +1559,7 @@ impl<'de> serde::Deserialize<'de> for PacketCommitmentData { return Err(serde::de::Error::duplicate_field("commitment")); } commitment__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1589,7 +1575,7 @@ impl<'de> serde::Deserialize<'de> for PacketCommitmentData { } impl serde::Serialize for PacketReceiptAbsenceData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1600,7 +1586,6 @@ impl serde::Serialize for PacketReceiptAbsenceData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData", len)?; if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } struct_ser.end() @@ -1608,7 +1593,7 @@ impl serde::Serialize for PacketReceiptAbsenceData { } impl<'de> serde::Deserialize<'de> for PacketReceiptAbsenceData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1621,7 +1606,7 @@ impl<'de> serde::Deserialize<'de> for PacketReceiptAbsenceData { Path, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1630,12 +1615,12 @@ impl<'de> serde::Deserialize<'de> for PacketReceiptAbsenceData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1652,23 +1637,23 @@ impl<'de> serde::Deserialize<'de> for PacketReceiptAbsenceData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = PacketReceiptAbsenceData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut path__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1683,7 +1668,7 @@ impl<'de> serde::Deserialize<'de> for PacketReceiptAbsenceData { } impl serde::Serialize for SignBytes { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1706,23 +1691,20 @@ impl serde::Serialize for SignBytes { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.SignBytes", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } if !self.diversifier.is_empty() { struct_ser.serialize_field("diversifier", &self.diversifier)?; } if self.data_type != 0 { - let v = DataType::try_from(self.data_type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.data_type)))?; + let v = DataType::from_i32(self.data_type) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.data_type)))?; struct_ser.serialize_field("dataType", &v)?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } struct_ser.end() @@ -1730,7 +1712,7 @@ impl serde::Serialize for SignBytes { } impl<'de> serde::Deserialize<'de> for SignBytes { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1752,7 +1734,7 @@ impl<'de> serde::Deserialize<'de> for SignBytes { Data, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1761,12 +1743,12 @@ impl<'de> serde::Deserialize<'de> for SignBytes { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1787,11 +1769,11 @@ impl<'de> serde::Deserialize<'de> for SignBytes { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignBytes; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.SignBytes") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1800,14 +1782,14 @@ impl<'de> serde::Deserialize<'de> for SignBytes { let mut diversifier__ = None; let mut data_type__ = None; let mut data__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -1815,27 +1797,27 @@ impl<'de> serde::Deserialize<'de> for SignBytes { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Diversifier => { if diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("diversifier")); } - diversifier__ = Some(map_.next_value()?); + diversifier__ = Some(map.next_value()?); } GeneratedField::DataType => { if data_type__.is_some() { return Err(serde::de::Error::duplicate_field("dataType")); } - data_type__ = Some(map_.next_value::()? as i32); + data_type__ = Some(map.next_value::()? as i32); } GeneratedField::Data => { if data__.is_some() { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -1854,7 +1836,7 @@ impl<'de> serde::Deserialize<'de> for SignBytes { } impl serde::Serialize for SignatureAndData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -1874,28 +1856,25 @@ impl serde::Serialize for SignatureAndData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.SignatureAndData", len)?; if !self.signature.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } if self.data_type != 0 { - let v = DataType::try_from(self.data_type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.data_type)))?; + let v = DataType::from_i32(self.data_type) + .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.data_type)))?; struct_ser.serialize_field("dataType", &v)?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for SignatureAndData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1915,7 +1894,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1924,12 +1903,12 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1949,11 +1928,11 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignatureAndData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.SignatureAndData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -1961,28 +1940,28 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { let mut data_type__ = None; let mut data__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signature => { if signature__.is_some() { return Err(serde::de::Error::duplicate_field("signature")); } signature__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::DataType => { if data_type__.is_some() { return Err(serde::de::Error::duplicate_field("dataType")); } - data_type__ = Some(map_.next_value::()? as i32); + data_type__ = Some(map.next_value::()? as i32); } GeneratedField::Data => { if data__.is_some() { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -1990,7 +1969,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -2008,7 +1987,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { } impl serde::Serialize for TimestampedSignatureData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -2022,19 +2001,17 @@ impl serde::Serialize for TimestampedSignatureData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.TimestampedSignatureData", len)?; if !self.signature_data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signatureData", pbjson::private::base64::encode(&self.signature_data).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2050,7 +2027,7 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -2059,12 +2036,12 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -2082,24 +2059,24 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TimestampedSignatureData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v2.TimestampedSignatureData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signature_data__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SignatureData => { if signature_data__.is_some() { return Err(serde::de::Error::duplicate_field("signatureData")); } signature_data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -2107,7 +2084,7 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/ibc.lightclients.solomachine.v3.serde.rs b/src/prost/ibc.lightclients.solomachine.v3.serde.rs index 97dc9dc5..a85233d4 100644 --- a/src/prost/ibc.lightclients.solomachine.v3.serde.rs +++ b/src/prost/ibc.lightclients.solomachine.v3.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -17,8 +17,7 @@ impl serde::Serialize for ClientState { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.ClientState", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if self.is_frozen { struct_ser.serialize_field("isFrozen", &self.is_frozen)?; @@ -31,7 +30,7 @@ impl serde::Serialize for ClientState { } impl<'de> serde::Deserialize<'de> for ClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -50,7 +49,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { ConsensusState, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -59,12 +58,12 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -83,38 +82,38 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.ClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sequence__ = None; let mut is_frozen__ = None; let mut consensus_state__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::IsFrozen => { if is_frozen__.is_some() { return Err(serde::de::Error::duplicate_field("isFrozen")); } - is_frozen__ = Some(map_.next_value()?); + is_frozen__ = Some(map.next_value()?); } GeneratedField::ConsensusState => { if consensus_state__.is_some() { return Err(serde::de::Error::duplicate_field("consensusState")); } - consensus_state__ = map_.next_value()?; + consensus_state__ = map.next_value()?; } } } @@ -130,7 +129,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { } impl serde::Serialize for ConsensusState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -153,15 +152,14 @@ impl serde::Serialize for ConsensusState { struct_ser.serialize_field("diversifier", &self.diversifier)?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for ConsensusState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -179,7 +177,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -188,12 +186,12 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -212,37 +210,37 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConsensusState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.ConsensusState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut public_key__ = None; let mut diversifier__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::PublicKey => { if public_key__.is_some() { return Err(serde::de::Error::duplicate_field("publicKey")); } - public_key__ = map_.next_value()?; + public_key__ = map.next_value()?; } GeneratedField::Diversifier => { if diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("diversifier")); } - diversifier__ = Some(map_.next_value()?); + diversifier__ = Some(map.next_value()?); } GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -259,7 +257,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { } impl serde::Serialize for Header { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -279,11 +277,9 @@ impl serde::Serialize for Header { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.Header", len)?; if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } if !self.signature.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } if let Some(v) = self.new_public_key.as_ref() { @@ -297,7 +293,7 @@ impl serde::Serialize for Header { } impl<'de> serde::Deserialize<'de> for Header { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -318,7 +314,7 @@ impl<'de> serde::Deserialize<'de> for Header { NewDiversifier, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -327,12 +323,12 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -352,11 +348,11 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Header; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.Header") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -364,14 +360,14 @@ impl<'de> serde::Deserialize<'de> for Header { let mut signature__ = None; let mut new_public_key__ = None; let mut new_diversifier__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Signature => { @@ -379,20 +375,20 @@ impl<'de> serde::Deserialize<'de> for Header { return Err(serde::de::Error::duplicate_field("signature")); } signature__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::NewPublicKey => { if new_public_key__.is_some() { return Err(serde::de::Error::duplicate_field("newPublicKey")); } - new_public_key__ = map_.next_value()?; + new_public_key__ = map.next_value()?; } GeneratedField::NewDiversifier => { if new_diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("newDiversifier")); } - new_diversifier__ = Some(map_.next_value()?); + new_diversifier__ = Some(map.next_value()?); } } } @@ -409,7 +405,7 @@ impl<'de> serde::Deserialize<'de> for Header { } impl serde::Serialize for HeaderData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -433,7 +429,7 @@ impl serde::Serialize for HeaderData { } impl<'de> serde::Deserialize<'de> for HeaderData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -450,7 +446,7 @@ impl<'de> serde::Deserialize<'de> for HeaderData { NewDiversifier, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -459,12 +455,12 @@ impl<'de> serde::Deserialize<'de> for HeaderData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -482,29 +478,29 @@ impl<'de> serde::Deserialize<'de> for HeaderData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = HeaderData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.HeaderData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut new_pub_key__ = None; let mut new_diversifier__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::NewPubKey => { if new_pub_key__.is_some() { return Err(serde::de::Error::duplicate_field("newPubKey")); } - new_pub_key__ = map_.next_value()?; + new_pub_key__ = map.next_value()?; } GeneratedField::NewDiversifier => { if new_diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("newDiversifier")); } - new_diversifier__ = Some(map_.next_value()?); + new_diversifier__ = Some(map.next_value()?); } } } @@ -519,7 +515,7 @@ impl<'de> serde::Deserialize<'de> for HeaderData { } impl serde::Serialize for Misbehaviour { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -536,8 +532,7 @@ impl serde::Serialize for Misbehaviour { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.Misbehaviour", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if let Some(v) = self.signature_one.as_ref() { struct_ser.serialize_field("signatureOne", v)?; @@ -550,7 +545,7 @@ impl serde::Serialize for Misbehaviour { } impl<'de> serde::Deserialize<'de> for Misbehaviour { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -569,7 +564,7 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { SignatureTwo, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -578,12 +573,12 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -602,38 +597,38 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Misbehaviour; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.Misbehaviour") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut sequence__ = None; let mut signature_one__ = None; let mut signature_two__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::SignatureOne => { if signature_one__.is_some() { return Err(serde::de::Error::duplicate_field("signatureOne")); } - signature_one__ = map_.next_value()?; + signature_one__ = map.next_value()?; } GeneratedField::SignatureTwo => { if signature_two__.is_some() { return Err(serde::de::Error::duplicate_field("signatureTwo")); } - signature_two__ = map_.next_value()?; + signature_two__ = map.next_value()?; } } } @@ -649,7 +644,7 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { } impl serde::Serialize for SignBytes { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -672,22 +667,18 @@ impl serde::Serialize for SignBytes { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.SignBytes", len)?; if self.sequence != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("sequence", ToString::to_string(&self.sequence).as_str())?; + struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } if !self.diversifier.is_empty() { struct_ser.serialize_field("diversifier", &self.diversifier)?; } if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } struct_ser.end() @@ -695,7 +686,7 @@ impl serde::Serialize for SignBytes { } impl<'de> serde::Deserialize<'de> for SignBytes { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -716,7 +707,7 @@ impl<'de> serde::Deserialize<'de> for SignBytes { Data, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -725,12 +716,12 @@ impl<'de> serde::Deserialize<'de> for SignBytes { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -751,11 +742,11 @@ impl<'de> serde::Deserialize<'de> for SignBytes { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignBytes; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.SignBytes") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -764,14 +755,14 @@ impl<'de> serde::Deserialize<'de> for SignBytes { let mut diversifier__ = None; let mut path__ = None; let mut data__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Sequence => { if sequence__.is_some() { return Err(serde::de::Error::duplicate_field("sequence")); } sequence__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -779,21 +770,21 @@ impl<'de> serde::Deserialize<'de> for SignBytes { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Diversifier => { if diversifier__.is_some() { return Err(serde::de::Error::duplicate_field("diversifier")); } - diversifier__ = Some(map_.next_value()?); + diversifier__ = Some(map.next_value()?); } GeneratedField::Path => { if path__.is_some() { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Data => { @@ -801,7 +792,7 @@ impl<'de> serde::Deserialize<'de> for SignBytes { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -820,7 +811,7 @@ impl<'de> serde::Deserialize<'de> for SignBytes { } impl serde::Serialize for SignatureAndData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -840,27 +831,23 @@ impl serde::Serialize for SignatureAndData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.SignatureAndData", len)?; if !self.signature.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } if !self.path.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if !self.data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for SignatureAndData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -879,7 +866,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -888,12 +875,12 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -913,11 +900,11 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = SignatureAndData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.SignatureAndData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -925,14 +912,14 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { let mut path__ = None; let mut data__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Signature => { if signature__.is_some() { return Err(serde::de::Error::duplicate_field("signature")); } signature__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Path => { @@ -940,7 +927,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { return Err(serde::de::Error::duplicate_field("path")); } path__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Data => { @@ -948,7 +935,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { return Err(serde::de::Error::duplicate_field("data")); } data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -956,7 +943,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -974,7 +961,7 @@ impl<'de> serde::Deserialize<'de> for SignatureAndData { } impl serde::Serialize for TimestampedSignatureData { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -988,19 +975,17 @@ impl serde::Serialize for TimestampedSignatureData { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.TimestampedSignatureData", len)?; if !self.signature_data.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("signatureData", pbjson::private::base64::encode(&self.signature_data).as_str())?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1016,7 +1001,7 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -1025,12 +1010,12 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -1048,24 +1033,24 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = TimestampedSignatureData; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.solomachine.v3.TimestampedSignatureData") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut signature_data__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SignatureData => { if signature_data__.is_some() { return Err(serde::de::Error::duplicate_field("signatureData")); } signature_data__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } GeneratedField::Timestamp => { @@ -1073,7 +1058,7 @@ impl<'de> serde::Deserialize<'de> for TimestampedSignatureData { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } diff --git a/src/prost/ibc.lightclients.tendermint.v1.serde.rs b/src/prost/ibc.lightclients.tendermint.v1.serde.rs index f1902ad2..62757823 100644 --- a/src/prost/ibc.lightclients.tendermint.v1.serde.rs +++ b/src/prost/ibc.lightclients.tendermint.v1.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -78,7 +78,7 @@ impl serde::Serialize for ClientState { } impl<'de> serde::Deserialize<'de> for ClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -122,7 +122,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { AllowUpdateAfterMisbehaviour, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -131,12 +131,12 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -163,11 +163,11 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.tendermint.v1.ClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -182,73 +182,73 @@ impl<'de> serde::Deserialize<'de> for ClientState { let mut upgrade_path__ = None; let mut allow_update_after_expiry__ = None; let mut allow_update_after_misbehaviour__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ChainId => { if chain_id__.is_some() { return Err(serde::de::Error::duplicate_field("chainId")); } - chain_id__ = Some(map_.next_value()?); + chain_id__ = Some(map.next_value()?); } GeneratedField::TrustLevel => { if trust_level__.is_some() { return Err(serde::de::Error::duplicate_field("trustLevel")); } - trust_level__ = map_.next_value()?; + trust_level__ = map.next_value()?; } GeneratedField::TrustingPeriod => { if trusting_period__.is_some() { return Err(serde::de::Error::duplicate_field("trustingPeriod")); } - trusting_period__ = map_.next_value()?; + trusting_period__ = map.next_value()?; } GeneratedField::UnbondingPeriod => { if unbonding_period__.is_some() { return Err(serde::de::Error::duplicate_field("unbondingPeriod")); } - unbonding_period__ = map_.next_value()?; + unbonding_period__ = map.next_value()?; } GeneratedField::MaxClockDrift => { if max_clock_drift__.is_some() { return Err(serde::de::Error::duplicate_field("maxClockDrift")); } - max_clock_drift__ = map_.next_value()?; + max_clock_drift__ = map.next_value()?; } GeneratedField::FrozenHeight => { if frozen_height__.is_some() { return Err(serde::de::Error::duplicate_field("frozenHeight")); } - frozen_height__ = map_.next_value()?; + frozen_height__ = map.next_value()?; } GeneratedField::LatestHeight => { if latest_height__.is_some() { return Err(serde::de::Error::duplicate_field("latestHeight")); } - latest_height__ = map_.next_value()?; + latest_height__ = map.next_value()?; } GeneratedField::ProofSpecs => { if proof_specs__.is_some() { return Err(serde::de::Error::duplicate_field("proofSpecs")); } - proof_specs__ = Some(map_.next_value()?); + proof_specs__ = Some(map.next_value()?); } GeneratedField::UpgradePath => { if upgrade_path__.is_some() { return Err(serde::de::Error::duplicate_field("upgradePath")); } - upgrade_path__ = Some(map_.next_value()?); + upgrade_path__ = Some(map.next_value()?); } GeneratedField::AllowUpdateAfterExpiry => { if allow_update_after_expiry__.is_some() { return Err(serde::de::Error::duplicate_field("allowUpdateAfterExpiry")); } - allow_update_after_expiry__ = Some(map_.next_value()?); + allow_update_after_expiry__ = Some(map.next_value()?); } GeneratedField::AllowUpdateAfterMisbehaviour => { if allow_update_after_misbehaviour__.is_some() { return Err(serde::de::Error::duplicate_field("allowUpdateAfterMisbehaviour")); } - allow_update_after_misbehaviour__ = Some(map_.next_value()?); + allow_update_after_misbehaviour__ = Some(map.next_value()?); } } } @@ -272,7 +272,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { } impl serde::Serialize for ConsensusState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -295,7 +295,6 @@ impl serde::Serialize for ConsensusState { struct_ser.serialize_field("root", v)?; } if !self.next_validators_hash.is_empty() { - #[allow(clippy::needless_borrow)] struct_ser.serialize_field("nextValidatorsHash", pbjson::private::base64::encode(&self.next_validators_hash).as_str())?; } struct_ser.end() @@ -303,7 +302,7 @@ impl serde::Serialize for ConsensusState { } impl<'de> serde::Deserialize<'de> for ConsensusState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -321,7 +320,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { NextValidatorsHash, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -330,12 +329,12 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -354,37 +353,37 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConsensusState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.tendermint.v1.ConsensusState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut timestamp__ = None; let mut root__ = None; let mut next_validators_hash__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } - timestamp__ = map_.next_value()?; + timestamp__ = map.next_value()?; } GeneratedField::Root => { if root__.is_some() { return Err(serde::de::Error::duplicate_field("root")); } - root__ = map_.next_value()?; + root__ = map.next_value()?; } GeneratedField::NextValidatorsHash => { if next_validators_hash__.is_some() { return Err(serde::de::Error::duplicate_field("nextValidatorsHash")); } next_validators_hash__ = - Some(map_.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::BytesDeserialize<_>>()?.0) ; } } @@ -401,7 +400,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { } impl serde::Serialize for Fraction { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -415,19 +414,17 @@ impl serde::Serialize for Fraction { } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Fraction", len)?; if self.numerator != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("numerator", ToString::to_string(&self.numerator).as_str())?; + struct_ser.serialize_field("numerator", ::alloc::string::ToString::to_string(&self.numerator).as_str())?; } if self.denominator != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("denominator", ToString::to_string(&self.denominator).as_str())?; + struct_ser.serialize_field("denominator", ::alloc::string::ToString::to_string(&self.denominator).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Fraction { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -442,7 +439,7 @@ impl<'de> serde::Deserialize<'de> for Fraction { Denominator, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -451,12 +448,12 @@ impl<'de> serde::Deserialize<'de> for Fraction { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -474,24 +471,24 @@ impl<'de> serde::Deserialize<'de> for Fraction { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Fraction; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.tendermint.v1.Fraction") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut numerator__ = None; let mut denominator__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Numerator => { if numerator__.is_some() { return Err(serde::de::Error::duplicate_field("numerator")); } numerator__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } GeneratedField::Denominator => { @@ -499,7 +496,7 @@ impl<'de> serde::Deserialize<'de> for Fraction { return Err(serde::de::Error::duplicate_field("denominator")); } denominator__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -515,7 +512,7 @@ impl<'de> serde::Deserialize<'de> for Fraction { } impl serde::Serialize for Header { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -551,7 +548,7 @@ impl serde::Serialize for Header { } impl<'de> serde::Deserialize<'de> for Header { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -574,7 +571,7 @@ impl<'de> serde::Deserialize<'de> for Header { TrustedValidators, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -583,12 +580,12 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -608,11 +605,11 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Header; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.tendermint.v1.Header") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { @@ -620,31 +617,31 @@ impl<'de> serde::Deserialize<'de> for Header { let mut validator_set__ = None; let mut trusted_height__ = None; let mut trusted_validators__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::SignedHeader => { if signed_header__.is_some() { return Err(serde::de::Error::duplicate_field("signedHeader")); } - signed_header__ = map_.next_value()?; + signed_header__ = map.next_value()?; } GeneratedField::ValidatorSet => { if validator_set__.is_some() { return Err(serde::de::Error::duplicate_field("validatorSet")); } - validator_set__ = map_.next_value()?; + validator_set__ = map.next_value()?; } GeneratedField::TrustedHeight => { if trusted_height__.is_some() { return Err(serde::de::Error::duplicate_field("trustedHeight")); } - trusted_height__ = map_.next_value()?; + trusted_height__ = map.next_value()?; } GeneratedField::TrustedValidators => { if trusted_validators__.is_some() { return Err(serde::de::Error::duplicate_field("trustedValidators")); } - trusted_validators__ = map_.next_value()?; + trusted_validators__ = map.next_value()?; } } } @@ -661,7 +658,7 @@ impl<'de> serde::Deserialize<'de> for Header { } impl serde::Serialize for Misbehaviour { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -691,7 +688,7 @@ impl serde::Serialize for Misbehaviour { } impl<'de> serde::Deserialize<'de> for Misbehaviour { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -711,7 +708,7 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { Header2, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -720,12 +717,12 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -744,36 +741,36 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Misbehaviour; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.lightclients.tendermint.v1.Misbehaviour") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut header_1__ = None; let mut header_2__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Header1 => { if header_1__.is_some() { return Err(serde::de::Error::duplicate_field("header1")); } - header_1__ = map_.next_value()?; + header_1__ = map.next_value()?; } GeneratedField::Header2 => { if header_2__.is_some() { return Err(serde::de::Error::duplicate_field("header2")); } - header_2__ = map_.next_value()?; + header_2__ = map.next_value()?; } } } diff --git a/src/prost/ibc.mock.serde.rs b/src/prost/ibc.mock.serde.rs index ceb4c54d..3b45aa41 100644 --- a/src/prost/ibc.mock.serde.rs +++ b/src/prost/ibc.mock.serde.rs @@ -1,6 +1,6 @@ impl serde::Serialize for ClientState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -18,7 +18,7 @@ impl serde::Serialize for ClientState { } impl<'de> serde::Deserialize<'de> for ClientState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -31,7 +31,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { Header, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -40,12 +40,12 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -62,22 +62,22 @@ impl<'de> serde::Deserialize<'de> for ClientState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ClientState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.mock.ClientState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut header__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Header => { if header__.is_some() { return Err(serde::de::Error::duplicate_field("header")); } - header__ = map_.next_value()?; + header__ = map.next_value()?; } } } @@ -91,7 +91,7 @@ impl<'de> serde::Deserialize<'de> for ClientState { } impl serde::Serialize for ConsensusState { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -109,7 +109,7 @@ impl serde::Serialize for ConsensusState { } impl<'de> serde::Deserialize<'de> for ConsensusState { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -122,7 +122,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { Header, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -131,12 +131,12 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -153,22 +153,22 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = ConsensusState; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.mock.ConsensusState") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut header__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Header => { if header__.is_some() { return Err(serde::de::Error::duplicate_field("header")); } - header__ = map_.next_value()?; + header__ = map.next_value()?; } } } @@ -182,7 +182,7 @@ impl<'de> serde::Deserialize<'de> for ConsensusState { } impl serde::Serialize for Header { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -199,15 +199,14 @@ impl serde::Serialize for Header { struct_ser.serialize_field("height", v)?; } if self.timestamp != 0 { - #[allow(clippy::needless_borrow)] - struct_ser.serialize_field("timestamp", ToString::to_string(&self.timestamp).as_str())?; + struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() } } impl<'de> serde::Deserialize<'de> for Header { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -222,7 +221,7 @@ impl<'de> serde::Deserialize<'de> for Header { Timestamp, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -231,12 +230,12 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -254,30 +253,30 @@ impl<'de> serde::Deserialize<'de> for Header { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Header; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.mock.Header") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut height__ = None; let mut timestamp__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::Height => { if height__.is_some() { return Err(serde::de::Error::duplicate_field("height")); } - height__ = map_.next_value()?; + height__ = map.next_value()?; } GeneratedField::Timestamp => { if timestamp__.is_some() { return Err(serde::de::Error::duplicate_field("timestamp")); } timestamp__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + Some(map.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) ; } } @@ -293,7 +292,7 @@ impl<'de> serde::Deserialize<'de> for Header { } impl serde::Serialize for Misbehaviour { #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result + fn serialize(&self, serializer: S) -> core::result::Result where S: serde::Serializer, { @@ -323,7 +322,7 @@ impl serde::Serialize for Misbehaviour { } impl<'de> serde::Deserialize<'de> for Misbehaviour { #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -341,7 +340,7 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { Header2, } impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result + fn deserialize(deserializer: D) -> core::result::Result where D: serde::Deserializer<'de>, { @@ -350,12 +349,12 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = GeneratedField; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { write!(formatter, "expected one of: {:?}", &FIELDS) } #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result + fn visit_str(self, value: &str) -> core::result::Result where E: serde::de::Error, { @@ -374,36 +373,36 @@ impl<'de> serde::Deserialize<'de> for Misbehaviour { impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { type Value = Misbehaviour; - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + fn expecting(&self, formatter: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { formatter.write_str("struct ibc.mock.Misbehaviour") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map: V) -> core::result::Result where V: serde::de::MapAccess<'de>, { let mut client_id__ = None; let mut header1__ = None; let mut header2__ = None; - while let Some(k) = map_.next_key()? { + while let Some(k) = map.next_key()? { match k { GeneratedField::ClientId => { if client_id__.is_some() { return Err(serde::de::Error::duplicate_field("clientId")); } - client_id__ = Some(map_.next_value()?); + client_id__ = Some(map.next_value()?); } GeneratedField::Header1 => { if header1__.is_some() { return Err(serde::de::Error::duplicate_field("header1")); } - header1__ = map_.next_value()?; + header1__ = map.next_value()?; } GeneratedField::Header2 => { if header2__.is_some() { return Err(serde::de::Error::duplicate_field("header2")); } - header2__ = map_.next_value()?; + header2__ = map.next_value()?; } } } diff --git a/tools/proto-compiler/Cargo.toml b/tools/proto-compiler/Cargo.toml index 95272354..5e1b3b67 100644 --- a/tools/proto-compiler/Cargo.toml +++ b/tools/proto-compiler/Cargo.toml @@ -7,11 +7,11 @@ publish = false rust-version = "1.60" [dependencies] -git2 = "0.18" -prost-build = "0.12" -walkdir = "2.3" -argh = "0.1" -tonic = "0.10" -tonic-build = "0.10" -similar = "2.2" -pbjson-build = "0.6" +git2 = "0.18" +prost-build = "0.12" +walkdir = "2.3" +argh = "0.1" +tonic = "0.10" +tonic-build = "0.10" +similar = "2.2" +informalsystems-pbjson-build = "0.6.0" From 8a227dab04edac01f5361d373d1475a714578229 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Mon, 18 Dec 2023 14:02:46 -0800 Subject: [PATCH 09/12] Re-add json schema --- Cargo.toml | 2 ++ src/prost/google.protobuf.rs | 4 ++++ src/prost/ibc.core.channel.v1.rs | 8 ++++++++ src/prost/ibc.core.client.v1.rs | 4 ++++ src/prost/ibc.core.commitment.v1.rs | 16 ++++++++++++++++ src/prost/ibc.core.connection.v1.rs | 12 ++++++++++++ tools/proto-compiler/src/cmd/compile.rs | 20 ++++++++++++++++++++ 7 files changed, 66 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index 72c24ebc..d7ae3649 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,6 +32,7 @@ prost = { version = "0.12.3", default-features = false, feature bytes = { version = "1.2", default-features = false } tonic = { version = "0.10", default-features = false, optional = true } serde = { version = "1.0", default-features = false, optional = true } +schemars = { version = "0.8", optional = true } subtle-encoding = { version = "0.5", default-features = false } base64 = { version = "0.21", default-features = false, features = ["alloc"] } flex-error = { version = "0.4", default-features = false } @@ -58,6 +59,7 @@ default = ["std", "client"] std = ["prost/std", "bytes/std", "subtle-encoding/std", "base64/std", "flex-error/std", "ics23/std"] serde = ["dep:serde", "ics23/serde", "informalsystems-pbjson"] client = ["std", "dep:tonic", "tonic/codegen", "tonic/transport", "tonic/prost"] +json-schema = ["std", "serde", "dep:schemars"] server = ["std", "dep:tonic", "tonic/codegen", "tonic/transport", "tonic/prost"] parity-scale-codec = ["dep:parity-scale-codec", "dep:scale-info"] borsh = ["dep:borsh"] diff --git a/src/prost/google.protobuf.rs b/src/prost/google.protobuf.rs index e64380dd..d58b594a 100644 --- a/src/prost/google.protobuf.rs +++ b/src/prost/google.protobuf.rs @@ -82,6 +82,10 @@ /// } /// #[derive(Eq)] +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Any { diff --git a/src/prost/ibc.core.channel.v1.rs b/src/prost/ibc.core.channel.v1.rs index c9e6800a..b354e656 100644 --- a/src/prost/ibc.core.channel.v1.rs +++ b/src/prost/ibc.core.channel.v1.rs @@ -1,6 +1,10 @@ /// Channel defines pipeline for exactly-once packet delivery between specific /// modules on separate blockchains, which has at least one end capable of /// sending packets and one end capable of receiving packets. +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Channel { @@ -64,6 +68,10 @@ impl ::prost::Name for IdentifiedChannel { } } /// Counterparty defines a channel end counterparty +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Counterparty { diff --git a/src/prost/ibc.core.client.v1.rs b/src/prost/ibc.core.client.v1.rs index 1aa4a5f2..fc33ec80 100644 --- a/src/prost/ibc.core.client.v1.rs +++ b/src/prost/ibc.core.client.v1.rs @@ -70,6 +70,10 @@ impl ::prost::Name for ClientConsensusStates { /// height continues to be monitonically increasing even as the RevisionHeight /// gets reset #[derive(Eq, PartialOrd, Ord)] +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Height { diff --git a/src/prost/ibc.core.commitment.v1.rs b/src/prost/ibc.core.commitment.v1.rs index 2d7630be..3045d902 100644 --- a/src/prost/ibc.core.commitment.v1.rs +++ b/src/prost/ibc.core.commitment.v1.rs @@ -1,9 +1,17 @@ /// MerkleRoot defines a merkle root hash. /// In the Cosmos SDK, the AppHash of a block header becomes the root. +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MerkleRoot { #[prost(bytes = "vec", tag = "1")] + #[cfg_attr( + all(feature = "json-schema", feature = "serde"), + schemars(with = "String") + )] pub hash: ::prost::alloc::vec::Vec, } impl ::prost::Name for MerkleRoot { @@ -16,10 +24,18 @@ impl ::prost::Name for MerkleRoot { /// MerklePrefix is merkle path prefixed to the key. /// The constructed key from the Path and the key will be append(Path.KeyPath, /// append(Path.KeyPrefix, key...)) +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MerklePrefix { #[prost(bytes = "vec", tag = "1")] + #[cfg_attr( + all(feature = "json-schema", feature = "serde"), + schemars(with = "String") + )] pub key_prefix: ::prost::alloc::vec::Vec, } impl ::prost::Name for MerklePrefix { diff --git a/src/prost/ibc.core.connection.v1.rs b/src/prost/ibc.core.connection.v1.rs index 5a9696fa..01a54671 100644 --- a/src/prost/ibc.core.connection.v1.rs +++ b/src/prost/ibc.core.connection.v1.rs @@ -2,6 +2,10 @@ /// separate one. /// NOTE: there must only be 2 defined ConnectionEnds to establish /// a connection between two chains. +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConnectionEnd { @@ -64,6 +68,10 @@ impl ::prost::Name for IdentifiedConnection { } } /// Counterparty defines the counterparty chain associated with a connection end. +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Counterparty { @@ -121,6 +129,10 @@ impl ::prost::Name for ConnectionPaths { } /// Version defines the versioning scheme used to negotiate the IBC verison in /// the connection handshake. +#[cfg_attr( + all(feature = "json-schema", feature = "serde"), + derive(::schemars::JsonSchema) +)] #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Version { diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index c7c82d5e..062a741b 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -121,6 +121,9 @@ impl CompileCmd { // List available paths for dependencies let includes: Vec = proto_includes_paths.iter().map(PathBuf::from).collect(); + let attrs_jsonschema = r#"#[cfg_attr(all(feature = "json-schema", feature = "serde"), derive(::schemars::JsonSchema))]"#; + let attrs_jsonschema_str = r#"#[cfg_attr(all(feature = "json-schema", feature = "serde"), schemars(with = "String"))]"#; + let attrs_ord = "#[derive(Eq, PartialOrd, Ord)]"; let attrs_eq = "#[derive(Eq)]"; @@ -139,8 +142,25 @@ impl CompileCmd { .extern_path(".tendermint", "::tendermint_proto") .extern_path(".ics23", "::ics23") .type_attribute(".google.protobuf.Any", attrs_eq) + .type_attribute(".google.protobuf.Any", attrs_jsonschema) .type_attribute(".google.protobuf.Duration", attrs_eq) .type_attribute(".ibc.core.client.v1.Height", attrs_ord) + .type_attribute(".ibc.core.client.v1.Height", attrs_jsonschema) + .type_attribute(".ibc.core.commitment.v1.MerkleRoot", attrs_jsonschema) + .field_attribute( + ".ibc.core.commitment.v1.MerkleRoot.hash", + attrs_jsonschema_str, + ) + .type_attribute(".ibc.core.commitment.v1.MerklePrefix", attrs_jsonschema) + .field_attribute( + ".ibc.core.commitment.v1.MerklePrefix.key_prefix", + attrs_jsonschema_str, + ) + .type_attribute(".ibc.core.channel.v1.Channel", attrs_jsonschema) + .type_attribute(".ibc.core.channel.v1.Counterparty", attrs_jsonschema) + .type_attribute(".ibc.core.connection.v1.ConnectionEnd", attrs_jsonschema) + .type_attribute(".ibc.core.connection.v1.Counterparty", attrs_jsonschema) + .type_attribute(".ibc.core.connection.v1.Version", attrs_jsonschema) .compile_with_config(config, &protos, &includes)?; println!("[info ] Protos compiled successfully"); From dea69030f612a30d334b4d64e9d117cfad2353f4 Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Thu, 21 Dec 2023 12:57:49 -0500 Subject: [PATCH 10/12] Emit default fields --- src/prost/cosmos.app.v1alpha1.serde.rs | 24 +- src/prost/cosmos.auth.module.v1.serde.rs | 20 +- src/prost/cosmos.auth.v1beta1.serde.rs | 128 ++-- src/prost/cosmos.bank.module.v1.serde.rs | 8 +- src/prost/cosmos.bank.v1beta1.serde.rs | 256 +++---- src/prost/cosmos.base.kv.v1beta1.serde.rs | 12 +- src/prost/cosmos.base.node.v1beta1.serde.rs | 4 +- src/prost/cosmos.base.query.v1beta1.serde.rs | 28 +- .../cosmos.base.reflection.v1beta1.serde.rs | 12 +- .../cosmos.base.reflection.v2alpha1.serde.rs | 116 ++-- .../cosmos.base.snapshots.v1beta1.serde.rs | 66 +- src/prost/cosmos.base.store.v1beta1.serde.rs | 58 +- src/prost/cosmos.base.v1beta1.serde.rs | 24 +- src/prost/cosmos.crypto.ed25519.serde.rs | 8 +- src/prost/cosmos.crypto.hd.v1.serde.rs | 20 +- src/prost/cosmos.crypto.keyring.v1.serde.rs | 10 +- src/prost/cosmos.crypto.multisig.serde.rs | 8 +- .../cosmos.crypto.multisig.v1beta1.serde.rs | 12 +- src/prost/cosmos.crypto.secp256k1.serde.rs | 8 +- src/prost/cosmos.crypto.secp256r1.serde.rs | 8 +- src/prost/cosmos.gov.module.v1.serde.rs | 8 +- src/prost/cosmos.gov.v1.serde.rs | 346 +++++----- src/prost/cosmos.gov.v1beta1.serde.rs | 262 ++++---- src/prost/cosmos.ics23.v1.serde.rs | 124 ++-- src/prost/cosmos.staking.module.v1.serde.rs | 8 +- src/prost/cosmos.staking.v1beta1.serde.rs | 516 +++++++-------- src/prost/cosmos.tx.config.v1.serde.rs | 8 +- src/prost/cosmos.tx.signing.v1beta1.serde.rs | 26 +- src/prost/cosmos.upgrade.module.v1.serde.rs | 4 +- src/prost/cosmos.upgrade.v1beta1.serde.rs | 82 +-- src/prost/google.api.serde.rs | 32 +- src/prost/google.protobuf.serde.rs | 344 +++++----- src/prost/ibc.applications.fee.v1.serde.rs | 270 ++++---- ...interchain_accounts.controller.v1.serde.rs | 62 +- ...ns.interchain_accounts.genesis.v1.serde.rs | 60 +- ...tions.interchain_accounts.host.v1.serde.rs | 16 +- ...plications.interchain_accounts.v1.serde.rs | 46 +- .../ibc.applications.transfer.v1.serde.rs | 130 ++-- .../ibc.applications.transfer.v2.serde.rs | 20 +- src/prost/ibc.core.channel.v1.serde.rs | 626 +++++++++--------- src/prost/ibc.core.client.v1.serde.rs | 252 +++---- src/prost/ibc.core.commitment.v1.serde.rs | 16 +- src/prost/ibc.core.connection.v1.serde.rs | 278 ++++---- src/prost/ibc.core.types.v1.serde.rs | 6 +- .../ibc.lightclients.localhost.v1.serde.rs | 6 +- .../ibc.lightclients.localhost.v2.serde.rs | 2 +- .../ibc.lightclients.solomachine.v2.serde.rs | 156 ++--- .../ibc.lightclients.solomachine.v3.serde.rs | 92 +-- .../ibc.lightclients.tendermint.v1.serde.rs | 64 +- src/prost/ibc.mock.serde.rs | 18 +- tests/test_serde_default.rs | 24 + tools/proto-compiler/src/cmd/compile.rs | 1 + 52 files changed, 2380 insertions(+), 2355 deletions(-) create mode 100644 tests/test_serde_default.rs diff --git a/src/prost/cosmos.app.v1alpha1.serde.rs b/src/prost/cosmos.app.v1alpha1.serde.rs index c02a8973..a9f35d02 100644 --- a/src/prost/cosmos.app.v1alpha1.serde.rs +++ b/src/prost/cosmos.app.v1alpha1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for MigrateFromInfo { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.module.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.app.v1alpha1.MigrateFromInfo", len)?; - if !self.module.is_empty() { + if true { struct_ser.serialize_field("module", &self.module)?; } struct_ser.end() @@ -97,23 +97,23 @@ impl serde::Serialize for ModuleDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.go_import.is_empty() { + if true { len += 1; } - if !self.use_package.is_empty() { + if true { len += 1; } - if !self.can_migrate_from.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.app.v1alpha1.ModuleDescriptor", len)?; - if !self.go_import.is_empty() { + if true { struct_ser.serialize_field("goImport", &self.go_import)?; } - if !self.use_package.is_empty() { + if true { struct_ser.serialize_field("usePackage", &self.use_package)?; } - if !self.can_migrate_from.is_empty() { + if true { struct_ser.serialize_field("canMigrateFrom", &self.can_migrate_from)?; } struct_ser.end() @@ -225,17 +225,17 @@ impl serde::Serialize for PackageReference { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.revision != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.app.v1alpha1.PackageReference", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if self.revision != 0 { + if true { struct_ser.serialize_field("revision", &self.revision)?; } struct_ser.end() diff --git a/src/prost/cosmos.auth.module.v1.serde.rs b/src/prost/cosmos.auth.module.v1.serde.rs index dff1b5de..1c3fc79e 100644 --- a/src/prost/cosmos.auth.module.v1.serde.rs +++ b/src/prost/cosmos.auth.module.v1.serde.rs @@ -6,23 +6,23 @@ impl serde::Serialize for Module { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.bech32_prefix.is_empty() { + if true { len += 1; } - if !self.module_account_permissions.is_empty() { + if true { len += 1; } - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.module.v1.Module", len)?; - if !self.bech32_prefix.is_empty() { + if true { struct_ser.serialize_field("bech32Prefix", &self.bech32_prefix)?; } - if !self.module_account_permissions.is_empty() { + if true { struct_ser.serialize_field("moduleAccountPermissions", &self.module_account_permissions)?; } - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() @@ -133,17 +133,17 @@ impl serde::Serialize for ModuleAccountPermission { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.account.is_empty() { + if true { len += 1; } - if !self.permissions.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.module.v1.ModuleAccountPermission", len)?; - if !self.account.is_empty() { + if true { struct_ser.serialize_field("account", &self.account)?; } - if !self.permissions.is_empty() { + if true { struct_ser.serialize_field("permissions", &self.permissions)?; } struct_ser.end() diff --git a/src/prost/cosmos.auth.v1beta1.serde.rs b/src/prost/cosmos.auth.v1beta1.serde.rs index d5929637..810635b8 100644 --- a/src/prost/cosmos.auth.v1beta1.serde.rs +++ b/src/prost/cosmos.auth.v1beta1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for AddressBytesToStringRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address_bytes.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressBytesToStringRequest", len)?; - if !self.address_bytes.is_empty() { + if true { struct_ser.serialize_field("addressBytes", pbjson::private::base64::encode(&self.address_bytes).as_str())?; } struct_ser.end() @@ -100,11 +100,11 @@ impl serde::Serialize for AddressBytesToStringResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address_string.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressBytesToStringResponse", len)?; - if !self.address_string.is_empty() { + if true { struct_ser.serialize_field("addressString", &self.address_string)?; } struct_ser.end() @@ -192,11 +192,11 @@ impl serde::Serialize for AddressStringToBytesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address_string.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressStringToBytesRequest", len)?; - if !self.address_string.is_empty() { + if true { struct_ser.serialize_field("addressString", &self.address_string)?; } struct_ser.end() @@ -284,11 +284,11 @@ impl serde::Serialize for AddressStringToBytesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address_bytes.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.AddressStringToBytesResponse", len)?; - if !self.address_bytes.is_empty() { + if true { struct_ser.serialize_field("addressBytes", pbjson::private::base64::encode(&self.address_bytes).as_str())?; } struct_ser.end() @@ -378,29 +378,29 @@ impl serde::Serialize for BaseAccount { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if self.pub_key.is_some() { + if true { len += 1; } - if self.account_number != 0 { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.BaseAccount", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } if let Some(v) = self.pub_key.as_ref() { struct_ser.serialize_field("pubKey", v)?; } - if self.account_number != 0 { + if true { struct_ser.serialize_field("accountNumber", ::alloc::string::ToString::to_string(&self.account_number).as_str())?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -597,11 +597,11 @@ impl serde::Serialize for Bech32PrefixResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.bech32_prefix.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.Bech32PrefixResponse", len)?; - if !self.bech32_prefix.is_empty() { + if true { struct_ser.serialize_field("bech32Prefix", &self.bech32_prefix)?; } struct_ser.end() @@ -689,17 +689,17 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } - if !self.accounts.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.GenesisState", len)?; if let Some(v) = self.params.as_ref() { struct_ser.serialize_field("params", v)?; } - if !self.accounts.is_empty() { + if true { struct_ser.serialize_field("accounts", &self.accounts)?; } struct_ser.end() @@ -797,23 +797,23 @@ impl serde::Serialize for ModuleAccount { { use serde::ser::SerializeStruct; let mut len = 0; - if self.base_account.is_some() { + if true { len += 1; } - if !self.name.is_empty() { + if true { len += 1; } - if !self.permissions.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.ModuleAccount", len)?; if let Some(v) = self.base_account.as_ref() { struct_ser.serialize_field("baseAccount", v)?; } - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if !self.permissions.is_empty() { + if true { struct_ser.serialize_field("permissions", &self.permissions)?; } struct_ser.end() @@ -923,17 +923,17 @@ impl serde::Serialize for ModuleCredential { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.module_name.is_empty() { + if true { len += 1; } - if !self.derivation_keys.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.ModuleCredential", len)?; - if !self.module_name.is_empty() { + if true { struct_ser.serialize_field("moduleName", &self.module_name)?; } - if !self.derivation_keys.is_empty() { + if true { struct_ser.serialize_field("derivationKeys", &self.derivation_keys.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() @@ -1036,14 +1036,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.MsgUpdateParams", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } if let Some(v) = self.params.as_ref() { @@ -1215,35 +1215,35 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.max_memo_characters != 0 { + if true { len += 1; } - if self.tx_sig_limit != 0 { + if true { len += 1; } - if self.tx_size_cost_per_byte != 0 { + if true { len += 1; } - if self.sig_verify_cost_ed25519 != 0 { + if true { len += 1; } - if self.sig_verify_cost_secp256k1 != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.Params", len)?; - if self.max_memo_characters != 0 { + if true { struct_ser.serialize_field("maxMemoCharacters", ::alloc::string::ToString::to_string(&self.max_memo_characters).as_str())?; } - if self.tx_sig_limit != 0 { + if true { struct_ser.serialize_field("txSigLimit", ::alloc::string::ToString::to_string(&self.tx_sig_limit).as_str())?; } - if self.tx_size_cost_per_byte != 0 { + if true { struct_ser.serialize_field("txSizeCostPerByte", ::alloc::string::ToString::to_string(&self.tx_size_cost_per_byte).as_str())?; } - if self.sig_verify_cost_ed25519 != 0 { + if true { struct_ser.serialize_field("sigVerifyCostEd25519", ::alloc::string::ToString::to_string(&self.sig_verify_cost_ed25519).as_str())?; } - if self.sig_verify_cost_secp256k1 != 0 { + if true { struct_ser.serialize_field("sigVerifyCostSecp256k1", ::alloc::string::ToString::to_string(&self.sig_verify_cost_secp256k1).as_str())?; } struct_ser.end() @@ -1389,17 +1389,17 @@ impl serde::Serialize for QueryAccountAddressByIdRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.id != 0 { + if true { len += 1; } - if self.account_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDRequest", len)?; - if self.id != 0 { + if true { struct_ser.serialize_field("id", ::alloc::string::ToString::to_string(&self.id).as_str())?; } - if self.account_id != 0 { + if true { struct_ser.serialize_field("accountId", ::alloc::string::ToString::to_string(&self.account_id).as_str())?; } struct_ser.end() @@ -1502,11 +1502,11 @@ impl serde::Serialize for QueryAccountAddressByIdResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.account_address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountAddressByIDResponse", len)?; - if !self.account_address.is_empty() { + if true { struct_ser.serialize_field("accountAddress", &self.account_address)?; } struct_ser.end() @@ -1594,11 +1594,11 @@ impl serde::Serialize for QueryAccountInfoRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountInfoRequest", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } struct_ser.end() @@ -1685,7 +1685,7 @@ impl serde::Serialize for QueryAccountInfoResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.info.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountInfoResponse", len)?; @@ -1776,11 +1776,11 @@ impl serde::Serialize for QueryAccountRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountRequest", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } struct_ser.end() @@ -1867,7 +1867,7 @@ impl serde::Serialize for QueryAccountResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.account.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountResponse", len)?; @@ -1958,7 +1958,7 @@ impl serde::Serialize for QueryAccountsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountsRequest", len)?; @@ -2049,14 +2049,14 @@ impl serde::Serialize for QueryAccountsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.accounts.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryAccountsResponse", len)?; - if !self.accounts.is_empty() { + if true { struct_ser.serialize_field("accounts", &self.accounts)?; } if let Some(v) = self.pagination.as_ref() { @@ -2157,11 +2157,11 @@ impl serde::Serialize for QueryModuleAccountByNameRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountByNameRequest", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } struct_ser.end() @@ -2248,7 +2248,7 @@ impl serde::Serialize for QueryModuleAccountByNameResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.account.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountByNameResponse", len)?; @@ -2410,11 +2410,11 @@ impl serde::Serialize for QueryModuleAccountsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.accounts.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryModuleAccountsResponse", len)?; - if !self.accounts.is_empty() { + if true { struct_ser.serialize_field("accounts", &self.accounts)?; } struct_ser.end() @@ -2572,7 +2572,7 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.auth.v1beta1.QueryParamsResponse", len)?; diff --git a/src/prost/cosmos.bank.module.v1.serde.rs b/src/prost/cosmos.bank.module.v1.serde.rs index 0ced0274..e31ada9f 100644 --- a/src/prost/cosmos.bank.module.v1.serde.rs +++ b/src/prost/cosmos.bank.module.v1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Module { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.blocked_module_accounts_override.is_empty() { + if true { len += 1; } - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.module.v1.Module", len)?; - if !self.blocked_module_accounts_override.is_empty() { + if true { struct_ser.serialize_field("blockedModuleAccountsOverride", &self.blocked_module_accounts_override)?; } - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() diff --git a/src/prost/cosmos.bank.v1beta1.serde.rs b/src/prost/cosmos.bank.v1beta1.serde.rs index b4fa84eb..9b130395 100644 --- a/src/prost/cosmos.bank.v1beta1.serde.rs +++ b/src/prost/cosmos.bank.v1beta1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Balance { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if !self.coins.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Balance", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if !self.coins.is_empty() { + if true { struct_ser.serialize_field("coins", &self.coins)?; } struct_ser.end() @@ -114,14 +114,14 @@ impl serde::Serialize for DenomOwner { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if self.balance.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.DenomOwner", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } if let Some(v) = self.balance.as_ref() { @@ -222,23 +222,23 @@ impl serde::Serialize for DenomUnit { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } - if self.exponent != 0 { + if true { len += 1; } - if !self.aliases.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.DenomUnit", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } - if self.exponent != 0 { + if true { struct_ser.serialize_field("exponent", &self.exponent)?; } - if !self.aliases.is_empty() { + if true { struct_ser.serialize_field("aliases", &self.aliases)?; } struct_ser.end() @@ -349,35 +349,35 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } - if !self.balances.is_empty() { + if true { len += 1; } - if !self.supply.is_empty() { + if true { len += 1; } - if !self.denom_metadata.is_empty() { + if true { len += 1; } - if !self.send_enabled.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.GenesisState", len)?; if let Some(v) = self.params.as_ref() { struct_ser.serialize_field("params", v)?; } - if !self.balances.is_empty() { + if true { struct_ser.serialize_field("balances", &self.balances)?; } - if !self.supply.is_empty() { + if true { struct_ser.serialize_field("supply", &self.supply)?; } - if !self.denom_metadata.is_empty() { + if true { struct_ser.serialize_field("denomMetadata", &self.denom_metadata)?; } - if !self.send_enabled.is_empty() { + if true { struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; } struct_ser.end() @@ -510,17 +510,17 @@ impl serde::Serialize for Input { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if !self.coins.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Input", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if !self.coins.is_empty() { + if true { struct_ser.serialize_field("coins", &self.coins)?; } struct_ser.end() @@ -618,53 +618,53 @@ impl serde::Serialize for Metadata { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.description.is_empty() { + if true { len += 1; } - if !self.denom_units.is_empty() { + if true { len += 1; } - if !self.base.is_empty() { + if true { len += 1; } - if !self.display.is_empty() { + if true { len += 1; } - if !self.name.is_empty() { + if true { len += 1; } - if !self.symbol.is_empty() { + if true { len += 1; } - if !self.uri.is_empty() { + if true { len += 1; } - if !self.uri_hash.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Metadata", len)?; - if !self.description.is_empty() { + if true { struct_ser.serialize_field("description", &self.description)?; } - if !self.denom_units.is_empty() { + if true { struct_ser.serialize_field("denomUnits", &self.denom_units)?; } - if !self.base.is_empty() { + if true { struct_ser.serialize_field("base", &self.base)?; } - if !self.display.is_empty() { + if true { struct_ser.serialize_field("display", &self.display)?; } - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if !self.symbol.is_empty() { + if true { struct_ser.serialize_field("symbol", &self.symbol)?; } - if !self.uri.is_empty() { + if true { struct_ser.serialize_field("uri", &self.uri)?; } - if !self.uri_hash.is_empty() { + if true { struct_ser.serialize_field("uriHash", &self.uri_hash)?; } struct_ser.end() @@ -830,17 +830,17 @@ impl serde::Serialize for MsgMultiSend { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.inputs.is_empty() { + if true { len += 1; } - if !self.outputs.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgMultiSend", len)?; - if !self.inputs.is_empty() { + if true { struct_ser.serialize_field("inputs", &self.inputs)?; } - if !self.outputs.is_empty() { + if true { struct_ser.serialize_field("outputs", &self.outputs)?; } struct_ser.end() @@ -1009,23 +1009,23 @@ impl serde::Serialize for MsgSend { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.from_address.is_empty() { + if true { len += 1; } - if !self.to_address.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgSend", len)?; - if !self.from_address.is_empty() { + if true { struct_ser.serialize_field("fromAddress", &self.from_address)?; } - if !self.to_address.is_empty() { + if true { struct_ser.serialize_field("toAddress", &self.to_address)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -1207,23 +1207,23 @@ impl serde::Serialize for MsgSetSendEnabled { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } - if !self.send_enabled.is_empty() { + if true { len += 1; } - if !self.use_default_for.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgSetSendEnabled", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } - if !self.send_enabled.is_empty() { + if true { struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; } - if !self.use_default_for.is_empty() { + if true { struct_ser.serialize_field("useDefaultFor", &self.use_default_for)?; } struct_ser.end() @@ -1405,14 +1405,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.MsgUpdateParams", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } if let Some(v) = self.params.as_ref() { @@ -1584,17 +1584,17 @@ impl serde::Serialize for Output { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if !self.coins.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Output", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if !self.coins.is_empty() { + if true { struct_ser.serialize_field("coins", &self.coins)?; } struct_ser.end() @@ -1692,17 +1692,17 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.send_enabled.is_empty() { + if true { len += 1; } - if self.default_send_enabled { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Params", len)?; - if !self.send_enabled.is_empty() { + if true { struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; } - if self.default_send_enabled { + if true { struct_ser.serialize_field("defaultSendEnabled", &self.default_send_enabled)?; } struct_ser.end() @@ -1802,14 +1802,14 @@ impl serde::Serialize for QueryAllBalancesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryAllBalancesRequest", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } if let Some(v) = self.pagination.as_ref() { @@ -1910,14 +1910,14 @@ impl serde::Serialize for QueryAllBalancesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.balances.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryAllBalancesResponse", len)?; - if !self.balances.is_empty() { + if true { struct_ser.serialize_field("balances", &self.balances)?; } if let Some(v) = self.pagination.as_ref() { @@ -2018,17 +2018,17 @@ impl serde::Serialize for QueryBalanceRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if !self.denom.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryBalanceRequest", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } struct_ser.end() @@ -2126,7 +2126,7 @@ impl serde::Serialize for QueryBalanceResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.balance.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryBalanceResponse", len)?; @@ -2217,11 +2217,11 @@ impl serde::Serialize for QueryDenomMetadataRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomMetadataRequest", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } struct_ser.end() @@ -2308,7 +2308,7 @@ impl serde::Serialize for QueryDenomMetadataResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.metadata.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomMetadataResponse", len)?; @@ -2399,14 +2399,14 @@ impl serde::Serialize for QueryDenomOwnersRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomOwnersRequest", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } if let Some(v) = self.pagination.as_ref() { @@ -2507,14 +2507,14 @@ impl serde::Serialize for QueryDenomOwnersResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom_owners.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomOwnersResponse", len)?; - if !self.denom_owners.is_empty() { + if true { struct_ser.serialize_field("denomOwners", &self.denom_owners)?; } if let Some(v) = self.pagination.as_ref() { @@ -2616,7 +2616,7 @@ impl serde::Serialize for QueryDenomsMetadataRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomsMetadataRequest", len)?; @@ -2707,14 +2707,14 @@ impl serde::Serialize for QueryDenomsMetadataResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.metadatas.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryDenomsMetadataResponse", len)?; - if !self.metadatas.is_empty() { + if true { struct_ser.serialize_field("metadatas", &self.metadatas)?; } if let Some(v) = self.pagination.as_ref() { @@ -2886,7 +2886,7 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryParamsResponse", len)?; @@ -2977,14 +2977,14 @@ impl serde::Serialize for QuerySendEnabledRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denoms.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySendEnabledRequest", len)?; - if !self.denoms.is_empty() { + if true { struct_ser.serialize_field("denoms", &self.denoms)?; } if let Some(v) = self.pagination.as_ref() { @@ -3085,14 +3085,14 @@ impl serde::Serialize for QuerySendEnabledResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.send_enabled.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySendEnabledResponse", len)?; - if !self.send_enabled.is_empty() { + if true { struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; } if let Some(v) = self.pagination.as_ref() { @@ -3194,17 +3194,17 @@ impl serde::Serialize for QuerySpendableBalanceByDenomRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if !self.denom.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalanceByDenomRequest", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } struct_ser.end() @@ -3302,7 +3302,7 @@ impl serde::Serialize for QuerySpendableBalanceByDenomResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.balance.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalanceByDenomResponse", len)?; @@ -3393,14 +3393,14 @@ impl serde::Serialize for QuerySpendableBalancesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalancesRequest", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } if let Some(v) = self.pagination.as_ref() { @@ -3501,14 +3501,14 @@ impl serde::Serialize for QuerySpendableBalancesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.balances.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySpendableBalancesResponse", len)?; - if !self.balances.is_empty() { + if true { struct_ser.serialize_field("balances", &self.balances)?; } if let Some(v) = self.pagination.as_ref() { @@ -3609,11 +3609,11 @@ impl serde::Serialize for QuerySupplyOfRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySupplyOfRequest", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } struct_ser.end() @@ -3700,7 +3700,7 @@ impl serde::Serialize for QuerySupplyOfResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.amount.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QuerySupplyOfResponse", len)?; @@ -3791,7 +3791,7 @@ impl serde::Serialize for QueryTotalSupplyRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryTotalSupplyRequest", len)?; @@ -3882,14 +3882,14 @@ impl serde::Serialize for QueryTotalSupplyResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.supply.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.QueryTotalSupplyResponse", len)?; - if !self.supply.is_empty() { + if true { struct_ser.serialize_field("supply", &self.supply)?; } if let Some(v) = self.pagination.as_ref() { @@ -3990,17 +3990,17 @@ impl serde::Serialize for SendAuthorization { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.spend_limit.is_empty() { + if true { len += 1; } - if !self.allow_list.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.SendAuthorization", len)?; - if !self.spend_limit.is_empty() { + if true { struct_ser.serialize_field("spendLimit", &self.spend_limit)?; } - if !self.allow_list.is_empty() { + if true { struct_ser.serialize_field("allowList", &self.allow_list)?; } struct_ser.end() @@ -4100,17 +4100,17 @@ impl serde::Serialize for SendEnabled { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } - if self.enabled { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.SendEnabled", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } - if self.enabled { + if true { struct_ser.serialize_field("enabled", &self.enabled)?; } struct_ser.end() @@ -4208,11 +4208,11 @@ impl serde::Serialize for Supply { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.total.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.bank.v1beta1.Supply", len)?; - if !self.total.is_empty() { + if true { struct_ser.serialize_field("total", &self.total)?; } struct_ser.end() diff --git a/src/prost/cosmos.base.kv.v1beta1.serde.rs b/src/prost/cosmos.base.kv.v1beta1.serde.rs index 3da9563a..c0e3f4dd 100644 --- a/src/prost/cosmos.base.kv.v1beta1.serde.rs +++ b/src/prost/cosmos.base.kv.v1beta1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Pair { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.kv.v1beta1.Pair", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -118,11 +118,11 @@ impl serde::Serialize for Pairs { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.pairs.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.kv.v1beta1.Pairs", len)?; - if !self.pairs.is_empty() { + if true { struct_ser.serialize_field("pairs", &self.pairs)?; } struct_ser.end() diff --git a/src/prost/cosmos.base.node.v1beta1.serde.rs b/src/prost/cosmos.base.node.v1beta1.serde.rs index 25ac18fc..dd84a00c 100644 --- a/src/prost/cosmos.base.node.v1beta1.serde.rs +++ b/src/prost/cosmos.base.node.v1beta1.serde.rs @@ -77,11 +77,11 @@ impl serde::Serialize for ConfigResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.minimum_gas_price.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.node.v1beta1.ConfigResponse", len)?; - if !self.minimum_gas_price.is_empty() { + if true { struct_ser.serialize_field("minimumGasPrice", &self.minimum_gas_price)?; } struct_ser.end() diff --git a/src/prost/cosmos.base.query.v1beta1.serde.rs b/src/prost/cosmos.base.query.v1beta1.serde.rs index fb4759e3..f76fdfdb 100644 --- a/src/prost/cosmos.base.query.v1beta1.serde.rs +++ b/src/prost/cosmos.base.query.v1beta1.serde.rs @@ -6,35 +6,35 @@ impl serde::Serialize for PageRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if self.offset != 0 { + if true { len += 1; } - if self.limit != 0 { + if true { len += 1; } - if self.count_total { + if true { len += 1; } - if self.reverse { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.query.v1beta1.PageRequest", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if self.offset != 0 { + if true { struct_ser.serialize_field("offset", ::alloc::string::ToString::to_string(&self.offset).as_str())?; } - if self.limit != 0 { + if true { struct_ser.serialize_field("limit", ::alloc::string::ToString::to_string(&self.limit).as_str())?; } - if self.count_total { + if true { struct_ser.serialize_field("countTotal", &self.count_total)?; } - if self.reverse { + if true { struct_ser.serialize_field("reverse", &self.reverse)?; } struct_ser.end() @@ -172,17 +172,17 @@ impl serde::Serialize for PageResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.next_key.is_empty() { + if true { len += 1; } - if self.total != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.query.v1beta1.PageResponse", len)?; - if !self.next_key.is_empty() { + if true { struct_ser.serialize_field("nextKey", pbjson::private::base64::encode(&self.next_key).as_str())?; } - if self.total != 0 { + if true { struct_ser.serialize_field("total", ::alloc::string::ToString::to_string(&self.total).as_str())?; } struct_ser.end() diff --git a/src/prost/cosmos.base.reflection.v1beta1.serde.rs b/src/prost/cosmos.base.reflection.v1beta1.serde.rs index 57fc3f12..8e5e0a93 100644 --- a/src/prost/cosmos.base.reflection.v1beta1.serde.rs +++ b/src/prost/cosmos.base.reflection.v1beta1.serde.rs @@ -77,11 +77,11 @@ impl serde::Serialize for ListAllInterfacesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.interface_names.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListAllInterfacesResponse", len)?; - if !self.interface_names.is_empty() { + if true { struct_ser.serialize_field("interfaceNames", &self.interface_names)?; } struct_ser.end() @@ -169,11 +169,11 @@ impl serde::Serialize for ListImplementationsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.interface_name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListImplementationsRequest", len)?; - if !self.interface_name.is_empty() { + if true { struct_ser.serialize_field("interfaceName", &self.interface_name)?; } struct_ser.end() @@ -261,11 +261,11 @@ impl serde::Serialize for ListImplementationsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.implementation_message_names.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v1beta1.ListImplementationsResponse", len)?; - if !self.implementation_message_names.is_empty() { + if true { struct_ser.serialize_field("implementationMessageNames", &self.implementation_message_names)?; } struct_ser.end() diff --git a/src/prost/cosmos.base.reflection.v2alpha1.serde.rs b/src/prost/cosmos.base.reflection.v2alpha1.serde.rs index d98d8488..ae40c496 100644 --- a/src/prost/cosmos.base.reflection.v2alpha1.serde.rs +++ b/src/prost/cosmos.base.reflection.v2alpha1.serde.rs @@ -6,22 +6,22 @@ impl serde::Serialize for AppDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if self.authn.is_some() { + if true { len += 1; } - if self.chain.is_some() { + if true { len += 1; } - if self.codec.is_some() { + if true { len += 1; } - if self.configuration.is_some() { + if true { len += 1; } - if self.query_services.is_some() { + if true { len += 1; } - if self.tx.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.AppDescriptor", len)?; @@ -183,11 +183,11 @@ impl serde::Serialize for AuthnDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.sign_modes.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.AuthnDescriptor", len)?; - if !self.sign_modes.is_empty() { + if true { struct_ser.serialize_field("signModes", &self.sign_modes)?; } struct_ser.end() @@ -275,11 +275,11 @@ impl serde::Serialize for ChainDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.ChainDescriptor", len)?; - if !self.id.is_empty() { + if true { struct_ser.serialize_field("id", &self.id)?; } struct_ser.end() @@ -366,11 +366,11 @@ impl serde::Serialize for CodecDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.interfaces.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.CodecDescriptor", len)?; - if !self.interfaces.is_empty() { + if true { struct_ser.serialize_field("interfaces", &self.interfaces)?; } struct_ser.end() @@ -457,11 +457,11 @@ impl serde::Serialize for ConfigurationDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.bech32_account_address_prefix.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.ConfigurationDescriptor", len)?; - if !self.bech32_account_address_prefix.is_empty() { + if true { struct_ser.serialize_field("bech32AccountAddressPrefix", &self.bech32_account_address_prefix)?; } struct_ser.end() @@ -620,7 +620,7 @@ impl serde::Serialize for GetAuthnDescriptorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.authn.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetAuthnDescriptorResponse", len)?; @@ -782,7 +782,7 @@ impl serde::Serialize for GetChainDescriptorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.chain.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetChainDescriptorResponse", len)?; @@ -944,7 +944,7 @@ impl serde::Serialize for GetCodecDescriptorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.codec.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetCodecDescriptorResponse", len)?; @@ -1106,7 +1106,7 @@ impl serde::Serialize for GetConfigurationDescriptorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.config.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetConfigurationDescriptorResponse", len)?; @@ -1268,7 +1268,7 @@ impl serde::Serialize for GetQueryServicesDescriptorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.queries.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetQueryServicesDescriptorResponse", len)?; @@ -1430,7 +1430,7 @@ impl serde::Serialize for GetTxDescriptorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.tx.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.GetTxDescriptorResponse", len)?; @@ -1521,17 +1521,17 @@ impl serde::Serialize for InterfaceAcceptingMessageDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fullname.is_empty() { + if true { len += 1; } - if !self.field_descriptor_names.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.InterfaceAcceptingMessageDescriptor", len)?; - if !self.fullname.is_empty() { + if true { struct_ser.serialize_field("fullname", &self.fullname)?; } - if !self.field_descriptor_names.is_empty() { + if true { struct_ser.serialize_field("fieldDescriptorNames", &self.field_descriptor_names)?; } struct_ser.end() @@ -1630,23 +1630,23 @@ impl serde::Serialize for InterfaceDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fullname.is_empty() { + if true { len += 1; } - if !self.interface_accepting_messages.is_empty() { + if true { len += 1; } - if !self.interface_implementers.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.InterfaceDescriptor", len)?; - if !self.fullname.is_empty() { + if true { struct_ser.serialize_field("fullname", &self.fullname)?; } - if !self.interface_accepting_messages.is_empty() { + if true { struct_ser.serialize_field("interfaceAcceptingMessages", &self.interface_accepting_messages)?; } - if !self.interface_implementers.is_empty() { + if true { struct_ser.serialize_field("interfaceImplementers", &self.interface_implementers)?; } struct_ser.end() @@ -1757,17 +1757,17 @@ impl serde::Serialize for InterfaceImplementerDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fullname.is_empty() { + if true { len += 1; } - if !self.type_url.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.InterfaceImplementerDescriptor", len)?; - if !self.fullname.is_empty() { + if true { struct_ser.serialize_field("fullname", &self.fullname)?; } - if !self.type_url.is_empty() { + if true { struct_ser.serialize_field("typeUrl", &self.type_url)?; } struct_ser.end() @@ -1866,11 +1866,11 @@ impl serde::Serialize for MsgDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.msg_type_url.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.MsgDescriptor", len)?; - if !self.msg_type_url.is_empty() { + if true { struct_ser.serialize_field("msgTypeUrl", &self.msg_type_url)?; } struct_ser.end() @@ -1958,17 +1958,17 @@ impl serde::Serialize for QueryMethodDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if !self.full_query_path.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.QueryMethodDescriptor", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if !self.full_query_path.is_empty() { + if true { struct_ser.serialize_field("fullQueryPath", &self.full_query_path)?; } struct_ser.end() @@ -2067,23 +2067,23 @@ impl serde::Serialize for QueryServiceDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fullname.is_empty() { + if true { len += 1; } - if self.is_module { + if true { len += 1; } - if !self.methods.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.QueryServiceDescriptor", len)?; - if !self.fullname.is_empty() { + if true { struct_ser.serialize_field("fullname", &self.fullname)?; } - if self.is_module { + if true { struct_ser.serialize_field("isModule", &self.is_module)?; } - if !self.methods.is_empty() { + if true { struct_ser.serialize_field("methods", &self.methods)?; } struct_ser.end() @@ -2193,11 +2193,11 @@ impl serde::Serialize for QueryServicesDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.query_services.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.QueryServicesDescriptor", len)?; - if !self.query_services.is_empty() { + if true { struct_ser.serialize_field("queryServices", &self.query_services)?; } struct_ser.end() @@ -2285,23 +2285,23 @@ impl serde::Serialize for SigningModeDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.number != 0 { + if true { len += 1; } - if !self.authn_info_provider_method_fullname.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.SigningModeDescriptor", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if self.number != 0 { + if true { struct_ser.serialize_field("number", &self.number)?; } - if !self.authn_info_provider_method_fullname.is_empty() { + if true { struct_ser.serialize_field("authnInfoProviderMethodFullname", &self.authn_info_provider_method_fullname)?; } struct_ser.end() @@ -2413,17 +2413,17 @@ impl serde::Serialize for TxDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fullname.is_empty() { + if true { len += 1; } - if !self.msgs.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.reflection.v2alpha1.TxDescriptor", len)?; - if !self.fullname.is_empty() { + if true { struct_ser.serialize_field("fullname", &self.fullname)?; } - if !self.msgs.is_empty() { + if true { struct_ser.serialize_field("msgs", &self.msgs)?; } struct_ser.end() diff --git a/src/prost/cosmos.base.snapshots.v1beta1.serde.rs b/src/prost/cosmos.base.snapshots.v1beta1.serde.rs index 764f715b..a92ff6a9 100644 --- a/src/prost/cosmos.base.snapshots.v1beta1.serde.rs +++ b/src/prost/cosmos.base.snapshots.v1beta1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for Metadata { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.chunk_hashes.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.Metadata", len)?; - if !self.chunk_hashes.is_empty() { + if true { struct_ser.serialize_field("chunkHashes", &self.chunk_hashes.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() @@ -101,32 +101,32 @@ impl serde::Serialize for Snapshot { { use serde::ser::SerializeStruct; let mut len = 0; - if self.height != 0 { + if true { len += 1; } - if self.format != 0 { + if true { len += 1; } - if self.chunks != 0 { + if true { len += 1; } - if !self.hash.is_empty() { + if true { len += 1; } - if self.metadata.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.Snapshot", len)?; - if self.height != 0 { + if true { struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } - if self.format != 0 { + if true { struct_ser.serialize_field("format", &self.format)?; } - if self.chunks != 0 { + if true { struct_ser.serialize_field("chunks", &self.chunks)?; } - if !self.hash.is_empty() { + if true { struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; } if let Some(v) = self.metadata.as_ref() { @@ -268,17 +268,17 @@ impl serde::Serialize for SnapshotExtensionMeta { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.format != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionMeta", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if self.format != 0 { + if true { struct_ser.serialize_field("format", &self.format)?; } struct_ser.end() @@ -378,11 +378,11 @@ impl serde::Serialize for SnapshotExtensionPayload { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.payload.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotExtensionPayload", len)?; - if !self.payload.is_empty() { + if true { struct_ser.serialize_field("payload", pbjson::private::base64::encode(&self.payload).as_str())?; } struct_ser.end() @@ -471,29 +471,29 @@ impl serde::Serialize for SnapshotIavlItem { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } - if self.version != 0 { + if true { len += 1; } - if self.height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotIAVLItem", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } - if self.version != 0 { + if true { struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } - if self.height != 0 { + if true { struct_ser.serialize_field("height", &self.height)?; } struct_ser.end() @@ -783,17 +783,17 @@ impl serde::Serialize for SnapshotKvItem { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotKVItem", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -895,11 +895,11 @@ impl serde::Serialize for SnapshotSchema { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.keys.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotSchema", len)?; - if !self.keys.is_empty() { + if true { struct_ser.serialize_field("keys", &self.keys.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() @@ -989,11 +989,11 @@ impl serde::Serialize for SnapshotStoreItem { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.snapshots.v1beta1.SnapshotStoreItem", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } struct_ser.end() diff --git a/src/prost/cosmos.base.store.v1beta1.serde.rs b/src/prost/cosmos.base.store.v1beta1.serde.rs index 703d6e12..2bc33f54 100644 --- a/src/prost/cosmos.base.store.v1beta1.serde.rs +++ b/src/prost/cosmos.base.store.v1beta1.serde.rs @@ -6,22 +6,22 @@ impl serde::Serialize for BlockMetadata { { use serde::ser::SerializeStruct; let mut len = 0; - if self.request_begin_block.is_some() { + if true { len += 1; } - if self.response_begin_block.is_some() { + if true { len += 1; } - if !self.deliver_txs.is_empty() { + if true { len += 1; } - if self.request_end_block.is_some() { + if true { len += 1; } - if self.response_end_block.is_some() { + if true { len += 1; } - if self.response_commit.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.BlockMetadata", len)?; @@ -31,7 +31,7 @@ impl serde::Serialize for BlockMetadata { if let Some(v) = self.response_begin_block.as_ref() { struct_ser.serialize_field("responseBeginBlock", v)?; } - if !self.deliver_txs.is_empty() { + if true { struct_ser.serialize_field("deliverTxs", &self.deliver_txs)?; } if let Some(v) = self.request_end_block.as_ref() { @@ -188,10 +188,10 @@ impl serde::Serialize for block_metadata::DeliverTx { { use serde::ser::SerializeStruct; let mut len = 0; - if self.request.is_some() { + if true { len += 1; } - if self.response.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.BlockMetadata.DeliverTx", len)?; @@ -296,17 +296,17 @@ impl serde::Serialize for CommitId { { use serde::ser::SerializeStruct; let mut len = 0; - if self.version != 0 { + if true { len += 1; } - if !self.hash.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.CommitID", len)?; - if self.version != 0 { + if true { struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } - if !self.hash.is_empty() { + if true { struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; } struct_ser.end() @@ -408,20 +408,20 @@ impl serde::Serialize for CommitInfo { { use serde::ser::SerializeStruct; let mut len = 0; - if self.version != 0 { + if true { len += 1; } - if !self.store_infos.is_empty() { + if true { len += 1; } - if self.timestamp.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.CommitInfo", len)?; - if self.version != 0 { + if true { struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } - if !self.store_infos.is_empty() { + if true { struct_ser.serialize_field("storeInfos", &self.store_infos)?; } if let Some(v) = self.timestamp.as_ref() { @@ -536,14 +536,14 @@ impl serde::Serialize for StoreInfo { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.commit_id.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.StoreInfo", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } if let Some(v) = self.commit_id.as_ref() { @@ -645,29 +645,29 @@ impl serde::Serialize for StoreKvPair { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.store_key.is_empty() { + if true { len += 1; } - if self.delete { + if true { len += 1; } - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.store.v1beta1.StoreKVPair", len)?; - if !self.store_key.is_empty() { + if true { struct_ser.serialize_field("storeKey", &self.store_key)?; } - if self.delete { + if true { struct_ser.serialize_field("delete", &self.delete)?; } - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() diff --git a/src/prost/cosmos.base.v1beta1.serde.rs b/src/prost/cosmos.base.v1beta1.serde.rs index 0f6b0d5a..84e7cc70 100644 --- a/src/prost/cosmos.base.v1beta1.serde.rs +++ b/src/prost/cosmos.base.v1beta1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Coin { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.Coin", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -114,17 +114,17 @@ impl serde::Serialize for DecCoin { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.DecCoin", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -222,11 +222,11 @@ impl serde::Serialize for DecProto { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.dec.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.DecProto", len)?; - if !self.dec.is_empty() { + if true { struct_ser.serialize_field("dec", &self.dec)?; } struct_ser.end() @@ -313,11 +313,11 @@ impl serde::Serialize for IntProto { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.int.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.base.v1beta1.IntProto", len)?; - if !self.int.is_empty() { + if true { struct_ser.serialize_field("int", &self.int)?; } struct_ser.end() diff --git a/src/prost/cosmos.crypto.ed25519.serde.rs b/src/prost/cosmos.crypto.ed25519.serde.rs index ed41876d..47ffcbe0 100644 --- a/src/prost/cosmos.crypto.ed25519.serde.rs +++ b/src/prost/cosmos.crypto.ed25519.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for PrivKey { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.ed25519.PrivKey", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -99,11 +99,11 @@ impl serde::Serialize for PubKey { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.ed25519.PubKey", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() diff --git a/src/prost/cosmos.crypto.hd.v1.serde.rs b/src/prost/cosmos.crypto.hd.v1.serde.rs index ecb2762a..4789d36c 100644 --- a/src/prost/cosmos.crypto.hd.v1.serde.rs +++ b/src/prost/cosmos.crypto.hd.v1.serde.rs @@ -6,35 +6,35 @@ impl serde::Serialize for Bip44Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.purpose != 0 { + if true { len += 1; } - if self.coin_type != 0 { + if true { len += 1; } - if self.account != 0 { + if true { len += 1; } - if self.change { + if true { len += 1; } - if self.address_index != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.hd.v1.BIP44Params", len)?; - if self.purpose != 0 { + if true { struct_ser.serialize_field("purpose", &self.purpose)?; } - if self.coin_type != 0 { + if true { struct_ser.serialize_field("coinType", &self.coin_type)?; } - if self.account != 0 { + if true { struct_ser.serialize_field("account", &self.account)?; } - if self.change { + if true { struct_ser.serialize_field("change", &self.change)?; } - if self.address_index != 0 { + if true { struct_ser.serialize_field("addressIndex", &self.address_index)?; } struct_ser.end() diff --git a/src/prost/cosmos.crypto.keyring.v1.serde.rs b/src/prost/cosmos.crypto.keyring.v1.serde.rs index c7a9c54a..7c16ab34 100644 --- a/src/prost/cosmos.crypto.keyring.v1.serde.rs +++ b/src/prost/cosmos.crypto.keyring.v1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Record { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.pub_key.is_some() { + if true { len += 1; } if self.item.is_some() { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } if let Some(v) = self.pub_key.as_ref() { @@ -176,7 +176,7 @@ impl serde::Serialize for record::Ledger { { use serde::ser::SerializeStruct; let mut len = 0; - if self.path.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record.Ledger", len)?; @@ -267,7 +267,7 @@ impl serde::Serialize for record::Local { { use serde::ser::SerializeStruct; let mut len = 0; - if self.priv_key.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.keyring.v1.Record.Local", len)?; diff --git a/src/prost/cosmos.crypto.multisig.serde.rs b/src/prost/cosmos.crypto.multisig.serde.rs index ab40a7ef..c12a7061 100644 --- a/src/prost/cosmos.crypto.multisig.serde.rs +++ b/src/prost/cosmos.crypto.multisig.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for LegacyAminoPubKey { { use serde::ser::SerializeStruct; let mut len = 0; - if self.threshold != 0 { + if true { len += 1; } - if !self.public_keys.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.LegacyAminoPubKey", len)?; - if self.threshold != 0 { + if true { struct_ser.serialize_field("threshold", &self.threshold)?; } - if !self.public_keys.is_empty() { + if true { struct_ser.serialize_field("publicKeys", &self.public_keys)?; } struct_ser.end() diff --git a/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs b/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs index 6a6f8920..3277ba0f 100644 --- a/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs +++ b/src/prost/cosmos.crypto.multisig.v1beta1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for CompactBitArray { { use serde::ser::SerializeStruct; let mut len = 0; - if self.extra_bits_stored != 0 { + if true { len += 1; } - if !self.elems.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.v1beta1.CompactBitArray", len)?; - if self.extra_bits_stored != 0 { + if true { struct_ser.serialize_field("extraBitsStored", &self.extra_bits_stored)?; } - if !self.elems.is_empty() { + if true { struct_ser.serialize_field("elems", pbjson::private::base64::encode(&self.elems).as_str())?; } struct_ser.end() @@ -119,11 +119,11 @@ impl serde::Serialize for MultiSignature { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signatures.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.multisig.v1beta1.MultiSignature", len)?; - if !self.signatures.is_empty() { + if true { struct_ser.serialize_field("signatures", &self.signatures.iter().map(pbjson::private::base64::encode).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() diff --git a/src/prost/cosmos.crypto.secp256k1.serde.rs b/src/prost/cosmos.crypto.secp256k1.serde.rs index 328b08c2..93ed7dec 100644 --- a/src/prost/cosmos.crypto.secp256k1.serde.rs +++ b/src/prost/cosmos.crypto.secp256k1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for PrivKey { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256k1.PrivKey", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() @@ -99,11 +99,11 @@ impl serde::Serialize for PubKey { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256k1.PubKey", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() diff --git a/src/prost/cosmos.crypto.secp256r1.serde.rs b/src/prost/cosmos.crypto.secp256r1.serde.rs index b48a7f83..78159b52 100644 --- a/src/prost/cosmos.crypto.secp256r1.serde.rs +++ b/src/prost/cosmos.crypto.secp256r1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for PrivKey { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.secret.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256r1.PrivKey", len)?; - if !self.secret.is_empty() { + if true { struct_ser.serialize_field("secret", pbjson::private::base64::encode(&self.secret).as_str())?; } struct_ser.end() @@ -99,11 +99,11 @@ impl serde::Serialize for PubKey { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.crypto.secp256r1.PubKey", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } struct_ser.end() diff --git a/src/prost/cosmos.gov.module.v1.serde.rs b/src/prost/cosmos.gov.module.v1.serde.rs index 67380bca..21f5de59 100644 --- a/src/prost/cosmos.gov.module.v1.serde.rs +++ b/src/prost/cosmos.gov.module.v1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Module { { use serde::ser::SerializeStruct; let mut len = 0; - if self.max_metadata_len != 0 { + if true { len += 1; } - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.module.v1.Module", len)?; - if self.max_metadata_len != 0 { + if true { struct_ser.serialize_field("maxMetadataLen", ::alloc::string::ToString::to_string(&self.max_metadata_len).as_str())?; } - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() diff --git a/src/prost/cosmos.gov.v1.serde.rs b/src/prost/cosmos.gov.v1.serde.rs index ed3f2593..0c06a74b 100644 --- a/src/prost/cosmos.gov.v1.serde.rs +++ b/src/prost/cosmos.gov.v1.serde.rs @@ -6,23 +6,23 @@ impl serde::Serialize for Deposit { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Deposit", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -134,14 +134,14 @@ impl serde::Serialize for DepositParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.min_deposit.is_empty() { + if true { len += 1; } - if self.max_deposit_period.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.DepositParams", len)?; - if !self.min_deposit.is_empty() { + if true { struct_ser.serialize_field("minDeposit", &self.min_deposit)?; } if let Some(v) = self.max_deposit_period.as_ref() { @@ -244,41 +244,41 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.starting_proposal_id != 0 { + if true { len += 1; } - if !self.deposits.is_empty() { + if true { len += 1; } - if !self.votes.is_empty() { + if true { len += 1; } - if !self.proposals.is_empty() { + if true { len += 1; } - if self.deposit_params.is_some() { + if true { len += 1; } - if self.voting_params.is_some() { + if true { len += 1; } - if self.tally_params.is_some() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.GenesisState", len)?; - if self.starting_proposal_id != 0 { + if true { struct_ser.serialize_field("startingProposalId", ::alloc::string::ToString::to_string(&self.starting_proposal_id).as_str())?; } - if !self.deposits.is_empty() { + if true { struct_ser.serialize_field("deposits", &self.deposits)?; } - if !self.votes.is_empty() { + if true { struct_ser.serialize_field("votes", &self.votes)?; } - if !self.proposals.is_empty() { + if true { struct_ser.serialize_field("proposals", &self.proposals)?; } if let Some(v) = self.deposit_params.as_ref() { @@ -460,23 +460,23 @@ impl serde::Serialize for MsgDeposit { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgDeposit", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -659,17 +659,17 @@ impl serde::Serialize for MsgExecLegacyContent { { use serde::ser::SerializeStruct; let mut len = 0; - if self.content.is_some() { + if true { len += 1; } - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgExecLegacyContent", len)?; if let Some(v) = self.content.as_ref() { struct_ser.serialize_field("content", v)?; } - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() @@ -838,41 +838,41 @@ impl serde::Serialize for MsgSubmitProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.messages.is_empty() { + if true { len += 1; } - if !self.initial_deposit.is_empty() { + if true { len += 1; } - if !self.proposer.is_empty() { + if true { len += 1; } - if !self.metadata.is_empty() { + if true { len += 1; } - if !self.title.is_empty() { + if true { len += 1; } - if !self.summary.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgSubmitProposal", len)?; - if !self.messages.is_empty() { + if true { struct_ser.serialize_field("messages", &self.messages)?; } - if !self.initial_deposit.is_empty() { + if true { struct_ser.serialize_field("initialDeposit", &self.initial_deposit)?; } - if !self.proposer.is_empty() { + if true { struct_ser.serialize_field("proposer", &self.proposer)?; } - if !self.metadata.is_empty() { + if true { struct_ser.serialize_field("metadata", &self.metadata)?; } - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.summary.is_empty() { + if true { struct_ser.serialize_field("summary", &self.summary)?; } struct_ser.end() @@ -1015,11 +1015,11 @@ impl serde::Serialize for MsgSubmitProposalResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgSubmitProposalResponse", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() @@ -1109,14 +1109,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgUpdateParams", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } if let Some(v) = self.params.as_ref() { @@ -1288,31 +1288,31 @@ impl serde::Serialize for MsgVote { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if self.option != 0 { + if true { len += 1; } - if !self.metadata.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVote", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if self.option != 0 { + if true { let v = VoteOption::from_i32(self.option) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } - if !self.metadata.is_empty() { + if true { struct_ser.serialize_field("metadata", &self.metadata)?; } struct_ser.end() @@ -1506,29 +1506,29 @@ impl serde::Serialize for MsgVoteWeighted { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if !self.options.is_empty() { + if true { len += 1; } - if !self.metadata.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.MsgVoteWeighted", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if !self.options.is_empty() { + if true { struct_ser.serialize_field("options", &self.options)?; } - if !self.metadata.is_empty() { + if true { struct_ser.serialize_field("metadata", &self.metadata)?; } struct_ser.end() @@ -1722,38 +1722,38 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.min_deposit.is_empty() { + if true { len += 1; } - if self.max_deposit_period.is_some() { + if true { len += 1; } - if self.voting_period.is_some() { + if true { len += 1; } - if !self.quorum.is_empty() { + if true { len += 1; } - if !self.threshold.is_empty() { + if true { len += 1; } - if !self.veto_threshold.is_empty() { + if true { len += 1; } - if !self.min_initial_deposit_ratio.is_empty() { + if true { len += 1; } - if self.burn_vote_quorum { + if true { len += 1; } - if self.burn_proposal_deposit_prevote { + if true { len += 1; } - if self.burn_vote_veto { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Params", len)?; - if !self.min_deposit.is_empty() { + if true { struct_ser.serialize_field("minDeposit", &self.min_deposit)?; } if let Some(v) = self.max_deposit_period.as_ref() { @@ -1762,25 +1762,25 @@ impl serde::Serialize for Params { if let Some(v) = self.voting_period.as_ref() { struct_ser.serialize_field("votingPeriod", v)?; } - if !self.quorum.is_empty() { + if true { struct_ser.serialize_field("quorum", &self.quorum)?; } - if !self.threshold.is_empty() { + if true { struct_ser.serialize_field("threshold", &self.threshold)?; } - if !self.veto_threshold.is_empty() { + if true { struct_ser.serialize_field("vetoThreshold", &self.veto_threshold)?; } - if !self.min_initial_deposit_ratio.is_empty() { + if true { struct_ser.serialize_field("minInitialDepositRatio", &self.min_initial_deposit_ratio)?; } - if self.burn_vote_quorum { + if true { struct_ser.serialize_field("burnVoteQuorum", &self.burn_vote_quorum)?; } - if self.burn_proposal_deposit_prevote { + if true { struct_ser.serialize_field("burnProposalDepositPrevote", &self.burn_proposal_deposit_prevote)?; } - if self.burn_vote_veto { + if true { struct_ser.serialize_field("burnVoteVeto", &self.burn_vote_veto)?; } struct_ser.end() @@ -1974,53 +1974,53 @@ impl serde::Serialize for Proposal { { use serde::ser::SerializeStruct; let mut len = 0; - if self.id != 0 { + if true { len += 1; } - if !self.messages.is_empty() { + if true { len += 1; } - if self.status != 0 { + if true { len += 1; } - if self.final_tally_result.is_some() { + if true { len += 1; } - if self.submit_time.is_some() { + if true { len += 1; } - if self.deposit_end_time.is_some() { + if true { len += 1; } - if !self.total_deposit.is_empty() { + if true { len += 1; } - if self.voting_start_time.is_some() { + if true { len += 1; } - if self.voting_end_time.is_some() { + if true { len += 1; } - if !self.metadata.is_empty() { + if true { len += 1; } - if !self.title.is_empty() { + if true { len += 1; } - if !self.summary.is_empty() { + if true { len += 1; } - if !self.proposer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Proposal", len)?; - if self.id != 0 { + if true { struct_ser.serialize_field("id", ::alloc::string::ToString::to_string(&self.id).as_str())?; } - if !self.messages.is_empty() { + if true { struct_ser.serialize_field("messages", &self.messages)?; } - if self.status != 0 { + if true { let v = ProposalStatus::from_i32(self.status) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.status)))?; struct_ser.serialize_field("status", &v)?; @@ -2034,7 +2034,7 @@ impl serde::Serialize for Proposal { if let Some(v) = self.deposit_end_time.as_ref() { struct_ser.serialize_field("depositEndTime", v)?; } - if !self.total_deposit.is_empty() { + if true { struct_ser.serialize_field("totalDeposit", &self.total_deposit)?; } if let Some(v) = self.voting_start_time.as_ref() { @@ -2043,16 +2043,16 @@ impl serde::Serialize for Proposal { if let Some(v) = self.voting_end_time.as_ref() { struct_ser.serialize_field("votingEndTime", v)?; } - if !self.metadata.is_empty() { + if true { struct_ser.serialize_field("metadata", &self.metadata)?; } - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.summary.is_empty() { + if true { struct_ser.serialize_field("summary", &self.summary)?; } - if !self.proposer.is_empty() { + if true { struct_ser.serialize_field("proposer", &self.proposer)?; } struct_ser.end() @@ -2364,17 +2364,17 @@ impl serde::Serialize for QueryDepositRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } struct_ser.end() @@ -2475,7 +2475,7 @@ impl serde::Serialize for QueryDepositResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.deposit.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositResponse", len)?; @@ -2566,14 +2566,14 @@ impl serde::Serialize for QueryDepositsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositsRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { @@ -2677,14 +2677,14 @@ impl serde::Serialize for QueryDepositsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.deposits.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryDepositsResponse", len)?; - if !self.deposits.is_empty() { + if true { struct_ser.serialize_field("deposits", &self.deposits)?; } if let Some(v) = self.pagination.as_ref() { @@ -2785,11 +2785,11 @@ impl serde::Serialize for QueryParamsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.params_type.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryParamsRequest", len)?; - if !self.params_type.is_empty() { + if true { struct_ser.serialize_field("paramsType", &self.params_type)?; } struct_ser.end() @@ -2877,16 +2877,16 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.voting_params.is_some() { + if true { len += 1; } - if self.deposit_params.is_some() { + if true { len += 1; } - if self.tally_params.is_some() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryParamsResponse", len)?; @@ -3022,11 +3022,11 @@ impl serde::Serialize for QueryProposalRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() @@ -3116,7 +3116,7 @@ impl serde::Serialize for QueryProposalResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalResponse", len)?; @@ -3207,28 +3207,28 @@ impl serde::Serialize for QueryProposalsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_status != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalsRequest", len)?; - if self.proposal_status != 0 { + if true { let v = ProposalStatus::from_i32(self.proposal_status) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.proposal_status)))?; struct_ser.serialize_field("proposalStatus", &v)?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } if let Some(v) = self.pagination.as_ref() { @@ -3352,14 +3352,14 @@ impl serde::Serialize for QueryProposalsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.proposals.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryProposalsResponse", len)?; - if !self.proposals.is_empty() { + if true { struct_ser.serialize_field("proposals", &self.proposals)?; } if let Some(v) = self.pagination.as_ref() { @@ -3460,11 +3460,11 @@ impl serde::Serialize for QueryTallyResultRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryTallyResultRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() @@ -3554,7 +3554,7 @@ impl serde::Serialize for QueryTallyResultResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.tally.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryTallyResultResponse", len)?; @@ -3645,17 +3645,17 @@ impl serde::Serialize for QueryVoteRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVoteRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } struct_ser.end() @@ -3756,7 +3756,7 @@ impl serde::Serialize for QueryVoteResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.vote.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVoteResponse", len)?; @@ -3847,14 +3847,14 @@ impl serde::Serialize for QueryVotesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVotesRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { @@ -3958,14 +3958,14 @@ impl serde::Serialize for QueryVotesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.votes.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.QueryVotesResponse", len)?; - if !self.votes.is_empty() { + if true { struct_ser.serialize_field("votes", &self.votes)?; } if let Some(v) = self.pagination.as_ref() { @@ -4066,23 +4066,23 @@ impl serde::Serialize for TallyParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.quorum.is_empty() { + if true { len += 1; } - if !self.threshold.is_empty() { + if true { len += 1; } - if !self.veto_threshold.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.TallyParams", len)?; - if !self.quorum.is_empty() { + if true { struct_ser.serialize_field("quorum", &self.quorum)?; } - if !self.threshold.is_empty() { + if true { struct_ser.serialize_field("threshold", &self.threshold)?; } - if !self.veto_threshold.is_empty() { + if true { struct_ser.serialize_field("vetoThreshold", &self.veto_threshold)?; } struct_ser.end() @@ -4192,29 +4192,29 @@ impl serde::Serialize for TallyResult { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.yes_count.is_empty() { + if true { len += 1; } - if !self.abstain_count.is_empty() { + if true { len += 1; } - if !self.no_count.is_empty() { + if true { len += 1; } - if !self.no_with_veto_count.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.TallyResult", len)?; - if !self.yes_count.is_empty() { + if true { struct_ser.serialize_field("yesCount", &self.yes_count)?; } - if !self.abstain_count.is_empty() { + if true { struct_ser.serialize_field("abstainCount", &self.abstain_count)?; } - if !self.no_count.is_empty() { + if true { struct_ser.serialize_field("noCount", &self.no_count)?; } - if !self.no_with_veto_count.is_empty() { + if true { struct_ser.serialize_field("noWithVetoCount", &self.no_with_veto_count)?; } struct_ser.end() @@ -4338,29 +4338,29 @@ impl serde::Serialize for Vote { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if !self.options.is_empty() { + if true { len += 1; } - if !self.metadata.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.Vote", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if !self.options.is_empty() { + if true { struct_ser.serialize_field("options", &self.options)?; } - if !self.metadata.is_empty() { + if true { struct_ser.serialize_field("metadata", &self.metadata)?; } struct_ser.end() @@ -4565,7 +4565,7 @@ impl serde::Serialize for VotingParams { { use serde::ser::SerializeStruct; let mut len = 0; - if self.voting_period.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.VotingParams", len)?; @@ -4657,19 +4657,19 @@ impl serde::Serialize for WeightedVoteOption { { use serde::ser::SerializeStruct; let mut len = 0; - if self.option != 0 { + if true { len += 1; } - if !self.weight.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1.WeightedVoteOption", len)?; - if self.option != 0 { + if true { let v = VoteOption::from_i32(self.option) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } - if !self.weight.is_empty() { + if true { struct_ser.serialize_field("weight", &self.weight)?; } struct_ser.end() diff --git a/src/prost/cosmos.gov.v1beta1.serde.rs b/src/prost/cosmos.gov.v1beta1.serde.rs index d88e91fd..5ed64cf5 100644 --- a/src/prost/cosmos.gov.v1beta1.serde.rs +++ b/src/prost/cosmos.gov.v1beta1.serde.rs @@ -6,23 +6,23 @@ impl serde::Serialize for Deposit { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Deposit", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -134,14 +134,14 @@ impl serde::Serialize for DepositParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.min_deposit.is_empty() { + if true { len += 1; } - if self.max_deposit_period.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.DepositParams", len)?; - if !self.min_deposit.is_empty() { + if true { struct_ser.serialize_field("minDeposit", &self.min_deposit)?; } if let Some(v) = self.max_deposit_period.as_ref() { @@ -244,38 +244,38 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.starting_proposal_id != 0 { + if true { len += 1; } - if !self.deposits.is_empty() { + if true { len += 1; } - if !self.votes.is_empty() { + if true { len += 1; } - if !self.proposals.is_empty() { + if true { len += 1; } - if self.deposit_params.is_some() { + if true { len += 1; } - if self.voting_params.is_some() { + if true { len += 1; } - if self.tally_params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.GenesisState", len)?; - if self.starting_proposal_id != 0 { + if true { struct_ser.serialize_field("startingProposalId", ::alloc::string::ToString::to_string(&self.starting_proposal_id).as_str())?; } - if !self.deposits.is_empty() { + if true { struct_ser.serialize_field("deposits", &self.deposits)?; } - if !self.votes.is_empty() { + if true { struct_ser.serialize_field("votes", &self.votes)?; } - if !self.proposals.is_empty() { + if true { struct_ser.serialize_field("proposals", &self.proposals)?; } if let Some(v) = self.deposit_params.as_ref() { @@ -443,23 +443,23 @@ impl serde::Serialize for MsgDeposit { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgDeposit", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } struct_ser.end() @@ -642,23 +642,23 @@ impl serde::Serialize for MsgSubmitProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if self.content.is_some() { + if true { len += 1; } - if !self.initial_deposit.is_empty() { + if true { len += 1; } - if !self.proposer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgSubmitProposal", len)?; if let Some(v) = self.content.as_ref() { struct_ser.serialize_field("content", v)?; } - if !self.initial_deposit.is_empty() { + if true { struct_ser.serialize_field("initialDeposit", &self.initial_deposit)?; } - if !self.proposer.is_empty() { + if true { struct_ser.serialize_field("proposer", &self.proposer)?; } struct_ser.end() @@ -768,11 +768,11 @@ impl serde::Serialize for MsgSubmitProposalResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgSubmitProposalResponse", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() @@ -862,23 +862,23 @@ impl serde::Serialize for MsgVote { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if self.option != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVote", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if self.option != 0 { + if true { let v = VoteOption::from_i32(self.option) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; @@ -1063,23 +1063,23 @@ impl serde::Serialize for MsgVoteWeighted { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if !self.options.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.MsgVoteWeighted", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if !self.options.is_empty() { + if true { struct_ser.serialize_field("options", &self.options)?; } struct_ser.end() @@ -1262,41 +1262,41 @@ impl serde::Serialize for Proposal { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if self.content.is_some() { + if true { len += 1; } - if self.status != 0 { + if true { len += 1; } - if self.final_tally_result.is_some() { + if true { len += 1; } - if self.submit_time.is_some() { + if true { len += 1; } - if self.deposit_end_time.is_some() { + if true { len += 1; } - if !self.total_deposit.is_empty() { + if true { len += 1; } - if self.voting_start_time.is_some() { + if true { len += 1; } - if self.voting_end_time.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Proposal", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.content.as_ref() { struct_ser.serialize_field("content", v)?; } - if self.status != 0 { + if true { let v = ProposalStatus::from_i32(self.status) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.status)))?; struct_ser.serialize_field("status", &v)?; @@ -1310,7 +1310,7 @@ impl serde::Serialize for Proposal { if let Some(v) = self.deposit_end_time.as_ref() { struct_ser.serialize_field("depositEndTime", v)?; } - if !self.total_deposit.is_empty() { + if true { struct_ser.serialize_field("totalDeposit", &self.total_deposit)?; } if let Some(v) = self.voting_start_time.as_ref() { @@ -1585,17 +1585,17 @@ impl serde::Serialize for QueryDepositRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } struct_ser.end() @@ -1696,7 +1696,7 @@ impl serde::Serialize for QueryDepositResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.deposit.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositResponse", len)?; @@ -1787,14 +1787,14 @@ impl serde::Serialize for QueryDepositsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositsRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { @@ -1898,14 +1898,14 @@ impl serde::Serialize for QueryDepositsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.deposits.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryDepositsResponse", len)?; - if !self.deposits.is_empty() { + if true { struct_ser.serialize_field("deposits", &self.deposits)?; } if let Some(v) = self.pagination.as_ref() { @@ -2006,11 +2006,11 @@ impl serde::Serialize for QueryParamsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.params_type.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryParamsRequest", len)?; - if !self.params_type.is_empty() { + if true { struct_ser.serialize_field("paramsType", &self.params_type)?; } struct_ser.end() @@ -2098,13 +2098,13 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.voting_params.is_some() { + if true { len += 1; } - if self.deposit_params.is_some() { + if true { len += 1; } - if self.tally_params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryParamsResponse", len)?; @@ -2226,11 +2226,11 @@ impl serde::Serialize for QueryProposalRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() @@ -2320,7 +2320,7 @@ impl serde::Serialize for QueryProposalResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalResponse", len)?; @@ -2411,28 +2411,28 @@ impl serde::Serialize for QueryProposalsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_status != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if !self.depositor.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalsRequest", len)?; - if self.proposal_status != 0 { + if true { let v = ProposalStatus::from_i32(self.proposal_status) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.proposal_status)))?; struct_ser.serialize_field("proposalStatus", &v)?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if !self.depositor.is_empty() { + if true { struct_ser.serialize_field("depositor", &self.depositor)?; } if let Some(v) = self.pagination.as_ref() { @@ -2556,14 +2556,14 @@ impl serde::Serialize for QueryProposalsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.proposals.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryProposalsResponse", len)?; - if !self.proposals.is_empty() { + if true { struct_ser.serialize_field("proposals", &self.proposals)?; } if let Some(v) = self.pagination.as_ref() { @@ -2664,11 +2664,11 @@ impl serde::Serialize for QueryTallyResultRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryTallyResultRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } struct_ser.end() @@ -2758,7 +2758,7 @@ impl serde::Serialize for QueryTallyResultResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.tally.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryTallyResultResponse", len)?; @@ -2849,17 +2849,17 @@ impl serde::Serialize for QueryVoteRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVoteRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } struct_ser.end() @@ -2960,7 +2960,7 @@ impl serde::Serialize for QueryVoteResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.vote.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVoteResponse", len)?; @@ -3051,14 +3051,14 @@ impl serde::Serialize for QueryVotesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVotesRequest", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } if let Some(v) = self.pagination.as_ref() { @@ -3162,14 +3162,14 @@ impl serde::Serialize for QueryVotesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.votes.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.QueryVotesResponse", len)?; - if !self.votes.is_empty() { + if true { struct_ser.serialize_field("votes", &self.votes)?; } if let Some(v) = self.pagination.as_ref() { @@ -3270,23 +3270,23 @@ impl serde::Serialize for TallyParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.quorum.is_empty() { + if true { len += 1; } - if !self.threshold.is_empty() { + if true { len += 1; } - if !self.veto_threshold.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TallyParams", len)?; - if !self.quorum.is_empty() { + if true { struct_ser.serialize_field("quorum", pbjson::private::base64::encode(&self.quorum).as_str())?; } - if !self.threshold.is_empty() { + if true { struct_ser.serialize_field("threshold", pbjson::private::base64::encode(&self.threshold).as_str())?; } - if !self.veto_threshold.is_empty() { + if true { struct_ser.serialize_field("vetoThreshold", pbjson::private::base64::encode(&self.veto_threshold).as_str())?; } struct_ser.end() @@ -3402,29 +3402,29 @@ impl serde::Serialize for TallyResult { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.yes.is_empty() { + if true { len += 1; } - if !self.abstain.is_empty() { + if true { len += 1; } - if !self.no.is_empty() { + if true { len += 1; } - if !self.no_with_veto.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TallyResult", len)?; - if !self.yes.is_empty() { + if true { struct_ser.serialize_field("yes", &self.yes)?; } - if !self.abstain.is_empty() { + if true { struct_ser.serialize_field("abstain", &self.abstain)?; } - if !self.no.is_empty() { + if true { struct_ser.serialize_field("no", &self.no)?; } - if !self.no_with_veto.is_empty() { + if true { struct_ser.serialize_field("noWithVeto", &self.no_with_veto)?; } struct_ser.end() @@ -3545,17 +3545,17 @@ impl serde::Serialize for TextProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.title.is_empty() { + if true { len += 1; } - if !self.description.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.TextProposal", len)?; - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.description.is_empty() { + if true { struct_ser.serialize_field("description", &self.description)?; } struct_ser.end() @@ -3653,31 +3653,31 @@ impl serde::Serialize for Vote { { use serde::ser::SerializeStruct; let mut len = 0; - if self.proposal_id != 0 { + if true { len += 1; } - if !self.voter.is_empty() { + if true { len += 1; } - if self.option != 0 { + if true { len += 1; } - if !self.options.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.Vote", len)?; - if self.proposal_id != 0 { + if true { struct_ser.serialize_field("proposalId", ::alloc::string::ToString::to_string(&self.proposal_id).as_str())?; } - if !self.voter.is_empty() { + if true { struct_ser.serialize_field("voter", &self.voter)?; } - if self.option != 0 { + if true { let v = VoteOption::from_i32(self.option) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } - if !self.options.is_empty() { + if true { struct_ser.serialize_field("options", &self.options)?; } struct_ser.end() @@ -3882,7 +3882,7 @@ impl serde::Serialize for VotingParams { { use serde::ser::SerializeStruct; let mut len = 0; - if self.voting_period.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.VotingParams", len)?; @@ -3974,19 +3974,19 @@ impl serde::Serialize for WeightedVoteOption { { use serde::ser::SerializeStruct; let mut len = 0; - if self.option != 0 { + if true { len += 1; } - if !self.weight.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.gov.v1beta1.WeightedVoteOption", len)?; - if self.option != 0 { + if true { let v = VoteOption::from_i32(self.option) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.option)))?; struct_ser.serialize_field("option", &v)?; } - if !self.weight.is_empty() { + if true { struct_ser.serialize_field("weight", &self.weight)?; } struct_ser.end() diff --git a/src/prost/cosmos.ics23.v1.serde.rs b/src/prost/cosmos.ics23.v1.serde.rs index fa2323eb..283820a8 100644 --- a/src/prost/cosmos.ics23.v1.serde.rs +++ b/src/prost/cosmos.ics23.v1.serde.rs @@ -115,11 +115,11 @@ impl serde::Serialize for BatchProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.entries.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.BatchProof", len)?; - if !self.entries.is_empty() { + if true { struct_ser.serialize_field("entries", &self.entries)?; } struct_ser.end() @@ -450,17 +450,17 @@ impl serde::Serialize for CompressedBatchProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.entries.is_empty() { + if true { len += 1; } - if !self.lookup_inners.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedBatchProof", len)?; - if !self.entries.is_empty() { + if true { struct_ser.serialize_field("entries", &self.entries)?; } - if !self.lookup_inners.is_empty() { + if true { struct_ser.serialize_field("lookupInners", &self.lookup_inners)?; } struct_ser.end() @@ -559,29 +559,29 @@ impl serde::Serialize for CompressedExistenceProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } - if self.leaf.is_some() { + if true { len += 1; } - if !self.path.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedExistenceProof", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } if let Some(v) = self.leaf.as_ref() { struct_ser.serialize_field("leaf", v)?; } - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", &self.path)?; } struct_ser.end() @@ -708,17 +708,17 @@ impl serde::Serialize for CompressedNonExistenceProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if self.left.is_some() { + if true { len += 1; } - if self.right.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.CompressedNonExistenceProof", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if let Some(v) = self.left.as_ref() { @@ -835,29 +835,29 @@ impl serde::Serialize for ExistenceProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } - if self.leaf.is_some() { + if true { len += 1; } - if !self.path.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.ExistenceProof", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } if let Some(v) = self.leaf.as_ref() { struct_ser.serialize_field("leaf", v)?; } - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", &self.path)?; } struct_ser.end() @@ -1069,25 +1069,25 @@ impl serde::Serialize for InnerOp { { use serde::ser::SerializeStruct; let mut len = 0; - if self.hash != 0 { + if true { len += 1; } - if !self.prefix.is_empty() { + if true { len += 1; } - if !self.suffix.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.InnerOp", len)?; - if self.hash != 0 { + if true { let v = HashOp::from_i32(self.hash) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.hash)))?; struct_ser.serialize_field("hash", &v)?; } - if !self.prefix.is_empty() { + if true { struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&self.prefix).as_str())?; } - if !self.suffix.is_empty() { + if true { struct_ser.serialize_field("suffix", pbjson::private::base64::encode(&self.suffix).as_str())?; } struct_ser.end() @@ -1200,41 +1200,41 @@ impl serde::Serialize for InnerSpec { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.child_order.is_empty() { + if true { len += 1; } - if self.child_size != 0 { + if true { len += 1; } - if self.min_prefix_length != 0 { + if true { len += 1; } - if self.max_prefix_length != 0 { + if true { len += 1; } - if !self.empty_child.is_empty() { + if true { len += 1; } - if self.hash != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.InnerSpec", len)?; - if !self.child_order.is_empty() { + if true { struct_ser.serialize_field("childOrder", &self.child_order)?; } - if self.child_size != 0 { + if true { struct_ser.serialize_field("childSize", &self.child_size)?; } - if self.min_prefix_length != 0 { + if true { struct_ser.serialize_field("minPrefixLength", &self.min_prefix_length)?; } - if self.max_prefix_length != 0 { + if true { struct_ser.serialize_field("maxPrefixLength", &self.max_prefix_length)?; } - if !self.empty_child.is_empty() { + if true { struct_ser.serialize_field("emptyChild", pbjson::private::base64::encode(&self.empty_child).as_str())?; } - if self.hash != 0 { + if true { let v = HashOp::from_i32(self.hash) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.hash)))?; struct_ser.serialize_field("hash", &v)?; @@ -1394,43 +1394,43 @@ impl serde::Serialize for LeafOp { { use serde::ser::SerializeStruct; let mut len = 0; - if self.hash != 0 { + if true { len += 1; } - if self.prehash_key != 0 { + if true { len += 1; } - if self.prehash_value != 0 { + if true { len += 1; } - if self.length != 0 { + if true { len += 1; } - if !self.prefix.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.LeafOp", len)?; - if self.hash != 0 { + if true { let v = HashOp::from_i32(self.hash) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.hash)))?; struct_ser.serialize_field("hash", &v)?; } - if self.prehash_key != 0 { + if true { let v = HashOp::from_i32(self.prehash_key) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.prehash_key)))?; struct_ser.serialize_field("prehashKey", &v)?; } - if self.prehash_value != 0 { + if true { let v = HashOp::from_i32(self.prehash_value) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.prehash_value)))?; struct_ser.serialize_field("prehashValue", &v)?; } - if self.length != 0 { + if true { let v = LengthOp::from_i32(self.length) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.length)))?; struct_ser.serialize_field("length", &v)?; } - if !self.prefix.is_empty() { + if true { struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&self.prefix).as_str())?; } struct_ser.end() @@ -1659,17 +1659,17 @@ impl serde::Serialize for NonExistenceProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if self.left.is_some() { + if true { len += 1; } - if self.right.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.NonExistenceProof", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } if let Some(v) = self.left.as_ref() { @@ -1786,16 +1786,16 @@ impl serde::Serialize for ProofSpec { { use serde::ser::SerializeStruct; let mut len = 0; - if self.leaf_spec.is_some() { + if true { len += 1; } - if self.inner_spec.is_some() { + if true { len += 1; } - if self.max_depth != 0 { + if true { len += 1; } - if self.min_depth != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.ics23.v1.ProofSpec", len)?; @@ -1805,10 +1805,10 @@ impl serde::Serialize for ProofSpec { if let Some(v) = self.inner_spec.as_ref() { struct_ser.serialize_field("innerSpec", v)?; } - if self.max_depth != 0 { + if true { struct_ser.serialize_field("maxDepth", &self.max_depth)?; } - if self.min_depth != 0 { + if true { struct_ser.serialize_field("minDepth", &self.min_depth)?; } struct_ser.end() diff --git a/src/prost/cosmos.staking.module.v1.serde.rs b/src/prost/cosmos.staking.module.v1.serde.rs index d8c95464..07c37646 100644 --- a/src/prost/cosmos.staking.module.v1.serde.rs +++ b/src/prost/cosmos.staking.module.v1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Module { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.hooks_order.is_empty() { + if true { len += 1; } - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.module.v1.Module", len)?; - if !self.hooks_order.is_empty() { + if true { struct_ser.serialize_field("hooksOrder", &self.hooks_order)?; } - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() diff --git a/src/prost/cosmos.staking.v1beta1.serde.rs b/src/prost/cosmos.staking.v1beta1.serde.rs index e298894c..a7baa70b 100644 --- a/src/prost/cosmos.staking.v1beta1.serde.rs +++ b/src/prost/cosmos.staking.v1beta1.serde.rs @@ -164,10 +164,10 @@ impl serde::Serialize for Commission { { use serde::ser::SerializeStruct; let mut len = 0; - if self.commission_rates.is_some() { + if true { len += 1; } - if self.update_time.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Commission", len)?; @@ -274,23 +274,23 @@ impl serde::Serialize for CommissionRates { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.rate.is_empty() { + if true { len += 1; } - if !self.max_rate.is_empty() { + if true { len += 1; } - if !self.max_change_rate.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.CommissionRates", len)?; - if !self.rate.is_empty() { + if true { struct_ser.serialize_field("rate", &self.rate)?; } - if !self.max_rate.is_empty() { + if true { struct_ser.serialize_field("maxRate", &self.max_rate)?; } - if !self.max_change_rate.is_empty() { + if true { struct_ser.serialize_field("maxChangeRate", &self.max_change_rate)?; } struct_ser.end() @@ -401,17 +401,17 @@ impl serde::Serialize for DvPair { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVPair", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } struct_ser.end() @@ -511,11 +511,11 @@ impl serde::Serialize for DvPairs { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.pairs.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVPairs", len)?; - if !self.pairs.is_empty() { + if true { struct_ser.serialize_field("pairs", &self.pairs)?; } struct_ser.end() @@ -602,23 +602,23 @@ impl serde::Serialize for DvvTriplet { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_src_address.is_empty() { + if true { len += 1; } - if !self.validator_dst_address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVVTriplet", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_src_address.is_empty() { + if true { struct_ser.serialize_field("validatorSrcAddress", &self.validator_src_address)?; } - if !self.validator_dst_address.is_empty() { + if true { struct_ser.serialize_field("validatorDstAddress", &self.validator_dst_address)?; } struct_ser.end() @@ -730,11 +730,11 @@ impl serde::Serialize for DvvTriplets { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.triplets.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DVVTriplets", len)?; - if !self.triplets.is_empty() { + if true { struct_ser.serialize_field("triplets", &self.triplets)?; } struct_ser.end() @@ -821,23 +821,23 @@ impl serde::Serialize for Delegation { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if !self.shares.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Delegation", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } - if !self.shares.is_empty() { + if true { struct_ser.serialize_field("shares", &self.shares)?; } struct_ser.end() @@ -948,10 +948,10 @@ impl serde::Serialize for DelegationResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.delegation.is_some() { + if true { len += 1; } - if self.balance.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.DelegationResponse", len)?; @@ -1056,35 +1056,35 @@ impl serde::Serialize for Description { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.moniker.is_empty() { + if true { len += 1; } - if !self.identity.is_empty() { + if true { len += 1; } - if !self.website.is_empty() { + if true { len += 1; } - if !self.security_contact.is_empty() { + if true { len += 1; } - if !self.details.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Description", len)?; - if !self.moniker.is_empty() { + if true { struct_ser.serialize_field("moniker", &self.moniker)?; } - if !self.identity.is_empty() { + if true { struct_ser.serialize_field("identity", &self.identity)?; } - if !self.website.is_empty() { + if true { struct_ser.serialize_field("website", &self.website)?; } - if !self.security_contact.is_empty() { + if true { struct_ser.serialize_field("securityContact", &self.security_contact)?; } - if !self.details.is_empty() { + if true { struct_ser.serialize_field("details", &self.details)?; } struct_ser.end() @@ -1216,53 +1216,53 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } - if !self.last_total_power.is_empty() { + if true { len += 1; } - if !self.last_validator_powers.is_empty() { + if true { len += 1; } - if !self.validators.is_empty() { + if true { len += 1; } - if !self.delegations.is_empty() { + if true { len += 1; } - if !self.unbonding_delegations.is_empty() { + if true { len += 1; } - if !self.redelegations.is_empty() { + if true { len += 1; } - if self.exported { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.GenesisState", len)?; if let Some(v) = self.params.as_ref() { struct_ser.serialize_field("params", v)?; } - if !self.last_total_power.is_empty() { + if true { struct_ser.serialize_field("lastTotalPower", pbjson::private::base64::encode(&self.last_total_power).as_str())?; } - if !self.last_validator_powers.is_empty() { + if true { struct_ser.serialize_field("lastValidatorPowers", &self.last_validator_powers)?; } - if !self.validators.is_empty() { + if true { struct_ser.serialize_field("validators", &self.validators)?; } - if !self.delegations.is_empty() { + if true { struct_ser.serialize_field("delegations", &self.delegations)?; } - if !self.unbonding_delegations.is_empty() { + if true { struct_ser.serialize_field("unbondingDelegations", &self.unbonding_delegations)?; } - if !self.redelegations.is_empty() { + if true { struct_ser.serialize_field("redelegations", &self.redelegations)?; } - if self.exported { + if true { struct_ser.serialize_field("exported", &self.exported)?; } struct_ser.end() @@ -1431,17 +1431,17 @@ impl serde::Serialize for HistoricalInfo { { use serde::ser::SerializeStruct; let mut len = 0; - if self.header.is_some() { + if true { len += 1; } - if !self.valset.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.HistoricalInfo", len)?; if let Some(v) = self.header.as_ref() { struct_ser.serialize_field("header", v)?; } - if !self.valset.is_empty() { + if true { struct_ser.serialize_field("valset", &self.valset)?; } struct_ser.end() @@ -1691,17 +1691,17 @@ impl serde::Serialize for LastValidatorPower { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if self.power != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.LastValidatorPower", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if self.power != 0 { + if true { struct_ser.serialize_field("power", ::alloc::string::ToString::to_string(&self.power).as_str())?; } struct_ser.end() @@ -1801,26 +1801,26 @@ impl serde::Serialize for MsgBeginRedelegate { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_src_address.is_empty() { + if true { len += 1; } - if !self.validator_dst_address.is_empty() { + if true { len += 1; } - if self.amount.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgBeginRedelegate", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_src_address.is_empty() { + if true { struct_ser.serialize_field("validatorSrcAddress", &self.validator_src_address)?; } - if !self.validator_dst_address.is_empty() { + if true { struct_ser.serialize_field("validatorDstAddress", &self.validator_dst_address)?; } if let Some(v) = self.amount.as_ref() { @@ -1946,7 +1946,7 @@ impl serde::Serialize for MsgBeginRedelegateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.completion_time.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgBeginRedelegateResponse", len)?; @@ -2038,29 +2038,29 @@ impl serde::Serialize for MsgCancelUnbondingDelegation { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if self.amount.is_some() { + if true { len += 1; } - if self.creation_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgCancelUnbondingDelegation", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } if let Some(v) = self.amount.as_ref() { struct_ser.serialize_field("amount", v)?; } - if self.creation_height != 0 { + if true { struct_ser.serialize_field("creationHeight", ::alloc::string::ToString::to_string(&self.creation_height).as_str())?; } struct_ser.end() @@ -2256,25 +2256,25 @@ impl serde::Serialize for MsgCreateValidator { { use serde::ser::SerializeStruct; let mut len = 0; - if self.description.is_some() { + if true { len += 1; } - if self.commission.is_some() { + if true { len += 1; } - if !self.min_self_delegation.is_empty() { + if true { len += 1; } - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if self.pubkey.is_some() { + if true { len += 1; } - if self.value.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgCreateValidator", len)?; @@ -2284,13 +2284,13 @@ impl serde::Serialize for MsgCreateValidator { if let Some(v) = self.commission.as_ref() { struct_ser.serialize_field("commission", v)?; } - if !self.min_self_delegation.is_empty() { + if true { struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; } - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } if let Some(v) = self.pubkey.as_ref() { @@ -2523,20 +2523,20 @@ impl serde::Serialize for MsgDelegate { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if self.amount.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgDelegate", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } if let Some(v) = self.amount.as_ref() { @@ -2721,29 +2721,29 @@ impl serde::Serialize for MsgEditValidator { { use serde::ser::SerializeStruct; let mut len = 0; - if self.description.is_some() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if !self.commission_rate.is_empty() { + if true { len += 1; } - if !self.min_self_delegation.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgEditValidator", len)?; if let Some(v) = self.description.as_ref() { struct_ser.serialize_field("description", v)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } - if !self.commission_rate.is_empty() { + if true { struct_ser.serialize_field("commissionRate", &self.commission_rate)?; } - if !self.min_self_delegation.is_empty() { + if true { struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; } struct_ser.end() @@ -2937,20 +2937,20 @@ impl serde::Serialize for MsgUndelegate { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if self.amount.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUndelegate", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } if let Some(v) = self.amount.as_ref() { @@ -3064,7 +3064,7 @@ impl serde::Serialize for MsgUndelegateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.completion_time.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUndelegateResponse", len)?; @@ -3156,14 +3156,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.MsgUpdateParams", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } if let Some(v) = self.params.as_ref() { @@ -3335,41 +3335,41 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.unbonding_time.is_some() { + if true { len += 1; } - if self.max_validators != 0 { + if true { len += 1; } - if self.max_entries != 0 { + if true { len += 1; } - if self.historical_entries != 0 { + if true { len += 1; } - if !self.bond_denom.is_empty() { + if true { len += 1; } - if !self.min_commission_rate.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Params", len)?; if let Some(v) = self.unbonding_time.as_ref() { struct_ser.serialize_field("unbondingTime", v)?; } - if self.max_validators != 0 { + if true { struct_ser.serialize_field("maxValidators", &self.max_validators)?; } - if self.max_entries != 0 { + if true { struct_ser.serialize_field("maxEntries", &self.max_entries)?; } - if self.historical_entries != 0 { + if true { struct_ser.serialize_field("historicalEntries", &self.historical_entries)?; } - if !self.bond_denom.is_empty() { + if true { struct_ser.serialize_field("bondDenom", &self.bond_denom)?; } - if !self.min_commission_rate.is_empty() { + if true { struct_ser.serialize_field("minCommissionRate", &self.min_commission_rate)?; } struct_ser.end() @@ -3523,17 +3523,17 @@ impl serde::Serialize for Pool { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.not_bonded_tokens.is_empty() { + if true { len += 1; } - if !self.bonded_tokens.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Pool", len)?; - if !self.not_bonded_tokens.is_empty() { + if true { struct_ser.serialize_field("notBondedTokens", &self.not_bonded_tokens)?; } - if !self.bonded_tokens.is_empty() { + if true { struct_ser.serialize_field("bondedTokens", &self.bonded_tokens)?; } struct_ser.end() @@ -3633,17 +3633,17 @@ impl serde::Serialize for QueryDelegationRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if !self.validator_addr.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegationRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } - if !self.validator_addr.is_empty() { + if true { struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; } struct_ser.end() @@ -3743,7 +3743,7 @@ impl serde::Serialize for QueryDelegationResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.delegation_response.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegationResponse", len)?; @@ -3835,14 +3835,14 @@ impl serde::Serialize for QueryDelegatorDelegationsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorDelegationsRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } if let Some(v) = self.pagination.as_ref() { @@ -3944,14 +3944,14 @@ impl serde::Serialize for QueryDelegatorDelegationsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegation_responses.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorDelegationsResponse", len)?; - if !self.delegation_responses.is_empty() { + if true { struct_ser.serialize_field("delegationResponses", &self.delegation_responses)?; } if let Some(v) = self.pagination.as_ref() { @@ -4053,14 +4053,14 @@ impl serde::Serialize for QueryDelegatorUnbondingDelegationsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } if let Some(v) = self.pagination.as_ref() { @@ -4162,14 +4162,14 @@ impl serde::Serialize for QueryDelegatorUnbondingDelegationsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.unbonding_responses.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorUnbondingDelegationsResponse", len)?; - if !self.unbonding_responses.is_empty() { + if true { struct_ser.serialize_field("unbondingResponses", &self.unbonding_responses)?; } if let Some(v) = self.pagination.as_ref() { @@ -4271,17 +4271,17 @@ impl serde::Serialize for QueryDelegatorValidatorRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if !self.validator_addr.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } - if !self.validator_addr.is_empty() { + if true { struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; } struct_ser.end() @@ -4381,7 +4381,7 @@ impl serde::Serialize for QueryDelegatorValidatorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.validator.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorResponse", len)?; @@ -4472,14 +4472,14 @@ impl serde::Serialize for QueryDelegatorValidatorsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorsRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } if let Some(v) = self.pagination.as_ref() { @@ -4581,14 +4581,14 @@ impl serde::Serialize for QueryDelegatorValidatorsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.validators.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryDelegatorValidatorsResponse", len)?; - if !self.validators.is_empty() { + if true { struct_ser.serialize_field("validators", &self.validators)?; } if let Some(v) = self.pagination.as_ref() { @@ -4689,11 +4689,11 @@ impl serde::Serialize for QueryHistoricalInfoRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoRequest", len)?; - if self.height != 0 { + if true { struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } struct_ser.end() @@ -4782,7 +4782,7 @@ impl serde::Serialize for QueryHistoricalInfoResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.hist.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryHistoricalInfoResponse", len)?; @@ -4944,7 +4944,7 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryParamsResponse", len)?; @@ -5106,7 +5106,7 @@ impl serde::Serialize for QueryPoolResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pool.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryPoolResponse", len)?; @@ -5197,26 +5197,26 @@ impl serde::Serialize for QueryRedelegationsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if !self.src_validator_addr.is_empty() { + if true { len += 1; } - if !self.dst_validator_addr.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryRedelegationsRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } - if !self.src_validator_addr.is_empty() { + if true { struct_ser.serialize_field("srcValidatorAddr", &self.src_validator_addr)?; } - if !self.dst_validator_addr.is_empty() { + if true { struct_ser.serialize_field("dstValidatorAddr", &self.dst_validator_addr)?; } if let Some(v) = self.pagination.as_ref() { @@ -5342,14 +5342,14 @@ impl serde::Serialize for QueryRedelegationsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.redelegation_responses.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryRedelegationsResponse", len)?; - if !self.redelegation_responses.is_empty() { + if true { struct_ser.serialize_field("redelegationResponses", &self.redelegation_responses)?; } if let Some(v) = self.pagination.as_ref() { @@ -5451,17 +5451,17 @@ impl serde::Serialize for QueryUnbondingDelegationRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_addr.is_empty() { + if true { len += 1; } - if !self.validator_addr.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryUnbondingDelegationRequest", len)?; - if !self.delegator_addr.is_empty() { + if true { struct_ser.serialize_field("delegatorAddr", &self.delegator_addr)?; } - if !self.validator_addr.is_empty() { + if true { struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; } struct_ser.end() @@ -5561,7 +5561,7 @@ impl serde::Serialize for QueryUnbondingDelegationResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.unbond.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryUnbondingDelegationResponse", len)?; @@ -5652,14 +5652,14 @@ impl serde::Serialize for QueryValidatorDelegationsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.validator_addr.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorDelegationsRequest", len)?; - if !self.validator_addr.is_empty() { + if true { struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; } if let Some(v) = self.pagination.as_ref() { @@ -5761,14 +5761,14 @@ impl serde::Serialize for QueryValidatorDelegationsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegation_responses.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorDelegationsResponse", len)?; - if !self.delegation_responses.is_empty() { + if true { struct_ser.serialize_field("delegationResponses", &self.delegation_responses)?; } if let Some(v) = self.pagination.as_ref() { @@ -5870,11 +5870,11 @@ impl serde::Serialize for QueryValidatorRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.validator_addr.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorRequest", len)?; - if !self.validator_addr.is_empty() { + if true { struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; } struct_ser.end() @@ -5962,7 +5962,7 @@ impl serde::Serialize for QueryValidatorResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.validator.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorResponse", len)?; @@ -6053,14 +6053,14 @@ impl serde::Serialize for QueryValidatorUnbondingDelegationsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.validator_addr.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsRequest", len)?; - if !self.validator_addr.is_empty() { + if true { struct_ser.serialize_field("validatorAddr", &self.validator_addr)?; } if let Some(v) = self.pagination.as_ref() { @@ -6162,14 +6162,14 @@ impl serde::Serialize for QueryValidatorUnbondingDelegationsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.unbonding_responses.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorUnbondingDelegationsResponse", len)?; - if !self.unbonding_responses.is_empty() { + if true { struct_ser.serialize_field("unbondingResponses", &self.unbonding_responses)?; } if let Some(v) = self.pagination.as_ref() { @@ -6271,14 +6271,14 @@ impl serde::Serialize for QueryValidatorsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.status.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorsRequest", len)?; - if !self.status.is_empty() { + if true { struct_ser.serialize_field("status", &self.status)?; } if let Some(v) = self.pagination.as_ref() { @@ -6379,14 +6379,14 @@ impl serde::Serialize for QueryValidatorsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.validators.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.QueryValidatorsResponse", len)?; - if !self.validators.is_empty() { + if true { struct_ser.serialize_field("validators", &self.validators)?; } if let Some(v) = self.pagination.as_ref() { @@ -6487,29 +6487,29 @@ impl serde::Serialize for Redelegation { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_src_address.is_empty() { + if true { len += 1; } - if !self.validator_dst_address.is_empty() { + if true { len += 1; } - if !self.entries.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Redelegation", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_src_address.is_empty() { + if true { struct_ser.serialize_field("validatorSrcAddress", &self.validator_src_address)?; } - if !self.validator_dst_address.is_empty() { + if true { struct_ser.serialize_field("validatorDstAddress", &self.validator_dst_address)?; } - if !self.entries.is_empty() { + if true { struct_ser.serialize_field("entries", &self.entries)?; } struct_ser.end() @@ -6632,41 +6632,41 @@ impl serde::Serialize for RedelegationEntry { { use serde::ser::SerializeStruct; let mut len = 0; - if self.creation_height != 0 { + if true { len += 1; } - if self.completion_time.is_some() { + if true { len += 1; } - if !self.initial_balance.is_empty() { + if true { len += 1; } - if !self.shares_dst.is_empty() { + if true { len += 1; } - if self.unbonding_id != 0 { + if true { len += 1; } - if self.unbonding_on_hold_ref_count != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationEntry", len)?; - if self.creation_height != 0 { + if true { struct_ser.serialize_field("creationHeight", ::alloc::string::ToString::to_string(&self.creation_height).as_str())?; } if let Some(v) = self.completion_time.as_ref() { struct_ser.serialize_field("completionTime", v)?; } - if !self.initial_balance.is_empty() { + if true { struct_ser.serialize_field("initialBalance", &self.initial_balance)?; } - if !self.shares_dst.is_empty() { + if true { struct_ser.serialize_field("sharesDst", &self.shares_dst)?; } - if self.unbonding_id != 0 { + if true { struct_ser.serialize_field("unbondingId", ::alloc::string::ToString::to_string(&self.unbonding_id).as_str())?; } - if self.unbonding_on_hold_ref_count != 0 { + if true { struct_ser.serialize_field("unbondingOnHoldRefCount", ::alloc::string::ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; } struct_ser.end() @@ -6820,17 +6820,17 @@ impl serde::Serialize for RedelegationEntryResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.redelegation_entry.is_some() { + if true { len += 1; } - if !self.balance.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationEntryResponse", len)?; if let Some(v) = self.redelegation_entry.as_ref() { struct_ser.serialize_field("redelegationEntry", v)?; } - if !self.balance.is_empty() { + if true { struct_ser.serialize_field("balance", &self.balance)?; } struct_ser.end() @@ -6929,17 +6929,17 @@ impl serde::Serialize for RedelegationResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.redelegation.is_some() { + if true { len += 1; } - if !self.entries.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.RedelegationResponse", len)?; if let Some(v) = self.redelegation.as_ref() { struct_ser.serialize_field("redelegation", v)?; } - if !self.entries.is_empty() { + if true { struct_ser.serialize_field("entries", &self.entries)?; } struct_ser.end() @@ -7037,23 +7037,23 @@ impl serde::Serialize for UnbondingDelegation { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.delegator_address.is_empty() { + if true { len += 1; } - if !self.validator_address.is_empty() { + if true { len += 1; } - if !self.entries.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.UnbondingDelegation", len)?; - if !self.delegator_address.is_empty() { + if true { struct_ser.serialize_field("delegatorAddress", &self.delegator_address)?; } - if !self.validator_address.is_empty() { + if true { struct_ser.serialize_field("validatorAddress", &self.validator_address)?; } - if !self.entries.is_empty() { + if true { struct_ser.serialize_field("entries", &self.entries)?; } struct_ser.end() @@ -7164,41 +7164,41 @@ impl serde::Serialize for UnbondingDelegationEntry { { use serde::ser::SerializeStruct; let mut len = 0; - if self.creation_height != 0 { + if true { len += 1; } - if self.completion_time.is_some() { + if true { len += 1; } - if !self.initial_balance.is_empty() { + if true { len += 1; } - if !self.balance.is_empty() { + if true { len += 1; } - if self.unbonding_id != 0 { + if true { len += 1; } - if self.unbonding_on_hold_ref_count != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.UnbondingDelegationEntry", len)?; - if self.creation_height != 0 { + if true { struct_ser.serialize_field("creationHeight", ::alloc::string::ToString::to_string(&self.creation_height).as_str())?; } if let Some(v) = self.completion_time.as_ref() { struct_ser.serialize_field("completionTime", v)?; } - if !self.initial_balance.is_empty() { + if true { struct_ser.serialize_field("initialBalance", &self.initial_balance)?; } - if !self.balance.is_empty() { + if true { struct_ser.serialize_field("balance", &self.balance)?; } - if self.unbonding_id != 0 { + if true { struct_ser.serialize_field("unbondingId", ::alloc::string::ToString::to_string(&self.unbonding_id).as_str())?; } - if self.unbonding_on_hold_ref_count != 0 { + if true { struct_ser.serialize_field("unbondingOnHoldRefCount", ::alloc::string::ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; } struct_ser.end() @@ -7351,11 +7351,11 @@ impl serde::Serialize for ValAddresses { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.addresses.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.ValAddresses", len)?; - if !self.addresses.is_empty() { + if true { struct_ser.serialize_field("addresses", &self.addresses)?; } struct_ser.end() @@ -7442,70 +7442,70 @@ impl serde::Serialize for Validator { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.operator_address.is_empty() { + if true { len += 1; } - if self.consensus_pubkey.is_some() { + if true { len += 1; } - if self.jailed { + if true { len += 1; } - if self.status != 0 { + if true { len += 1; } - if !self.tokens.is_empty() { + if true { len += 1; } - if !self.delegator_shares.is_empty() { + if true { len += 1; } - if self.description.is_some() { + if true { len += 1; } - if self.unbonding_height != 0 { + if true { len += 1; } - if self.unbonding_time.is_some() { + if true { len += 1; } - if self.commission.is_some() { + if true { len += 1; } - if !self.min_self_delegation.is_empty() { + if true { len += 1; } - if self.unbonding_on_hold_ref_count != 0 { + if true { len += 1; } - if !self.unbonding_ids.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.staking.v1beta1.Validator", len)?; - if !self.operator_address.is_empty() { + if true { struct_ser.serialize_field("operatorAddress", &self.operator_address)?; } if let Some(v) = self.consensus_pubkey.as_ref() { struct_ser.serialize_field("consensusPubkey", v)?; } - if self.jailed { + if true { struct_ser.serialize_field("jailed", &self.jailed)?; } - if self.status != 0 { + if true { let v = BondStatus::from_i32(self.status) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.status)))?; struct_ser.serialize_field("status", &v)?; } - if !self.tokens.is_empty() { + if true { struct_ser.serialize_field("tokens", &self.tokens)?; } - if !self.delegator_shares.is_empty() { + if true { struct_ser.serialize_field("delegatorShares", &self.delegator_shares)?; } if let Some(v) = self.description.as_ref() { struct_ser.serialize_field("description", v)?; } - if self.unbonding_height != 0 { + if true { struct_ser.serialize_field("unbondingHeight", ::alloc::string::ToString::to_string(&self.unbonding_height).as_str())?; } if let Some(v) = self.unbonding_time.as_ref() { @@ -7514,13 +7514,13 @@ impl serde::Serialize for Validator { if let Some(v) = self.commission.as_ref() { struct_ser.serialize_field("commission", v)?; } - if !self.min_self_delegation.is_empty() { + if true { struct_ser.serialize_field("minSelfDelegation", &self.min_self_delegation)?; } - if self.unbonding_on_hold_ref_count != 0 { + if true { struct_ser.serialize_field("unbondingOnHoldRefCount", ::alloc::string::ToString::to_string(&self.unbonding_on_hold_ref_count).as_str())?; } - if !self.unbonding_ids.is_empty() { + if true { struct_ser.serialize_field("unbondingIds", &self.unbonding_ids.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() diff --git a/src/prost/cosmos.tx.config.v1.serde.rs b/src/prost/cosmos.tx.config.v1.serde.rs index cc316a3c..3dd5af54 100644 --- a/src/prost/cosmos.tx.config.v1.serde.rs +++ b/src/prost/cosmos.tx.config.v1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Config { { use serde::ser::SerializeStruct; let mut len = 0; - if self.skip_ante_handler { + if true { len += 1; } - if self.skip_post_handler { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.tx.config.v1.Config", len)?; - if self.skip_ante_handler { + if true { struct_ser.serialize_field("skipAnteHandler", &self.skip_ante_handler)?; } - if self.skip_post_handler { + if true { struct_ser.serialize_field("skipPostHandler", &self.skip_post_handler)?; } struct_ser.end() diff --git a/src/prost/cosmos.tx.signing.v1beta1.serde.rs b/src/prost/cosmos.tx.signing.v1beta1.serde.rs index f4251e2b..2b4a2462 100644 --- a/src/prost/cosmos.tx.signing.v1beta1.serde.rs +++ b/src/prost/cosmos.tx.signing.v1beta1.serde.rs @@ -91,13 +91,13 @@ impl serde::Serialize for SignatureDescriptor { { use serde::ser::SerializeStruct; let mut len = 0; - if self.public_key.is_some() { + if true { len += 1; } - if self.data.is_some() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor", len)?; @@ -107,7 +107,7 @@ impl serde::Serialize for SignatureDescriptor { if let Some(v) = self.data.as_ref() { struct_ser.serialize_field("data", v)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -328,17 +328,17 @@ impl serde::Serialize for signature_descriptor::data::Multi { { use serde::ser::SerializeStruct; let mut len = 0; - if self.bitarray.is_some() { + if true { len += 1; } - if !self.signatures.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Multi", len)?; if let Some(v) = self.bitarray.as_ref() { struct_ser.serialize_field("bitarray", v)?; } - if !self.signatures.is_empty() { + if true { struct_ser.serialize_field("signatures", &self.signatures)?; } struct_ser.end() @@ -436,19 +436,19 @@ impl serde::Serialize for signature_descriptor::data::Single { { use serde::ser::SerializeStruct; let mut len = 0; - if self.mode != 0 { + if true { len += 1; } - if !self.signature.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptor.Data.Single", len)?; - if self.mode != 0 { + if true { let v = SignMode::from_i32(self.mode) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.mode)))?; struct_ser.serialize_field("mode", &v)?; } - if !self.signature.is_empty() { + if true { struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } struct_ser.end() @@ -548,11 +548,11 @@ impl serde::Serialize for SignatureDescriptors { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signatures.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.tx.signing.v1beta1.SignatureDescriptors", len)?; - if !self.signatures.is_empty() { + if true { struct_ser.serialize_field("signatures", &self.signatures)?; } struct_ser.end() diff --git a/src/prost/cosmos.upgrade.module.v1.serde.rs b/src/prost/cosmos.upgrade.module.v1.serde.rs index e6dcd535..6134b8dd 100644 --- a/src/prost/cosmos.upgrade.module.v1.serde.rs +++ b/src/prost/cosmos.upgrade.module.v1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for Module { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.module.v1.Module", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() diff --git a/src/prost/cosmos.upgrade.v1beta1.serde.rs b/src/prost/cosmos.upgrade.v1beta1.serde.rs index b2d296bd..3514e308 100644 --- a/src/prost/cosmos.upgrade.v1beta1.serde.rs +++ b/src/prost/cosmos.upgrade.v1beta1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for CancelSoftwareUpgradeProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.title.is_empty() { + if true { len += 1; } - if !self.description.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal", len)?; - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.description.is_empty() { + if true { struct_ser.serialize_field("description", &self.description)?; } struct_ser.end() @@ -114,17 +114,17 @@ impl serde::Serialize for ModuleVersion { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.version != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.ModuleVersion", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } - if self.version != 0 { + if true { struct_ser.serialize_field("version", ::alloc::string::ToString::to_string(&self.version).as_str())?; } struct_ser.end() @@ -224,11 +224,11 @@ impl serde::Serialize for MsgCancelUpgrade { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.MsgCancelUpgrade", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } struct_ser.end() @@ -386,14 +386,14 @@ impl serde::Serialize for MsgSoftwareUpgrade { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.authority.is_empty() { + if true { len += 1; } - if self.plan.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.MsgSoftwareUpgrade", len)?; - if !self.authority.is_empty() { + if true { struct_ser.serialize_field("authority", &self.authority)?; } if let Some(v) = self.plan.as_ref() { @@ -565,32 +565,32 @@ impl serde::Serialize for Plan { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.time.is_some() { + if true { len += 1; } - if self.height != 0 { + if true { len += 1; } - if !self.info.is_empty() { + if true { len += 1; } - if self.upgraded_client_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.Plan", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } if let Some(v) = self.time.as_ref() { struct_ser.serialize_field("time", v)?; } - if self.height != 0 { + if true { struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } - if !self.info.is_empty() { + if true { struct_ser.serialize_field("info", &self.info)?; } if let Some(v) = self.upgraded_client_state.as_ref() { @@ -727,11 +727,11 @@ impl serde::Serialize for QueryAppliedPlanRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanRequest", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } struct_ser.end() @@ -818,11 +818,11 @@ impl serde::Serialize for QueryAppliedPlanResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAppliedPlanResponse", len)?; - if self.height != 0 { + if true { struct_ser.serialize_field("height", ::alloc::string::ToString::to_string(&self.height).as_str())?; } struct_ser.end() @@ -982,11 +982,11 @@ impl serde::Serialize for QueryAuthorityResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryAuthorityResponse", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } struct_ser.end() @@ -1144,7 +1144,7 @@ impl serde::Serialize for QueryCurrentPlanResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.plan.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryCurrentPlanResponse", len)?; @@ -1235,11 +1235,11 @@ impl serde::Serialize for QueryModuleVersionsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.module_name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryModuleVersionsRequest", len)?; - if !self.module_name.is_empty() { + if true { struct_ser.serialize_field("moduleName", &self.module_name)?; } struct_ser.end() @@ -1327,11 +1327,11 @@ impl serde::Serialize for QueryModuleVersionsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.module_versions.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryModuleVersionsResponse", len)?; - if !self.module_versions.is_empty() { + if true { struct_ser.serialize_field("moduleVersions", &self.module_versions)?; } struct_ser.end() @@ -1419,11 +1419,11 @@ impl serde::Serialize for QueryUpgradedConsensusStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.last_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateRequest", len)?; - if self.last_height != 0 { + if true { struct_ser.serialize_field("lastHeight", ::alloc::string::ToString::to_string(&self.last_height).as_str())?; } struct_ser.end() @@ -1513,11 +1513,11 @@ impl serde::Serialize for QueryUpgradedConsensusStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.upgraded_consensus_state.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.QueryUpgradedConsensusStateResponse", len)?; - if !self.upgraded_consensus_state.is_empty() { + if true { struct_ser.serialize_field("upgradedConsensusState", pbjson::private::base64::encode(&self.upgraded_consensus_state).as_str())?; } struct_ser.end() @@ -1607,20 +1607,20 @@ impl serde::Serialize for SoftwareUpgradeProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.title.is_empty() { + if true { len += 1; } - if !self.description.is_empty() { + if true { len += 1; } - if self.plan.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("cosmos.upgrade.v1beta1.SoftwareUpgradeProposal", len)?; - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.description.is_empty() { + if true { struct_ser.serialize_field("description", &self.description)?; } if let Some(v) = self.plan.as_ref() { diff --git a/src/prost/google.api.serde.rs b/src/prost/google.api.serde.rs index 5296faac..ec0bc7a2 100644 --- a/src/prost/google.api.serde.rs +++ b/src/prost/google.api.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for CustomHttpPattern { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.kind.is_empty() { + if true { len += 1; } - if !self.path.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.api.CustomHttpPattern", len)?; - if !self.kind.is_empty() { + if true { struct_ser.serialize_field("kind", &self.kind)?; } - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", &self.path)?; } struct_ser.end() @@ -114,17 +114,17 @@ impl serde::Serialize for Http { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.rules.is_empty() { + if true { len += 1; } - if self.fully_decode_reserved_expansion { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.api.Http", len)?; - if !self.rules.is_empty() { + if true { struct_ser.serialize_field("rules", &self.rules)?; } - if self.fully_decode_reserved_expansion { + if true { struct_ser.serialize_field("fullyDecodeReservedExpansion", &self.fully_decode_reserved_expansion)?; } struct_ser.end() @@ -223,32 +223,32 @@ impl serde::Serialize for HttpRule { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.selector.is_empty() { + if true { len += 1; } - if !self.body.is_empty() { + if true { len += 1; } - if !self.response_body.is_empty() { + if true { len += 1; } - if !self.additional_bindings.is_empty() { + if true { len += 1; } if self.pattern.is_some() { len += 1; } let mut struct_ser = serializer.serialize_struct("google.api.HttpRule", len)?; - if !self.selector.is_empty() { + if true { struct_ser.serialize_field("selector", &self.selector)?; } - if !self.body.is_empty() { + if true { struct_ser.serialize_field("body", &self.body)?; } - if !self.response_body.is_empty() { + if true { struct_ser.serialize_field("responseBody", &self.response_body)?; } - if !self.additional_bindings.is_empty() { + if true { struct_ser.serialize_field("additionalBindings", &self.additional_bindings)?; } if let Some(v) = self.pattern.as_ref() { diff --git a/src/prost/google.protobuf.serde.rs b/src/prost/google.protobuf.serde.rs index d41a6c72..34f08208 100644 --- a/src/prost/google.protobuf.serde.rs +++ b/src/prost/google.protobuf.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for Any { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.type_url.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.Any", len)?; - if !self.type_url.is_empty() { + if true { struct_ser.serialize_field("typeUrl", &self.type_url)?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -117,65 +117,65 @@ impl serde::Serialize for DescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if !self.field.is_empty() { + if true { len += 1; } - if !self.extension.is_empty() { + if true { len += 1; } - if !self.nested_type.is_empty() { + if true { len += 1; } - if !self.enum_type.is_empty() { + if true { len += 1; } - if !self.extension_range.is_empty() { + if true { len += 1; } - if !self.oneof_decl.is_empty() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } - if !self.reserved_range.is_empty() { + if true { len += 1; } - if !self.reserved_name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.DescriptorProto", len)?; if let Some(v) = self.name.as_ref() { struct_ser.serialize_field("name", v)?; } - if !self.field.is_empty() { + if true { struct_ser.serialize_field("field", &self.field)?; } - if !self.extension.is_empty() { + if true { struct_ser.serialize_field("extension", &self.extension)?; } - if !self.nested_type.is_empty() { + if true { struct_ser.serialize_field("nestedType", &self.nested_type)?; } - if !self.enum_type.is_empty() { + if true { struct_ser.serialize_field("enumType", &self.enum_type)?; } - if !self.extension_range.is_empty() { + if true { struct_ser.serialize_field("extensionRange", &self.extension_range)?; } - if !self.oneof_decl.is_empty() { + if true { struct_ser.serialize_field("oneofDecl", &self.oneof_decl)?; } if let Some(v) = self.options.as_ref() { struct_ser.serialize_field("options", v)?; } - if !self.reserved_range.is_empty() { + if true { struct_ser.serialize_field("reservedRange", &self.reserved_range)?; } - if !self.reserved_name.is_empty() { + if true { struct_ser.serialize_field("reservedName", &self.reserved_name)?; } struct_ser.end() @@ -367,13 +367,13 @@ impl serde::Serialize for descriptor_proto::ExtensionRange { { use serde::ser::SerializeStruct; let mut len = 0; - if self.start.is_some() { + if true { len += 1; } - if self.end.is_some() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.DescriptorProto.ExtensionRange", len)?; @@ -496,10 +496,10 @@ impl serde::Serialize for descriptor_proto::ReservedRange { { use serde::ser::SerializeStruct; let mut len = 0; - if self.start.is_some() { + if true { len += 1; } - if self.end.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.DescriptorProto.ReservedRange", len)?; @@ -608,17 +608,17 @@ impl serde::Serialize for Duration { { use serde::ser::SerializeStruct; let mut len = 0; - if self.seconds != 0 { + if true { len += 1; } - if self.nanos != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.Duration", len)?; - if self.seconds != 0 { + if true { struct_ser.serialize_field("seconds", ::alloc::string::ToString::to_string(&self.seconds).as_str())?; } - if self.nanos != 0 { + if true { struct_ser.serialize_field("nanos", &self.nanos)?; } struct_ser.end() @@ -720,35 +720,35 @@ impl serde::Serialize for EnumDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } - if !self.reserved_range.is_empty() { + if true { len += 1; } - if !self.reserved_name.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumDescriptorProto", len)?; if let Some(v) = self.name.as_ref() { struct_ser.serialize_field("name", v)?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", &self.value)?; } if let Some(v) = self.options.as_ref() { struct_ser.serialize_field("options", v)?; } - if !self.reserved_range.is_empty() { + if true { struct_ser.serialize_field("reservedRange", &self.reserved_range)?; } - if !self.reserved_name.is_empty() { + if true { struct_ser.serialize_field("reservedName", &self.reserved_name)?; } struct_ser.end() @@ -881,10 +881,10 @@ impl serde::Serialize for enum_descriptor_proto::EnumReservedRange { { use serde::ser::SerializeStruct; let mut len = 0; - if self.start.is_some() { + if true { len += 1; } - if self.end.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumDescriptorProto.EnumReservedRange", len)?; @@ -993,13 +993,13 @@ impl serde::Serialize for EnumOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.allow_alias.is_some() { + if true { len += 1; } - if self.deprecated.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumOptions", len)?; @@ -1009,7 +1009,7 @@ impl serde::Serialize for EnumOptions { if let Some(v) = self.deprecated.as_ref() { struct_ser.serialize_field("deprecated", v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -1120,13 +1120,13 @@ impl serde::Serialize for EnumValueDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if self.number.is_some() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumValueDescriptorProto", len)?; @@ -1247,17 +1247,17 @@ impl serde::Serialize for EnumValueOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.deprecated.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.EnumValueOptions", len)?; if let Some(v) = self.deprecated.as_ref() { struct_ser.serialize_field("deprecated", v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -1356,11 +1356,11 @@ impl serde::Serialize for ExtensionRangeOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.ExtensionRangeOptions", len)?; - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -1448,37 +1448,37 @@ impl serde::Serialize for FieldDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if self.number.is_some() { + if true { len += 1; } - if self.label.is_some() { + if true { len += 1; } - if self.r#type.is_some() { + if true { len += 1; } - if self.type_name.is_some() { + if true { len += 1; } - if self.extendee.is_some() { + if true { len += 1; } - if self.default_value.is_some() { + if true { len += 1; } - if self.oneof_index.is_some() { + if true { len += 1; } - if self.json_name.is_some() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } - if self.proto3_optional.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.FieldDescriptorProto", len)?; @@ -1919,28 +1919,28 @@ impl serde::Serialize for FieldOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.ctype.is_some() { + if true { len += 1; } - if self.packed.is_some() { + if true { len += 1; } - if self.jstype.is_some() { + if true { len += 1; } - if self.lazy.is_some() { + if true { len += 1; } - if self.unverified_lazy.is_some() { + if true { len += 1; } - if self.deprecated.is_some() { + if true { len += 1; } - if self.weak.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.FieldOptions", len)?; @@ -1969,7 +1969,7 @@ impl serde::Serialize for FieldOptions { if let Some(v) = self.weak.as_ref() { struct_ser.serialize_field("weak", v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -2287,40 +2287,40 @@ impl serde::Serialize for FileDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if self.package.is_some() { + if true { len += 1; } - if !self.dependency.is_empty() { + if true { len += 1; } - if !self.public_dependency.is_empty() { + if true { len += 1; } - if !self.weak_dependency.is_empty() { + if true { len += 1; } - if !self.message_type.is_empty() { + if true { len += 1; } - if !self.enum_type.is_empty() { + if true { len += 1; } - if !self.service.is_empty() { + if true { len += 1; } - if !self.extension.is_empty() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } - if self.source_code_info.is_some() { + if true { len += 1; } - if self.syntax.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.FileDescriptorProto", len)?; @@ -2330,25 +2330,25 @@ impl serde::Serialize for FileDescriptorProto { if let Some(v) = self.package.as_ref() { struct_ser.serialize_field("package", v)?; } - if !self.dependency.is_empty() { + if true { struct_ser.serialize_field("dependency", &self.dependency)?; } - if !self.public_dependency.is_empty() { + if true { struct_ser.serialize_field("publicDependency", &self.public_dependency)?; } - if !self.weak_dependency.is_empty() { + if true { struct_ser.serialize_field("weakDependency", &self.weak_dependency)?; } - if !self.message_type.is_empty() { + if true { struct_ser.serialize_field("messageType", &self.message_type)?; } - if !self.enum_type.is_empty() { + if true { struct_ser.serialize_field("enumType", &self.enum_type)?; } - if !self.service.is_empty() { + if true { struct_ser.serialize_field("service", &self.service)?; } - if !self.extension.is_empty() { + if true { struct_ser.serialize_field("extension", &self.extension)?; } if let Some(v) = self.options.as_ref() { @@ -2576,11 +2576,11 @@ impl serde::Serialize for FileDescriptorSet { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.file.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.FileDescriptorSet", len)?; - if !self.file.is_empty() { + if true { struct_ser.serialize_field("file", &self.file)?; } struct_ser.end() @@ -2667,67 +2667,67 @@ impl serde::Serialize for FileOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.java_package.is_some() { + if true { len += 1; } - if self.java_outer_classname.is_some() { + if true { len += 1; } - if self.java_multiple_files.is_some() { + if true { len += 1; } - if self.java_generate_equals_and_hash.is_some() { + if true { len += 1; } - if self.java_string_check_utf8.is_some() { + if true { len += 1; } - if self.optimize_for.is_some() { + if true { len += 1; } - if self.go_package.is_some() { + if true { len += 1; } - if self.cc_generic_services.is_some() { + if true { len += 1; } - if self.java_generic_services.is_some() { + if true { len += 1; } - if self.py_generic_services.is_some() { + if true { len += 1; } - if self.php_generic_services.is_some() { + if true { len += 1; } - if self.deprecated.is_some() { + if true { len += 1; } - if self.cc_enable_arenas.is_some() { + if true { len += 1; } - if self.objc_class_prefix.is_some() { + if true { len += 1; } - if self.csharp_namespace.is_some() { + if true { len += 1; } - if self.swift_prefix.is_some() { + if true { len += 1; } - if self.php_class_prefix.is_some() { + if true { len += 1; } - if self.php_namespace.is_some() { + if true { len += 1; } - if self.php_metadata_namespace.is_some() { + if true { len += 1; } - if self.ruby_package.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.FileOptions", len)?; @@ -2793,7 +2793,7 @@ impl serde::Serialize for FileOptions { if let Some(v) = self.ruby_package.as_ref() { struct_ser.serialize_field("rubyPackage", v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -3196,11 +3196,11 @@ impl serde::Serialize for GeneratedCodeInfo { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.annotation.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.GeneratedCodeInfo", len)?; - if !self.annotation.is_empty() { + if true { struct_ser.serialize_field("annotation", &self.annotation)?; } struct_ser.end() @@ -3287,20 +3287,20 @@ impl serde::Serialize for generated_code_info::Annotation { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if self.source_file.is_some() { + if true { len += 1; } - if self.begin.is_some() { + if true { len += 1; } - if self.end.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.GeneratedCodeInfo.Annotation", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", &self.path)?; } if let Some(v) = self.source_file.as_ref() { @@ -3437,19 +3437,19 @@ impl serde::Serialize for MessageOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.message_set_wire_format.is_some() { + if true { len += 1; } - if self.no_standard_descriptor_accessor.is_some() { + if true { len += 1; } - if self.deprecated.is_some() { + if true { len += 1; } - if self.map_entry.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.MessageOptions", len)?; @@ -3465,7 +3465,7 @@ impl serde::Serialize for MessageOptions { if let Some(v) = self.map_entry.as_ref() { struct_ser.serialize_field("mapEntry", v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -3600,22 +3600,22 @@ impl serde::Serialize for MethodDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if self.input_type.is_some() { + if true { len += 1; } - if self.output_type.is_some() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } - if self.client_streaming.is_some() { + if true { len += 1; } - if self.server_streaming.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.MethodDescriptorProto", len)?; @@ -3780,13 +3780,13 @@ impl serde::Serialize for MethodOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.deprecated.is_some() { + if true { len += 1; } - if self.idempotency_level.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.MethodOptions", len)?; @@ -3798,7 +3798,7 @@ impl serde::Serialize for MethodOptions { .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", *v)))?; struct_ser.serialize_field("idempotencyLevel", &v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -3985,10 +3985,10 @@ impl serde::Serialize for OneofDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.OneofDescriptorProto", len)?; @@ -4093,11 +4093,11 @@ impl serde::Serialize for OneofOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.OneofOptions", len)?; - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -4185,20 +4185,20 @@ impl serde::Serialize for ServiceDescriptorProto { { use serde::ser::SerializeStruct; let mut len = 0; - if self.name.is_some() { + if true { len += 1; } - if !self.method.is_empty() { + if true { len += 1; } - if self.options.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.ServiceDescriptorProto", len)?; if let Some(v) = self.name.as_ref() { struct_ser.serialize_field("name", v)?; } - if !self.method.is_empty() { + if true { struct_ser.serialize_field("method", &self.method)?; } if let Some(v) = self.options.as_ref() { @@ -4310,17 +4310,17 @@ impl serde::Serialize for ServiceOptions { { use serde::ser::SerializeStruct; let mut len = 0; - if self.deprecated.is_some() { + if true { len += 1; } - if !self.uninterpreted_option.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.ServiceOptions", len)?; if let Some(v) = self.deprecated.as_ref() { struct_ser.serialize_field("deprecated", v)?; } - if !self.uninterpreted_option.is_empty() { + if true { struct_ser.serialize_field("uninterpretedOption", &self.uninterpreted_option)?; } struct_ser.end() @@ -4419,11 +4419,11 @@ impl serde::Serialize for SourceCodeInfo { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.location.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.SourceCodeInfo", len)?; - if !self.location.is_empty() { + if true { struct_ser.serialize_field("location", &self.location)?; } struct_ser.end() @@ -4510,26 +4510,26 @@ impl serde::Serialize for source_code_info::Location { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if !self.span.is_empty() { + if true { len += 1; } - if self.leading_comments.is_some() { + if true { len += 1; } - if self.trailing_comments.is_some() { + if true { len += 1; } - if !self.leading_detached_comments.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.SourceCodeInfo.Location", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", &self.path)?; } - if !self.span.is_empty() { + if true { struct_ser.serialize_field("span", &self.span)?; } if let Some(v) = self.leading_comments.as_ref() { @@ -4538,7 +4538,7 @@ impl serde::Serialize for source_code_info::Location { if let Some(v) = self.trailing_comments.as_ref() { struct_ser.serialize_field("trailingComments", v)?; } - if !self.leading_detached_comments.is_empty() { + if true { struct_ser.serialize_field("leadingDetachedComments", &self.leading_detached_comments)?; } struct_ser.end() @@ -4678,17 +4678,17 @@ impl serde::Serialize for Timestamp { { use serde::ser::SerializeStruct; let mut len = 0; - if self.seconds != 0 { + if true { len += 1; } - if self.nanos != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.Timestamp", len)?; - if self.seconds != 0 { + if true { struct_ser.serialize_field("seconds", ::alloc::string::ToString::to_string(&self.seconds).as_str())?; } - if self.nanos != 0 { + if true { struct_ser.serialize_field("nanos", &self.nanos)?; } struct_ser.end() @@ -4790,29 +4790,29 @@ impl serde::Serialize for UninterpretedOption { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.name.is_empty() { + if true { len += 1; } - if self.identifier_value.is_some() { + if true { len += 1; } - if self.positive_int_value.is_some() { + if true { len += 1; } - if self.negative_int_value.is_some() { + if true { len += 1; } - if self.double_value.is_some() { + if true { len += 1; } - if self.string_value.is_some() { + if true { len += 1; } - if self.aggregate_value.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("google.protobuf.UninterpretedOption", len)?; - if !self.name.is_empty() { + if true { struct_ser.serialize_field("name", &self.name)?; } if let Some(v) = self.identifier_value.as_ref() { diff --git a/src/prost/ibc.applications.fee.v1.serde.rs b/src/prost/ibc.applications.fee.v1.serde.rs index 562170bc..e0fe7f52 100644 --- a/src/prost/ibc.applications.fee.v1.serde.rs +++ b/src/prost/ibc.applications.fee.v1.serde.rs @@ -6,23 +6,23 @@ impl serde::Serialize for Fee { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.recv_fee.is_empty() { + if true { len += 1; } - if !self.ack_fee.is_empty() { + if true { len += 1; } - if !self.timeout_fee.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.Fee", len)?; - if !self.recv_fee.is_empty() { + if true { struct_ser.serialize_field("recvFee", &self.recv_fee)?; } - if !self.ack_fee.is_empty() { + if true { struct_ser.serialize_field("ackFee", &self.ack_fee)?; } - if !self.timeout_fee.is_empty() { + if true { struct_ser.serialize_field("timeoutFee", &self.timeout_fee)?; } struct_ser.end() @@ -134,17 +134,17 @@ impl serde::Serialize for FeeEnabledChannel { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.FeeEnabledChannel", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -244,14 +244,14 @@ impl serde::Serialize for ForwardRelayerAddress { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } - if self.packet_id.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.ForwardRelayerAddress", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } if let Some(v) = self.packet_id.as_ref() { @@ -353,35 +353,35 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.identified_fees.is_empty() { + if true { len += 1; } - if !self.fee_enabled_channels.is_empty() { + if true { len += 1; } - if !self.registered_payees.is_empty() { + if true { len += 1; } - if !self.registered_counterparty_payees.is_empty() { + if true { len += 1; } - if !self.forward_relayers.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.GenesisState", len)?; - if !self.identified_fees.is_empty() { + if true { struct_ser.serialize_field("identifiedFees", &self.identified_fees)?; } - if !self.fee_enabled_channels.is_empty() { + if true { struct_ser.serialize_field("feeEnabledChannels", &self.fee_enabled_channels)?; } - if !self.registered_payees.is_empty() { + if true { struct_ser.serialize_field("registeredPayees", &self.registered_payees)?; } - if !self.registered_counterparty_payees.is_empty() { + if true { struct_ser.serialize_field("registeredCounterpartyPayees", &self.registered_counterparty_payees)?; } - if !self.forward_relayers.is_empty() { + if true { struct_ser.serialize_field("forwardRelayers", &self.forward_relayers)?; } struct_ser.end() @@ -517,17 +517,17 @@ impl serde::Serialize for IdentifiedPacketFees { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet_id.is_some() { + if true { len += 1; } - if !self.packet_fees.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.IdentifiedPacketFees", len)?; if let Some(v) = self.packet_id.as_ref() { struct_ser.serialize_field("packetId", v)?; } - if !self.packet_fees.is_empty() { + if true { struct_ser.serialize_field("packetFees", &self.packet_fees)?; } struct_ser.end() @@ -627,23 +627,23 @@ impl serde::Serialize for IncentivizedAcknowledgement { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.app_acknowledgement.is_empty() { + if true { len += 1; } - if !self.forward_relayer_address.is_empty() { + if true { len += 1; } - if self.underlying_app_success { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.IncentivizedAcknowledgement", len)?; - if !self.app_acknowledgement.is_empty() { + if true { struct_ser.serialize_field("appAcknowledgement", pbjson::private::base64::encode(&self.app_acknowledgement).as_str())?; } - if !self.forward_relayer_address.is_empty() { + if true { struct_ser.serialize_field("forwardRelayerAddress", &self.forward_relayer_address)?; } - if self.underlying_app_success { + if true { struct_ser.serialize_field("underlyingAppSuccess", &self.underlying_app_success)?; } struct_ser.end() @@ -757,17 +757,17 @@ impl serde::Serialize for Metadata { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fee_version.is_empty() { + if true { len += 1; } - if !self.app_version.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.Metadata", len)?; - if !self.fee_version.is_empty() { + if true { struct_ser.serialize_field("feeVersion", &self.fee_version)?; } - if !self.app_version.is_empty() { + if true { struct_ser.serialize_field("appVersion", &self.app_version)?; } struct_ser.end() @@ -867,35 +867,35 @@ impl serde::Serialize for MsgPayPacketFee { { use serde::ser::SerializeStruct; let mut len = 0; - if self.fee.is_some() { + if true { len += 1; } - if !self.source_port_id.is_empty() { + if true { len += 1; } - if !self.source_channel_id.is_empty() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } - if !self.relayers.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgPayPacketFee", len)?; if let Some(v) = self.fee.as_ref() { struct_ser.serialize_field("fee", v)?; } - if !self.source_port_id.is_empty() { + if true { struct_ser.serialize_field("sourcePortId", &self.source_port_id)?; } - if !self.source_channel_id.is_empty() { + if true { struct_ser.serialize_field("sourceChannelId", &self.source_channel_id)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } - if !self.relayers.is_empty() { + if true { struct_ser.serialize_field("relayers", &self.relayers)?; } struct_ser.end() @@ -1028,10 +1028,10 @@ impl serde::Serialize for MsgPayPacketFeeAsync { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet_id.is_some() { + if true { len += 1; } - if self.packet_fee.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgPayPacketFeeAsync", len)?; @@ -1280,29 +1280,29 @@ impl serde::Serialize for MsgRegisterCounterpartyPayee { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.relayer.is_empty() { + if true { len += 1; } - if !self.counterparty_payee.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgRegisterCounterpartyPayee", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.relayer.is_empty() { + if true { struct_ser.serialize_field("relayer", &self.relayer)?; } - if !self.counterparty_payee.is_empty() { + if true { struct_ser.serialize_field("counterpartyPayee", &self.counterparty_payee)?; } struct_ser.end() @@ -1496,29 +1496,29 @@ impl serde::Serialize for MsgRegisterPayee { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.relayer.is_empty() { + if true { len += 1; } - if !self.payee.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.MsgRegisterPayee", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.relayer.is_empty() { + if true { struct_ser.serialize_field("relayer", &self.relayer)?; } - if !self.payee.is_empty() { + if true { struct_ser.serialize_field("payee", &self.payee)?; } struct_ser.end() @@ -1711,23 +1711,23 @@ impl serde::Serialize for PacketFee { { use serde::ser::SerializeStruct; let mut len = 0; - if self.fee.is_some() { + if true { len += 1; } - if !self.refund_address.is_empty() { + if true { len += 1; } - if !self.relayers.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.PacketFee", len)?; if let Some(v) = self.fee.as_ref() { struct_ser.serialize_field("fee", v)?; } - if !self.refund_address.is_empty() { + if true { struct_ser.serialize_field("refundAddress", &self.refund_address)?; } - if !self.relayers.is_empty() { + if true { struct_ser.serialize_field("relayers", &self.relayers)?; } struct_ser.end() @@ -1837,11 +1837,11 @@ impl serde::Serialize for PacketFees { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.packet_fees.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.PacketFees", len)?; - if !self.packet_fees.is_empty() { + if true { struct_ser.serialize_field("packetFees", &self.packet_fees)?; } struct_ser.end() @@ -1929,17 +1929,17 @@ impl serde::Serialize for QueryCounterpartyPayeeRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.relayer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryCounterpartyPayeeRequest", len)?; - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.relayer.is_empty() { + if true { struct_ser.serialize_field("relayer", &self.relayer)?; } struct_ser.end() @@ -2038,11 +2038,11 @@ impl serde::Serialize for QueryCounterpartyPayeeResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.counterparty_payee.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryCounterpartyPayeeResponse", len)?; - if !self.counterparty_payee.is_empty() { + if true { struct_ser.serialize_field("counterpartyPayee", &self.counterparty_payee)?; } struct_ser.end() @@ -2130,17 +2130,17 @@ impl serde::Serialize for QueryFeeEnabledChannelRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -2240,11 +2240,11 @@ impl serde::Serialize for QueryFeeEnabledChannelResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.fee_enabled { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelResponse", len)?; - if self.fee_enabled { + if true { struct_ser.serialize_field("feeEnabled", &self.fee_enabled)?; } struct_ser.end() @@ -2332,17 +2332,17 @@ impl serde::Serialize for QueryFeeEnabledChannelsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } - if self.query_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelsRequest", len)?; if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; } - if self.query_height != 0 { + if true { struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() @@ -2443,14 +2443,14 @@ impl serde::Serialize for QueryFeeEnabledChannelsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.fee_enabled_channels.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryFeeEnabledChannelsResponse", len)?; - if !self.fee_enabled_channels.is_empty() { + if true { struct_ser.serialize_field("feeEnabledChannels", &self.fee_enabled_channels)?; } if let Some(v) = self.pagination.as_ref() { @@ -2552,17 +2552,17 @@ impl serde::Serialize for QueryIncentivizedPacketRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet_id.is_some() { + if true { len += 1; } - if self.query_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketRequest", len)?; if let Some(v) = self.packet_id.as_ref() { struct_ser.serialize_field("packetId", v)?; } - if self.query_height != 0 { + if true { struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() @@ -2664,7 +2664,7 @@ impl serde::Serialize for QueryIncentivizedPacketResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.incentivized_packet.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketResponse", len)?; @@ -2756,29 +2756,29 @@ impl serde::Serialize for QueryIncentivizedPacketsForChannelRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.query_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelRequest", len)?; if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; } - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.query_height != 0 { + if true { struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() @@ -2903,14 +2903,14 @@ impl serde::Serialize for QueryIncentivizedPacketsForChannelResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.incentivized_packets.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsForChannelResponse", len)?; - if !self.incentivized_packets.is_empty() { + if true { struct_ser.serialize_field("incentivizedPackets", &self.incentivized_packets)?; } if let Some(v) = self.pagination.as_ref() { @@ -3012,17 +3012,17 @@ impl serde::Serialize for QueryIncentivizedPacketsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } - if self.query_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsRequest", len)?; if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; } - if self.query_height != 0 { + if true { struct_ser.serialize_field("queryHeight", ::alloc::string::ToString::to_string(&self.query_height).as_str())?; } struct_ser.end() @@ -3123,14 +3123,14 @@ impl serde::Serialize for QueryIncentivizedPacketsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.incentivized_packets.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryIncentivizedPacketsResponse", len)?; - if !self.incentivized_packets.is_empty() { + if true { struct_ser.serialize_field("incentivizedPackets", &self.incentivized_packets)?; } if let Some(v) = self.pagination.as_ref() { @@ -3232,17 +3232,17 @@ impl serde::Serialize for QueryPayeeRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.relayer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryPayeeRequest", len)?; - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.relayer.is_empty() { + if true { struct_ser.serialize_field("relayer", &self.relayer)?; } struct_ser.end() @@ -3341,11 +3341,11 @@ impl serde::Serialize for QueryPayeeResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.payee_address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryPayeeResponse", len)?; - if !self.payee_address.is_empty() { + if true { struct_ser.serialize_field("payeeAddress", &self.payee_address)?; } struct_ser.end() @@ -3433,7 +3433,7 @@ impl serde::Serialize for QueryTotalAckFeesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet_id.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalAckFeesRequest", len)?; @@ -3525,11 +3525,11 @@ impl serde::Serialize for QueryTotalAckFeesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.ack_fees.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalAckFeesResponse", len)?; - if !self.ack_fees.is_empty() { + if true { struct_ser.serialize_field("ackFees", &self.ack_fees)?; } struct_ser.end() @@ -3617,7 +3617,7 @@ impl serde::Serialize for QueryTotalRecvFeesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet_id.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalRecvFeesRequest", len)?; @@ -3709,11 +3709,11 @@ impl serde::Serialize for QueryTotalRecvFeesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.recv_fees.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalRecvFeesResponse", len)?; - if !self.recv_fees.is_empty() { + if true { struct_ser.serialize_field("recvFees", &self.recv_fees)?; } struct_ser.end() @@ -3801,7 +3801,7 @@ impl serde::Serialize for QueryTotalTimeoutFeesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet_id.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalTimeoutFeesRequest", len)?; @@ -3893,11 +3893,11 @@ impl serde::Serialize for QueryTotalTimeoutFeesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.timeout_fees.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.QueryTotalTimeoutFeesResponse", len)?; - if !self.timeout_fees.is_empty() { + if true { struct_ser.serialize_field("timeoutFees", &self.timeout_fees)?; } struct_ser.end() @@ -3985,23 +3985,23 @@ impl serde::Serialize for RegisteredCounterpartyPayee { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.relayer.is_empty() { + if true { len += 1; } - if !self.counterparty_payee.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.RegisteredCounterpartyPayee", len)?; - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.relayer.is_empty() { + if true { struct_ser.serialize_field("relayer", &self.relayer)?; } - if !self.counterparty_payee.is_empty() { + if true { struct_ser.serialize_field("counterpartyPayee", &self.counterparty_payee)?; } struct_ser.end() @@ -4112,23 +4112,23 @@ impl serde::Serialize for RegisteredPayee { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.relayer.is_empty() { + if true { len += 1; } - if !self.payee.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.fee.v1.RegisteredPayee", len)?; - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.relayer.is_empty() { + if true { struct_ser.serialize_field("relayer", &self.relayer)?; } - if !self.payee.is_empty() { + if true { struct_ser.serialize_field("payee", &self.payee)?; } struct_ser.end() diff --git a/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs index 996423a8..50d9444b 100644 --- a/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.controller.v1.serde.rs @@ -6,23 +6,23 @@ impl serde::Serialize for MsgRegisterInterchainAccount { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.owner.is_empty() { + if true { len += 1; } - if !self.connection_id.is_empty() { + if true { len += 1; } - if !self.version.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccount", len)?; - if !self.owner.is_empty() { + if true { struct_ser.serialize_field("owner", &self.owner)?; } - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } - if !self.version.is_empty() { + if true { struct_ser.serialize_field("version", &self.version)?; } struct_ser.end() @@ -132,17 +132,17 @@ impl serde::Serialize for MsgRegisterInterchainAccountResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.port_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgRegisterInterchainAccountResponse", len)?; - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } struct_ser.end() @@ -242,29 +242,29 @@ impl serde::Serialize for MsgSendTx { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.owner.is_empty() { + if true { len += 1; } - if !self.connection_id.is_empty() { + if true { len += 1; } - if self.packet_data.is_some() { + if true { len += 1; } - if self.relative_timeout != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTx", len)?; - if !self.owner.is_empty() { + if true { struct_ser.serialize_field("owner", &self.owner)?; } - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } if let Some(v) = self.packet_data.as_ref() { struct_ser.serialize_field("packetData", v)?; } - if self.relative_timeout != 0 { + if true { struct_ser.serialize_field("relativeTimeout", ::alloc::string::ToString::to_string(&self.relative_timeout).as_str())?; } struct_ser.end() @@ -389,11 +389,11 @@ impl serde::Serialize for MsgSendTxResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgSendTxResponse", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -482,14 +482,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signer.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.MsgUpdateParams", len)?; - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } if let Some(v) = self.params.as_ref() { @@ -661,11 +661,11 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.controller_enabled { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.Params", len)?; - if self.controller_enabled { + if true { struct_ser.serialize_field("controllerEnabled", &self.controller_enabled)?; } struct_ser.end() @@ -753,17 +753,17 @@ impl serde::Serialize for QueryInterchainAccountRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.owner.is_empty() { + if true { len += 1; } - if !self.connection_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountRequest", len)?; - if !self.owner.is_empty() { + if true { struct_ser.serialize_field("owner", &self.owner)?; } - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } struct_ser.end() @@ -862,11 +862,11 @@ impl serde::Serialize for QueryInterchainAccountResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryInterchainAccountResponse", len)?; - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } struct_ser.end() @@ -1024,7 +1024,7 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.controller.v1.QueryParamsResponse", len)?; diff --git a/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs index 3bf78e98..f02aca11 100644 --- a/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.genesis.v1.serde.rs @@ -6,29 +6,29 @@ impl serde::Serialize for ActiveChannel { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.is_middleware_enabled { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.ActiveChannel", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.is_middleware_enabled { + if true { struct_ser.serialize_field("isMiddlewareEnabled", &self.is_middleware_enabled)?; } struct_ser.end() @@ -152,26 +152,26 @@ impl serde::Serialize for ControllerGenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.active_channels.is_empty() { + if true { len += 1; } - if !self.interchain_accounts.is_empty() { + if true { len += 1; } - if !self.ports.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.ControllerGenesisState", len)?; - if !self.active_channels.is_empty() { + if true { struct_ser.serialize_field("activeChannels", &self.active_channels)?; } - if !self.interchain_accounts.is_empty() { + if true { struct_ser.serialize_field("interchainAccounts", &self.interchain_accounts)?; } - if !self.ports.is_empty() { + if true { struct_ser.serialize_field("ports", &self.ports)?; } if let Some(v) = self.params.as_ref() { @@ -296,10 +296,10 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.controller_genesis_state.is_some() { + if true { len += 1; } - if self.host_genesis_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.GenesisState", len)?; @@ -406,26 +406,26 @@ impl serde::Serialize for HostGenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.active_channels.is_empty() { + if true { len += 1; } - if !self.interchain_accounts.is_empty() { + if true { len += 1; } - if !self.port.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.HostGenesisState", len)?; - if !self.active_channels.is_empty() { + if true { struct_ser.serialize_field("activeChannels", &self.active_channels)?; } - if !self.interchain_accounts.is_empty() { + if true { struct_ser.serialize_field("interchainAccounts", &self.interchain_accounts)?; } - if !self.port.is_empty() { + if true { struct_ser.serialize_field("port", &self.port)?; } if let Some(v) = self.params.as_ref() { @@ -550,23 +550,23 @@ impl serde::Serialize for RegisteredInterchainAccount { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.account_address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.genesis.v1.RegisteredInterchainAccount", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.account_address.is_empty() { + if true { struct_ser.serialize_field("accountAddress", &self.account_address)?; } struct_ser.end() diff --git a/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs index 2a355b34..8be94e1b 100644 --- a/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.host.v1.serde.rs @@ -6,14 +6,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signer.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.MsgUpdateParams", len)?; - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } if let Some(v) = self.params.as_ref() { @@ -185,17 +185,17 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.host_enabled { + if true { len += 1; } - if !self.allow_messages.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.Params", len)?; - if self.host_enabled { + if true { struct_ser.serialize_field("hostEnabled", &self.host_enabled)?; } - if !self.allow_messages.is_empty() { + if true { struct_ser.serialize_field("allowMessages", &self.allow_messages)?; } struct_ser.end() @@ -366,7 +366,7 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.host.v1.QueryParamsResponse", len)?; diff --git a/src/prost/ibc.applications.interchain_accounts.v1.serde.rs b/src/prost/ibc.applications.interchain_accounts.v1.serde.rs index ad73eebf..50da6b1e 100644 --- a/src/prost/ibc.applications.interchain_accounts.v1.serde.rs +++ b/src/prost/ibc.applications.interchain_accounts.v1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for CosmosTx { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.messages.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.CosmosTx", len)?; - if !self.messages.is_empty() { + if true { struct_ser.serialize_field("messages", &self.messages)?; } struct_ser.end() @@ -97,17 +97,17 @@ impl serde::Serialize for InterchainAccount { { use serde::ser::SerializeStruct; let mut len = 0; - if self.base_account.is_some() { + if true { len += 1; } - if !self.account_owner.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccount", len)?; if let Some(v) = self.base_account.as_ref() { struct_ser.serialize_field("baseAccount", v)?; } - if !self.account_owner.is_empty() { + if true { struct_ser.serialize_field("accountOwner", &self.account_owner)?; } struct_ser.end() @@ -207,25 +207,25 @@ impl serde::Serialize for InterchainAccountPacketData { { use serde::ser::SerializeStruct; let mut len = 0; - if self.r#type != 0 { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } - if !self.memo.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.InterchainAccountPacketData", len)?; - if self.r#type != 0 { + if true { let v = Type::from_i32(self.r#type) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.r#type)))?; struct_ser.serialize_field("type", &v)?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } - if !self.memo.is_empty() { + if true { struct_ser.serialize_field("memo", &self.memo)?; } struct_ser.end() @@ -336,41 +336,41 @@ impl serde::Serialize for Metadata { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.version.is_empty() { + if true { len += 1; } - if !self.controller_connection_id.is_empty() { + if true { len += 1; } - if !self.host_connection_id.is_empty() { + if true { len += 1; } - if !self.address.is_empty() { + if true { len += 1; } - if !self.encoding.is_empty() { + if true { len += 1; } - if !self.tx_type.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.interchain_accounts.v1.Metadata", len)?; - if !self.version.is_empty() { + if true { struct_ser.serialize_field("version", &self.version)?; } - if !self.controller_connection_id.is_empty() { + if true { struct_ser.serialize_field("controllerConnectionId", &self.controller_connection_id)?; } - if !self.host_connection_id.is_empty() { + if true { struct_ser.serialize_field("hostConnectionId", &self.host_connection_id)?; } - if !self.address.is_empty() { + if true { struct_ser.serialize_field("address", &self.address)?; } - if !self.encoding.is_empty() { + if true { struct_ser.serialize_field("encoding", &self.encoding)?; } - if !self.tx_type.is_empty() { + if true { struct_ser.serialize_field("txType", &self.tx_type)?; } struct_ser.end() diff --git a/src/prost/ibc.applications.transfer.v1.serde.rs b/src/prost/ibc.applications.transfer.v1.serde.rs index b94dcacd..846c4f9b 100644 --- a/src/prost/ibc.applications.transfer.v1.serde.rs +++ b/src/prost/ibc.applications.transfer.v1.serde.rs @@ -6,29 +6,29 @@ impl serde::Serialize for Allocation { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.source_port.is_empty() { + if true { len += 1; } - if !self.source_channel.is_empty() { + if true { len += 1; } - if !self.spend_limit.is_empty() { + if true { len += 1; } - if !self.allow_list.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.Allocation", len)?; - if !self.source_port.is_empty() { + if true { struct_ser.serialize_field("sourcePort", &self.source_port)?; } - if !self.source_channel.is_empty() { + if true { struct_ser.serialize_field("sourceChannel", &self.source_channel)?; } - if !self.spend_limit.is_empty() { + if true { struct_ser.serialize_field("spendLimit", &self.spend_limit)?; } - if !self.allow_list.is_empty() { + if true { struct_ser.serialize_field("allowList", &self.allow_list)?; } struct_ser.end() @@ -152,17 +152,17 @@ impl serde::Serialize for DenomTrace { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if !self.base_denom.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.DenomTrace", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", &self.path)?; } - if !self.base_denom.is_empty() { + if true { struct_ser.serialize_field("baseDenom", &self.base_denom)?; } struct_ser.end() @@ -261,29 +261,29 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.denom_traces.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } - if !self.total_escrowed.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.GenesisState", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.denom_traces.is_empty() { + if true { struct_ser.serialize_field("denomTraces", &self.denom_traces)?; } if let Some(v) = self.params.as_ref() { struct_ser.serialize_field("params", v)?; } - if !self.total_escrowed.is_empty() { + if true { struct_ser.serialize_field("totalEscrowed", &self.total_escrowed)?; } struct_ser.end() @@ -406,53 +406,53 @@ impl serde::Serialize for MsgTransfer { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.source_port.is_empty() { + if true { len += 1; } - if !self.source_channel.is_empty() { + if true { len += 1; } - if self.token.is_some() { + if true { len += 1; } - if !self.sender.is_empty() { + if true { len += 1; } - if !self.receiver.is_empty() { + if true { len += 1; } - if self.timeout_height.is_some() { + if true { len += 1; } - if self.timeout_timestamp != 0 { + if true { len += 1; } - if !self.memo.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgTransfer", len)?; - if !self.source_port.is_empty() { + if true { struct_ser.serialize_field("sourcePort", &self.source_port)?; } - if !self.source_channel.is_empty() { + if true { struct_ser.serialize_field("sourceChannel", &self.source_channel)?; } if let Some(v) = self.token.as_ref() { struct_ser.serialize_field("token", v)?; } - if !self.sender.is_empty() { + if true { struct_ser.serialize_field("sender", &self.sender)?; } - if !self.receiver.is_empty() { + if true { struct_ser.serialize_field("receiver", &self.receiver)?; } if let Some(v) = self.timeout_height.as_ref() { struct_ser.serialize_field("timeoutHeight", v)?; } - if self.timeout_timestamp != 0 { + if true { struct_ser.serialize_field("timeoutTimestamp", ::alloc::string::ToString::to_string(&self.timeout_timestamp).as_str())?; } - if !self.memo.is_empty() { + if true { struct_ser.serialize_field("memo", &self.memo)?; } struct_ser.end() @@ -622,11 +622,11 @@ impl serde::Serialize for MsgTransferResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgTransferResponse", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -715,14 +715,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signer.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.MsgUpdateParams", len)?; - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } if let Some(v) = self.params.as_ref() { @@ -894,17 +894,17 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.send_enabled { + if true { len += 1; } - if self.receive_enabled { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.Params", len)?; - if self.send_enabled { + if true { struct_ser.serialize_field("sendEnabled", &self.send_enabled)?; } - if self.receive_enabled { + if true { struct_ser.serialize_field("receiveEnabled", &self.receive_enabled)?; } struct_ser.end() @@ -1004,11 +1004,11 @@ impl serde::Serialize for QueryDenomHashRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.trace.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomHashRequest", len)?; - if !self.trace.is_empty() { + if true { struct_ser.serialize_field("trace", &self.trace)?; } struct_ser.end() @@ -1095,11 +1095,11 @@ impl serde::Serialize for QueryDenomHashResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.hash.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomHashResponse", len)?; - if !self.hash.is_empty() { + if true { struct_ser.serialize_field("hash", &self.hash)?; } struct_ser.end() @@ -1186,11 +1186,11 @@ impl serde::Serialize for QueryDenomTraceRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.hash.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTraceRequest", len)?; - if !self.hash.is_empty() { + if true { struct_ser.serialize_field("hash", &self.hash)?; } struct_ser.end() @@ -1277,7 +1277,7 @@ impl serde::Serialize for QueryDenomTraceResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.denom_trace.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTraceResponse", len)?; @@ -1369,7 +1369,7 @@ impl serde::Serialize for QueryDenomTracesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTracesRequest", len)?; @@ -1460,14 +1460,14 @@ impl serde::Serialize for QueryDenomTracesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom_traces.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryDenomTracesResponse", len)?; - if !self.denom_traces.is_empty() { + if true { struct_ser.serialize_field("denomTraces", &self.denom_traces)?; } if let Some(v) = self.pagination.as_ref() { @@ -1569,17 +1569,17 @@ impl serde::Serialize for QueryEscrowAddressRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryEscrowAddressRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -1679,11 +1679,11 @@ impl serde::Serialize for QueryEscrowAddressResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.escrow_address.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryEscrowAddressResponse", len)?; - if !self.escrow_address.is_empty() { + if true { struct_ser.serialize_field("escrowAddress", &self.escrow_address)?; } struct_ser.end() @@ -1842,7 +1842,7 @@ impl serde::Serialize for QueryParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryParamsResponse", len)?; @@ -1933,11 +1933,11 @@ impl serde::Serialize for QueryTotalEscrowForDenomRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryTotalEscrowForDenomRequest", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } struct_ser.end() @@ -2024,7 +2024,7 @@ impl serde::Serialize for QueryTotalEscrowForDenomResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.amount.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.QueryTotalEscrowForDenomResponse", len)?; @@ -2115,11 +2115,11 @@ impl serde::Serialize for TransferAuthorization { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.allocations.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v1.TransferAuthorization", len)?; - if !self.allocations.is_empty() { + if true { struct_ser.serialize_field("allocations", &self.allocations)?; } struct_ser.end() diff --git a/src/prost/ibc.applications.transfer.v2.serde.rs b/src/prost/ibc.applications.transfer.v2.serde.rs index e9ec746a..e5631f1d 100644 --- a/src/prost/ibc.applications.transfer.v2.serde.rs +++ b/src/prost/ibc.applications.transfer.v2.serde.rs @@ -6,35 +6,35 @@ impl serde::Serialize for FungibleTokenPacketData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.denom.is_empty() { + if true { len += 1; } - if !self.amount.is_empty() { + if true { len += 1; } - if !self.sender.is_empty() { + if true { len += 1; } - if !self.receiver.is_empty() { + if true { len += 1; } - if !self.memo.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.applications.transfer.v2.FungibleTokenPacketData", len)?; - if !self.denom.is_empty() { + if true { struct_ser.serialize_field("denom", &self.denom)?; } - if !self.amount.is_empty() { + if true { struct_ser.serialize_field("amount", &self.amount)?; } - if !self.sender.is_empty() { + if true { struct_ser.serialize_field("sender", &self.sender)?; } - if !self.receiver.is_empty() { + if true { struct_ser.serialize_field("receiver", &self.receiver)?; } - if !self.memo.is_empty() { + if true { struct_ser.serialize_field("memo", &self.memo)?; } struct_ser.end() diff --git a/src/prost/ibc.core.channel.v1.serde.rs b/src/prost/ibc.core.channel.v1.serde.rs index cc983ca8..8f746f11 100644 --- a/src/prost/ibc.core.channel.v1.serde.rs +++ b/src/prost/ibc.core.channel.v1.serde.rs @@ -113,28 +113,28 @@ impl serde::Serialize for Channel { { use serde::ser::SerializeStruct; let mut len = 0; - if self.state != 0 { + if true { len += 1; } - if self.ordering != 0 { + if true { len += 1; } - if self.counterparty.is_some() { + if true { len += 1; } - if !self.connection_hops.is_empty() { + if true { len += 1; } - if !self.version.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Channel", len)?; - if self.state != 0 { + if true { let v = State::from_i32(self.state) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; } - if self.ordering != 0 { + if true { let v = Order::from_i32(self.ordering) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.ordering)))?; struct_ser.serialize_field("ordering", &v)?; @@ -142,10 +142,10 @@ impl serde::Serialize for Channel { if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } - if !self.connection_hops.is_empty() { + if true { struct_ser.serialize_field("connectionHops", &self.connection_hops)?; } - if !self.version.is_empty() { + if true { struct_ser.serialize_field("version", &self.version)?; } struct_ser.end() @@ -277,17 +277,17 @@ impl serde::Serialize for Counterparty { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Counterparty", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -387,53 +387,53 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channels.is_empty() { + if true { len += 1; } - if !self.acknowledgements.is_empty() { + if true { len += 1; } - if !self.commitments.is_empty() { + if true { len += 1; } - if !self.receipts.is_empty() { + if true { len += 1; } - if !self.send_sequences.is_empty() { + if true { len += 1; } - if !self.recv_sequences.is_empty() { + if true { len += 1; } - if !self.ack_sequences.is_empty() { + if true { len += 1; } - if self.next_channel_sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.GenesisState", len)?; - if !self.channels.is_empty() { + if true { struct_ser.serialize_field("channels", &self.channels)?; } - if !self.acknowledgements.is_empty() { + if true { struct_ser.serialize_field("acknowledgements", &self.acknowledgements)?; } - if !self.commitments.is_empty() { + if true { struct_ser.serialize_field("commitments", &self.commitments)?; } - if !self.receipts.is_empty() { + if true { struct_ser.serialize_field("receipts", &self.receipts)?; } - if !self.send_sequences.is_empty() { + if true { struct_ser.serialize_field("sendSequences", &self.send_sequences)?; } - if !self.recv_sequences.is_empty() { + if true { struct_ser.serialize_field("recvSequences", &self.recv_sequences)?; } - if !self.ack_sequences.is_empty() { + if true { struct_ser.serialize_field("ackSequences", &self.ack_sequences)?; } - if self.next_channel_sequence != 0 { + if true { struct_ser.serialize_field("nextChannelSequence", ::alloc::string::ToString::to_string(&self.next_channel_sequence).as_str())?; } struct_ser.end() @@ -603,34 +603,34 @@ impl serde::Serialize for IdentifiedChannel { { use serde::ser::SerializeStruct; let mut len = 0; - if self.state != 0 { + if true { len += 1; } - if self.ordering != 0 { + if true { len += 1; } - if self.counterparty.is_some() { + if true { len += 1; } - if !self.connection_hops.is_empty() { + if true { len += 1; } - if !self.version.is_empty() { + if true { len += 1; } - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.IdentifiedChannel", len)?; - if self.state != 0 { + if true { let v = State::from_i32(self.state) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; } - if self.ordering != 0 { + if true { let v = Order::from_i32(self.ordering) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.ordering)))?; struct_ser.serialize_field("ordering", &v)?; @@ -638,16 +638,16 @@ impl serde::Serialize for IdentifiedChannel { if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } - if !self.connection_hops.is_empty() { + if true { struct_ser.serialize_field("connectionHops", &self.connection_hops)?; } - if !self.version.is_empty() { + if true { struct_ser.serialize_field("version", &self.version)?; } - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -803,35 +803,35 @@ impl serde::Serialize for MsgAcknowledgement { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet.is_some() { + if true { len += 1; } - if !self.acknowledgement.is_empty() { + if true { len += 1; } - if !self.proof_acked.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgAcknowledgement", len)?; if let Some(v) = self.packet.as_ref() { struct_ser.serialize_field("packet", v)?; } - if !self.acknowledgement.is_empty() { + if true { struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; } - if !self.proof_acked.is_empty() { + if true { struct_ser.serialize_field("proofAcked", pbjson::private::base64::encode(&self.proof_acked).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -968,11 +968,11 @@ impl serde::Serialize for MsgAcknowledgementResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.result != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgAcknowledgementResponse", len)?; - if self.result != 0 { + if true { let v = ResponseResultType::from_i32(self.result) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; @@ -1061,35 +1061,35 @@ impl serde::Serialize for MsgChannelCloseConfirm { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.proof_init.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelCloseConfirm", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.proof_init.is_empty() { + if true { struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1297,23 +1297,23 @@ impl serde::Serialize for MsgChannelCloseInit { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelCloseInit", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1495,47 +1495,47 @@ impl serde::Serialize for MsgChannelOpenAck { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.counterparty_channel_id.is_empty() { + if true { len += 1; } - if !self.counterparty_version.is_empty() { + if true { len += 1; } - if !self.proof_try.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenAck", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.counterparty_channel_id.is_empty() { + if true { struct_ser.serialize_field("counterpartyChannelId", &self.counterparty_channel_id)?; } - if !self.counterparty_version.is_empty() { + if true { struct_ser.serialize_field("counterpartyVersion", &self.counterparty_version)?; } - if !self.proof_try.is_empty() { + if true { struct_ser.serialize_field("proofTry", pbjson::private::base64::encode(&self.proof_try).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1767,35 +1767,35 @@ impl serde::Serialize for MsgChannelOpenConfirm { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.proof_ack.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenConfirm", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.proof_ack.is_empty() { + if true { struct_ser.serialize_field("proofAck", pbjson::private::base64::encode(&self.proof_ack).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -2003,23 +2003,23 @@ impl serde::Serialize for MsgChannelOpenInit { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if self.channel.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenInit", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } if let Some(v) = self.channel.as_ref() { struct_ser.serialize_field("channel", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -2129,17 +2129,17 @@ impl serde::Serialize for MsgChannelOpenInitResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.version.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenInitResponse", len)?; - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.version.is_empty() { + if true { struct_ser.serialize_field("version", &self.version)?; } struct_ser.end() @@ -2238,47 +2238,47 @@ impl serde::Serialize for MsgChannelOpenTry { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.previous_channel_id.is_empty() { + if true { len += 1; } - if self.channel.is_some() { + if true { len += 1; } - if !self.counterparty_version.is_empty() { + if true { len += 1; } - if !self.proof_init.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenTry", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.previous_channel_id.is_empty() { + if true { struct_ser.serialize_field("previousChannelId", &self.previous_channel_id)?; } if let Some(v) = self.channel.as_ref() { struct_ser.serialize_field("channel", v)?; } - if !self.counterparty_version.is_empty() { + if true { struct_ser.serialize_field("counterpartyVersion", &self.counterparty_version)?; } - if !self.proof_init.is_empty() { + if true { struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -2438,17 +2438,17 @@ impl serde::Serialize for MsgChannelOpenTryResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.version.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgChannelOpenTryResponse", len)?; - if !self.version.is_empty() { + if true { struct_ser.serialize_field("version", &self.version)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -2547,29 +2547,29 @@ impl serde::Serialize for MsgRecvPacket { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet.is_some() { + if true { len += 1; } - if !self.proof_commitment.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgRecvPacket", len)?; if let Some(v) = self.packet.as_ref() { struct_ser.serialize_field("packet", v)?; } - if !self.proof_commitment.is_empty() { + if true { struct_ser.serialize_field("proofCommitment", pbjson::private::base64::encode(&self.proof_commitment).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -2693,11 +2693,11 @@ impl serde::Serialize for MsgRecvPacketResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.result != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgRecvPacketResponse", len)?; - if self.result != 0 { + if true { let v = ResponseResultType::from_i32(self.result) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; @@ -2786,35 +2786,35 @@ impl serde::Serialize for MsgTimeout { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet.is_some() { + if true { len += 1; } - if !self.proof_unreceived.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if self.next_sequence_recv != 0 { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeout", len)?; if let Some(v) = self.packet.as_ref() { struct_ser.serialize_field("packet", v)?; } - if !self.proof_unreceived.is_empty() { + if true { struct_ser.serialize_field("proofUnreceived", pbjson::private::base64::encode(&self.proof_unreceived).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if self.next_sequence_recv != 0 { + if true { struct_ser.serialize_field("nextSequenceRecv", ::alloc::string::ToString::to_string(&self.next_sequence_recv).as_str())?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -2952,41 +2952,41 @@ impl serde::Serialize for MsgTimeoutOnClose { { use serde::ser::SerializeStruct; let mut len = 0; - if self.packet.is_some() { + if true { len += 1; } - if !self.proof_unreceived.is_empty() { + if true { len += 1; } - if !self.proof_close.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if self.next_sequence_recv != 0 { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutOnClose", len)?; if let Some(v) = self.packet.as_ref() { struct_ser.serialize_field("packet", v)?; } - if !self.proof_unreceived.is_empty() { + if true { struct_ser.serialize_field("proofUnreceived", pbjson::private::base64::encode(&self.proof_unreceived).as_str())?; } - if !self.proof_close.is_empty() { + if true { struct_ser.serialize_field("proofClose", pbjson::private::base64::encode(&self.proof_close).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if self.next_sequence_recv != 0 { + if true { struct_ser.serialize_field("nextSequenceRecv", ::alloc::string::ToString::to_string(&self.next_sequence_recv).as_str())?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -3138,11 +3138,11 @@ impl serde::Serialize for MsgTimeoutOnCloseResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.result != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutOnCloseResponse", len)?; - if self.result != 0 { + if true { let v = ResponseResultType::from_i32(self.result) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; @@ -3231,11 +3231,11 @@ impl serde::Serialize for MsgTimeoutResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.result != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.MsgTimeoutResponse", len)?; - if self.result != 0 { + if true { let v = ResponseResultType::from_i32(self.result) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.result)))?; struct_ser.serialize_field("result", &v)?; @@ -3400,53 +3400,53 @@ impl serde::Serialize for Packet { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if !self.source_port.is_empty() { + if true { len += 1; } - if !self.source_channel.is_empty() { + if true { len += 1; } - if !self.destination_port.is_empty() { + if true { len += 1; } - if !self.destination_channel.is_empty() { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } - if self.timeout_height.is_some() { + if true { len += 1; } - if self.timeout_timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Packet", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if !self.source_port.is_empty() { + if true { struct_ser.serialize_field("sourcePort", &self.source_port)?; } - if !self.source_channel.is_empty() { + if true { struct_ser.serialize_field("sourceChannel", &self.source_channel)?; } - if !self.destination_port.is_empty() { + if true { struct_ser.serialize_field("destinationPort", &self.destination_port)?; } - if !self.destination_channel.is_empty() { + if true { struct_ser.serialize_field("destinationChannel", &self.destination_channel)?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } if let Some(v) = self.timeout_height.as_ref() { struct_ser.serialize_field("timeoutHeight", v)?; } - if self.timeout_timestamp != 0 { + if true { struct_ser.serialize_field("timeoutTimestamp", ::alloc::string::ToString::to_string(&self.timeout_timestamp).as_str())?; } struct_ser.end() @@ -3622,23 +3622,23 @@ impl serde::Serialize for PacketId { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.PacketId", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -3751,23 +3751,23 @@ impl serde::Serialize for PacketSequence { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.PacketSequence", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -3880,29 +3880,29 @@ impl serde::Serialize for PacketState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.PacketState", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } struct_ser.end() @@ -4028,17 +4028,17 @@ impl serde::Serialize for QueryChannelClientStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelClientStateRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -4138,20 +4138,20 @@ impl serde::Serialize for QueryChannelClientStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.identified_client_state.is_some() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelClientStateResponse", len)?; if let Some(v) = self.identified_client_state.as_ref() { struct_ser.serialize_field("identifiedClientState", v)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -4267,29 +4267,29 @@ impl serde::Serialize for QueryChannelConsensusStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.revision_number != 0 { + if true { len += 1; } - if self.revision_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelConsensusStateRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.revision_number != 0 { + if true { struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } - if self.revision_height != 0 { + if true { struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } struct_ser.end() @@ -4417,26 +4417,26 @@ impl serde::Serialize for QueryChannelConsensusStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.consensus_state.is_some() { + if true { len += 1; } - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelConsensusStateResponse", len)?; if let Some(v) = self.consensus_state.as_ref() { struct_ser.serialize_field("consensusState", v)?; } - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -4564,17 +4564,17 @@ impl serde::Serialize for QueryChannelRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -4674,20 +4674,20 @@ impl serde::Serialize for QueryChannelResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.channel.is_some() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelResponse", len)?; if let Some(v) = self.channel.as_ref() { struct_ser.serialize_field("channel", v)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -4802,7 +4802,7 @@ impl serde::Serialize for QueryChannelsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelsRequest", len)?; @@ -4893,17 +4893,17 @@ impl serde::Serialize for QueryChannelsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channels.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryChannelsResponse", len)?; - if !self.channels.is_empty() { + if true { struct_ser.serialize_field("channels", &self.channels)?; } if let Some(v) = self.pagination.as_ref() { @@ -5018,14 +5018,14 @@ impl serde::Serialize for QueryConnectionChannelsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryConnectionChannelsRequest", len)?; - if !self.connection.is_empty() { + if true { struct_ser.serialize_field("connection", &self.connection)?; } if let Some(v) = self.pagination.as_ref() { @@ -5126,17 +5126,17 @@ impl serde::Serialize for QueryConnectionChannelsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.channels.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryConnectionChannelsResponse", len)?; - if !self.channels.is_empty() { + if true { struct_ser.serialize_field("channels", &self.channels)?; } if let Some(v) = self.pagination.as_ref() { @@ -5251,17 +5251,17 @@ impl serde::Serialize for QueryNextSequenceReceiveRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -5361,20 +5361,20 @@ impl serde::Serialize for QueryNextSequenceReceiveResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.next_sequence_receive != 0 { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceReceiveResponse", len)?; - if self.next_sequence_receive != 0 { + if true { struct_ser.serialize_field("nextSequenceReceive", ::alloc::string::ToString::to_string(&self.next_sequence_receive).as_str())?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -5492,17 +5492,17 @@ impl serde::Serialize for QueryNextSequenceSendRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceSendRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } struct_ser.end() @@ -5602,20 +5602,20 @@ impl serde::Serialize for QueryNextSequenceSendResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.next_sequence_send != 0 { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryNextSequenceSendResponse", len)?; - if self.next_sequence_send != 0 { + if true { struct_ser.serialize_field("nextSequenceSend", ::alloc::string::ToString::to_string(&self.next_sequence_send).as_str())?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -5733,23 +5733,23 @@ impl serde::Serialize for QueryPacketAcknowledgementRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -5862,20 +5862,20 @@ impl serde::Serialize for QueryPacketAcknowledgementResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.acknowledgement.is_empty() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementResponse", len)?; - if !self.acknowledgement.is_empty() { + if true { struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -5992,29 +5992,29 @@ impl serde::Serialize for QueryPacketAcknowledgementsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } - if !self.packet_commitment_sequences.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementsRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } if let Some(v) = self.pagination.as_ref() { struct_ser.serialize_field("pagination", v)?; } - if !self.packet_commitment_sequences.is_empty() { + if true { struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() @@ -6140,17 +6140,17 @@ impl serde::Serialize for QueryPacketAcknowledgementsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.acknowledgements.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketAcknowledgementsResponse", len)?; - if !self.acknowledgements.is_empty() { + if true { struct_ser.serialize_field("acknowledgements", &self.acknowledgements)?; } if let Some(v) = self.pagination.as_ref() { @@ -6265,23 +6265,23 @@ impl serde::Serialize for QueryPacketCommitmentRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -6394,20 +6394,20 @@ impl serde::Serialize for QueryPacketCommitmentResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.commitment.is_empty() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentResponse", len)?; - if !self.commitment.is_empty() { + if true { struct_ser.serialize_field("commitment", pbjson::private::base64::encode(&self.commitment).as_str())?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -6524,20 +6524,20 @@ impl serde::Serialize for QueryPacketCommitmentsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentsRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } if let Some(v) = self.pagination.as_ref() { @@ -6651,17 +6651,17 @@ impl serde::Serialize for QueryPacketCommitmentsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.commitments.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketCommitmentsResponse", len)?; - if !self.commitments.is_empty() { + if true { struct_ser.serialize_field("commitments", &self.commitments)?; } if let Some(v) = self.pagination.as_ref() { @@ -6776,23 +6776,23 @@ impl serde::Serialize for QueryPacketReceiptRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketReceiptRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } struct_ser.end() @@ -6905,20 +6905,20 @@ impl serde::Serialize for QueryPacketReceiptResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.received { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryPacketReceiptResponse", len)?; - if self.received { + if true { struct_ser.serialize_field("received", &self.received)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -7033,23 +7033,23 @@ impl serde::Serialize for QueryUnreceivedAcksRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.packet_ack_sequences.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.packet_ack_sequences.is_empty() { + if true { struct_ser.serialize_field("packetAckSequences", &self.packet_ack_sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() @@ -7164,14 +7164,14 @@ impl serde::Serialize for QueryUnreceivedAcksResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.sequences.is_empty() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedAcksResponse", len)?; - if !self.sequences.is_empty() { + if true { struct_ser.serialize_field("sequences", &self.sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } if let Some(v) = self.height.as_ref() { @@ -7275,23 +7275,23 @@ impl serde::Serialize for QueryUnreceivedPacketsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.port_id.is_empty() { + if true { len += 1; } - if !self.channel_id.is_empty() { + if true { len += 1; } - if !self.packet_commitment_sequences.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsRequest", len)?; - if !self.port_id.is_empty() { + if true { struct_ser.serialize_field("portId", &self.port_id)?; } - if !self.channel_id.is_empty() { + if true { struct_ser.serialize_field("channelId", &self.channel_id)?; } - if !self.packet_commitment_sequences.is_empty() { + if true { struct_ser.serialize_field("packetCommitmentSequences", &self.packet_commitment_sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } struct_ser.end() @@ -7406,14 +7406,14 @@ impl serde::Serialize for QueryUnreceivedPacketsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.sequences.is_empty() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.QueryUnreceivedPacketsResponse", len)?; - if !self.sequences.is_empty() { + if true { struct_ser.serialize_field("sequences", &self.sequences.iter().map(::alloc::string::ToString::to_string).collect::<::alloc::vec::Vec<_>>())?; } if let Some(v) = self.height.as_ref() { @@ -7675,17 +7675,17 @@ impl serde::Serialize for Timeout { { use serde::ser::SerializeStruct; let mut len = 0; - if self.height.is_some() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.channel.v1.Timeout", len)?; if let Some(v) = self.height.as_ref() { struct_ser.serialize_field("height", v)?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() diff --git a/src/prost/ibc.core.client.v1.serde.rs b/src/prost/ibc.core.client.v1.serde.rs index 40abfd16..2de34110 100644 --- a/src/prost/ibc.core.client.v1.serde.rs +++ b/src/prost/ibc.core.client.v1.serde.rs @@ -6,17 +6,17 @@ impl serde::Serialize for ClientConsensusStates { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.consensus_states.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.ClientConsensusStates", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.consensus_states.is_empty() { + if true { struct_ser.serialize_field("consensusStates", &self.consensus_states)?; } struct_ser.end() @@ -116,29 +116,29 @@ impl serde::Serialize for ClientUpdateProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.title.is_empty() { + if true { len += 1; } - if !self.description.is_empty() { + if true { len += 1; } - if !self.subject_client_id.is_empty() { + if true { len += 1; } - if !self.substitute_client_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.ClientUpdateProposal", len)?; - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.description.is_empty() { + if true { struct_ser.serialize_field("description", &self.description)?; } - if !self.subject_client_id.is_empty() { + if true { struct_ser.serialize_field("subjectClientId", &self.subject_client_id)?; } - if !self.substitute_client_id.is_empty() { + if true { struct_ser.serialize_field("substituteClientId", &self.substitute_client_id)?; } struct_ser.end() @@ -260,10 +260,10 @@ impl serde::Serialize for ConsensusStateWithHeight { { use serde::ser::SerializeStruct; let mut len = 0; - if self.height.is_some() { + if true { len += 1; } - if self.consensus_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.ConsensusStateWithHeight", len)?; @@ -369,17 +369,17 @@ impl serde::Serialize for GenesisMetadata { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key.is_empty() { + if true { len += 1; } - if !self.value.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.GenesisMetadata", len)?; - if !self.key.is_empty() { + if true { struct_ser.serialize_field("key", pbjson::private::base64::encode(&self.key).as_str())?; } - if !self.value.is_empty() { + if true { struct_ser.serialize_field("value", pbjson::private::base64::encode(&self.value).as_str())?; } struct_ser.end() @@ -481,41 +481,41 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.clients.is_empty() { + if true { len += 1; } - if !self.clients_consensus.is_empty() { + if true { len += 1; } - if !self.clients_metadata.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } - if self.create_localhost { + if true { len += 1; } - if self.next_client_sequence != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.GenesisState", len)?; - if !self.clients.is_empty() { + if true { struct_ser.serialize_field("clients", &self.clients)?; } - if !self.clients_consensus.is_empty() { + if true { struct_ser.serialize_field("clientsConsensus", &self.clients_consensus)?; } - if !self.clients_metadata.is_empty() { + if true { struct_ser.serialize_field("clientsMetadata", &self.clients_metadata)?; } if let Some(v) = self.params.as_ref() { struct_ser.serialize_field("params", v)?; } - if self.create_localhost { + if true { struct_ser.serialize_field("createLocalhost", &self.create_localhost)?; } - if self.next_client_sequence != 0 { + if true { struct_ser.serialize_field("nextClientSequence", ::alloc::string::ToString::to_string(&self.next_client_sequence).as_str())?; } struct_ser.end() @@ -663,17 +663,17 @@ impl serde::Serialize for Height { { use serde::ser::SerializeStruct; let mut len = 0; - if self.revision_number != 0 { + if true { len += 1; } - if self.revision_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.Height", len)?; - if self.revision_number != 0 { + if true { struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } - if self.revision_height != 0 { + if true { struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } struct_ser.end() @@ -777,14 +777,14 @@ impl serde::Serialize for IdentifiedClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.client_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.IdentifiedClientState", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.client_state.as_ref() { @@ -887,17 +887,17 @@ impl serde::Serialize for IdentifiedGenesisMetadata { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.client_metadata.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.IdentifiedGenesisMetadata", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.client_metadata.is_empty() { + if true { struct_ser.serialize_field("clientMetadata", &self.client_metadata)?; } struct_ser.end() @@ -997,13 +997,13 @@ impl serde::Serialize for MsgCreateClient { { use serde::ser::SerializeStruct; let mut len = 0; - if self.client_state.is_some() { + if true { len += 1; } - if self.consensus_state.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgCreateClient", len)?; @@ -1013,7 +1013,7 @@ impl serde::Serialize for MsgCreateClient { if let Some(v) = self.consensus_state.as_ref() { struct_ser.serialize_field("consensusState", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1195,13 +1195,13 @@ impl serde::Serialize for MsgIbcSoftwareUpgrade { { use serde::ser::SerializeStruct; let mut len = 0; - if self.plan.is_some() { + if true { len += 1; } - if self.upgraded_client_state.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgIBCSoftwareUpgrade", len)?; @@ -1211,7 +1211,7 @@ impl serde::Serialize for MsgIbcSoftwareUpgrade { if let Some(v) = self.upgraded_client_state.as_ref() { struct_ser.serialize_field("upgradedClientState", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1392,23 +1392,23 @@ impl serde::Serialize for MsgRecoverClient { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.subject_client_id.is_empty() { + if true { len += 1; } - if !self.substitute_client_id.is_empty() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgRecoverClient", len)?; - if !self.subject_client_id.is_empty() { + if true { struct_ser.serialize_field("subjectClientId", &self.subject_client_id)?; } - if !self.substitute_client_id.is_empty() { + if true { struct_ser.serialize_field("substituteClientId", &self.substitute_client_id)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1590,23 +1590,23 @@ impl serde::Serialize for MsgSubmitMisbehaviour { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.misbehaviour.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgSubmitMisbehaviour", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.misbehaviour.as_ref() { struct_ser.serialize_field("misbehaviour", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1787,23 +1787,23 @@ impl serde::Serialize for MsgUpdateClient { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.client_message.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpdateClient", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.client_message.as_ref() { struct_ser.serialize_field("clientMessage", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1985,14 +1985,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signer.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpdateParams", len)?; - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } if let Some(v) = self.params.as_ref() { @@ -2164,26 +2164,26 @@ impl serde::Serialize for MsgUpgradeClient { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.client_state.is_some() { + if true { len += 1; } - if self.consensus_state.is_some() { + if true { len += 1; } - if !self.proof_upgrade_client.is_empty() { + if true { len += 1; } - if !self.proof_upgrade_consensus_state.is_empty() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.MsgUpgradeClient", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.client_state.as_ref() { @@ -2192,13 +2192,13 @@ impl serde::Serialize for MsgUpgradeClient { if let Some(v) = self.consensus_state.as_ref() { struct_ser.serialize_field("consensusState", v)?; } - if !self.proof_upgrade_client.is_empty() { + if true { struct_ser.serialize_field("proofUpgradeClient", pbjson::private::base64::encode(&self.proof_upgrade_client).as_str())?; } - if !self.proof_upgrade_consensus_state.is_empty() { + if true { struct_ser.serialize_field("proofUpgradeConsensusState", pbjson::private::base64::encode(&self.proof_upgrade_consensus_state).as_str())?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -2420,11 +2420,11 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.allowed_clients.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.Params", len)?; - if !self.allowed_clients.is_empty() { + if true { struct_ser.serialize_field("allowedClients", &self.allowed_clients)?; } struct_ser.end() @@ -2583,7 +2583,7 @@ impl serde::Serialize for QueryClientParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientParamsResponse", len)?; @@ -2674,11 +2674,11 @@ impl serde::Serialize for QueryClientStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStateRequest", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } struct_ser.end() @@ -2766,20 +2766,20 @@ impl serde::Serialize for QueryClientStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.client_state.is_some() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStateResponse", len)?; if let Some(v) = self.client_state.as_ref() { struct_ser.serialize_field("clientState", v)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2895,7 +2895,7 @@ impl serde::Serialize for QueryClientStatesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatesRequest", len)?; @@ -2986,14 +2986,14 @@ impl serde::Serialize for QueryClientStatesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_states.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatesResponse", len)?; - if !self.client_states.is_empty() { + if true { struct_ser.serialize_field("clientStates", &self.client_states)?; } if let Some(v) = self.pagination.as_ref() { @@ -3095,11 +3095,11 @@ impl serde::Serialize for QueryClientStatusRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatusRequest", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } struct_ser.end() @@ -3187,11 +3187,11 @@ impl serde::Serialize for QueryClientStatusResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.status.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryClientStatusResponse", len)?; - if !self.status.is_empty() { + if true { struct_ser.serialize_field("status", &self.status)?; } struct_ser.end() @@ -3278,14 +3278,14 @@ impl serde::Serialize for QueryConsensusStateHeightsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateHeightsRequest", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.pagination.as_ref() { @@ -3387,14 +3387,14 @@ impl serde::Serialize for QueryConsensusStateHeightsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.consensus_state_heights.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateHeightsResponse", len)?; - if !self.consensus_state_heights.is_empty() { + if true { struct_ser.serialize_field("consensusStateHeights", &self.consensus_state_heights)?; } if let Some(v) = self.pagination.as_ref() { @@ -3496,29 +3496,29 @@ impl serde::Serialize for QueryConsensusStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.revision_number != 0 { + if true { len += 1; } - if self.revision_height != 0 { + if true { len += 1; } - if self.latest_height { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateRequest", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if self.revision_number != 0 { + if true { struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } - if self.revision_height != 0 { + if true { struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } - if self.latest_height { + if true { struct_ser.serialize_field("latestHeight", &self.latest_height)?; } struct_ser.end() @@ -3646,20 +3646,20 @@ impl serde::Serialize for QueryConsensusStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.consensus_state.is_some() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStateResponse", len)?; if let Some(v) = self.consensus_state.as_ref() { struct_ser.serialize_field("consensusState", v)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -3775,14 +3775,14 @@ impl serde::Serialize for QueryConsensusStatesRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStatesRequest", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.pagination.as_ref() { @@ -3884,14 +3884,14 @@ impl serde::Serialize for QueryConsensusStatesResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.consensus_states.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryConsensusStatesResponse", len)?; - if !self.consensus_states.is_empty() { + if true { struct_ser.serialize_field("consensusStates", &self.consensus_states)?; } if let Some(v) = self.pagination.as_ref() { @@ -4064,7 +4064,7 @@ impl serde::Serialize for QueryUpgradedClientStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.upgraded_client_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryUpgradedClientStateResponse", len)?; @@ -4227,7 +4227,7 @@ impl serde::Serialize for QueryUpgradedConsensusStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.upgraded_consensus_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.QueryUpgradedConsensusStateResponse", len)?; @@ -4319,23 +4319,23 @@ impl serde::Serialize for UpgradeProposal { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.title.is_empty() { + if true { len += 1; } - if !self.description.is_empty() { + if true { len += 1; } - if self.plan.is_some() { + if true { len += 1; } - if self.upgraded_client_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.client.v1.UpgradeProposal", len)?; - if !self.title.is_empty() { + if true { struct_ser.serialize_field("title", &self.title)?; } - if !self.description.is_empty() { + if true { struct_ser.serialize_field("description", &self.description)?; } if let Some(v) = self.plan.as_ref() { diff --git a/src/prost/ibc.core.commitment.v1.serde.rs b/src/prost/ibc.core.commitment.v1.serde.rs index ecf34535..845674d6 100644 --- a/src/prost/ibc.core.commitment.v1.serde.rs +++ b/src/prost/ibc.core.commitment.v1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for MerklePath { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key_path.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerklePath", len)?; - if !self.key_path.is_empty() { + if true { struct_ser.serialize_field("keyPath", &self.key_path)?; } struct_ser.end() @@ -98,11 +98,11 @@ impl serde::Serialize for MerklePrefix { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.key_prefix.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerklePrefix", len)?; - if !self.key_prefix.is_empty() { + if true { struct_ser.serialize_field("keyPrefix", pbjson::private::base64::encode(&self.key_prefix).as_str())?; } struct_ser.end() @@ -192,11 +192,11 @@ impl serde::Serialize for MerkleProof { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.proofs.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerkleProof", len)?; - if !self.proofs.is_empty() { + if true { struct_ser.serialize_field("proofs", &self.proofs)?; } struct_ser.end() @@ -283,11 +283,11 @@ impl serde::Serialize for MerkleRoot { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.hash.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.commitment.v1.MerkleRoot", len)?; - if !self.hash.is_empty() { + if true { struct_ser.serialize_field("hash", pbjson::private::base64::encode(&self.hash).as_str())?; } struct_ser.end() diff --git a/src/prost/ibc.core.connection.v1.serde.rs b/src/prost/ibc.core.connection.v1.serde.rs index 7c3b4f6c..34a80641 100644 --- a/src/prost/ibc.core.connection.v1.serde.rs +++ b/src/prost/ibc.core.connection.v1.serde.rs @@ -6,11 +6,11 @@ impl serde::Serialize for ClientPaths { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.paths.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.ClientPaths", len)?; - if !self.paths.is_empty() { + if true { struct_ser.serialize_field("paths", &self.paths)?; } struct_ser.end() @@ -97,29 +97,29 @@ impl serde::Serialize for ConnectionEnd { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.versions.is_empty() { + if true { len += 1; } - if self.state != 0 { + if true { len += 1; } - if self.counterparty.is_some() { + if true { len += 1; } - if self.delay_period != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.ConnectionEnd", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.versions.is_empty() { + if true { struct_ser.serialize_field("versions", &self.versions)?; } - if self.state != 0 { + if true { let v = State::from_i32(self.state) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; @@ -127,7 +127,7 @@ impl serde::Serialize for ConnectionEnd { if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } - if self.delay_period != 0 { + if true { struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } struct_ser.end() @@ -262,17 +262,17 @@ impl serde::Serialize for ConnectionPaths { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.paths.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.ConnectionPaths", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.paths.is_empty() { + if true { struct_ser.serialize_field("paths", &self.paths)?; } struct_ser.end() @@ -371,20 +371,20 @@ impl serde::Serialize for Counterparty { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.connection_id.is_empty() { + if true { len += 1; } - if self.prefix.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Counterparty", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } if let Some(v) = self.prefix.as_ref() { @@ -498,26 +498,26 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connections.is_empty() { + if true { len += 1; } - if !self.client_connection_paths.is_empty() { + if true { len += 1; } - if self.next_connection_sequence != 0 { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.GenesisState", len)?; - if !self.connections.is_empty() { + if true { struct_ser.serialize_field("connections", &self.connections)?; } - if !self.client_connection_paths.is_empty() { + if true { struct_ser.serialize_field("clientConnectionPaths", &self.client_connection_paths)?; } - if self.next_connection_sequence != 0 { + if true { struct_ser.serialize_field("nextConnectionSequence", ::alloc::string::ToString::to_string(&self.next_connection_sequence).as_str())?; } if let Some(v) = self.params.as_ref() { @@ -644,35 +644,35 @@ impl serde::Serialize for IdentifiedConnection { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.id.is_empty() { + if true { len += 1; } - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.versions.is_empty() { + if true { len += 1; } - if self.state != 0 { + if true { len += 1; } - if self.counterparty.is_some() { + if true { len += 1; } - if self.delay_period != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.IdentifiedConnection", len)?; - if !self.id.is_empty() { + if true { struct_ser.serialize_field("id", &self.id)?; } - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.versions.is_empty() { + if true { struct_ser.serialize_field("versions", &self.versions)?; } - if self.state != 0 { + if true { let v = State::from_i32(self.state) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.state)))?; struct_ser.serialize_field("state", &v)?; @@ -680,7 +680,7 @@ impl serde::Serialize for IdentifiedConnection { if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } - if self.delay_period != 0 { + if true { struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } struct_ser.end() @@ -826,44 +826,44 @@ impl serde::Serialize for MsgConnectionOpenAck { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } - if !self.counterparty_connection_id.is_empty() { + if true { len += 1; } - if self.version.is_some() { + if true { len += 1; } - if self.client_state.is_some() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.proof_try.is_empty() { + if true { len += 1; } - if !self.proof_client.is_empty() { + if true { len += 1; } - if !self.proof_consensus.is_empty() { + if true { len += 1; } - if self.consensus_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } - if !self.host_consensus_state_proof.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenAck", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } - if !self.counterparty_connection_id.is_empty() { + if true { struct_ser.serialize_field("counterpartyConnectionId", &self.counterparty_connection_id)?; } if let Some(v) = self.version.as_ref() { @@ -875,22 +875,22 @@ impl serde::Serialize for MsgConnectionOpenAck { if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.proof_try.is_empty() { + if true { struct_ser.serialize_field("proofTry", pbjson::private::base64::encode(&self.proof_try).as_str())?; } - if !self.proof_client.is_empty() { + if true { struct_ser.serialize_field("proofClient", pbjson::private::base64::encode(&self.proof_client).as_str())?; } - if !self.proof_consensus.is_empty() { + if true { struct_ser.serialize_field("proofConsensus", pbjson::private::base64::encode(&self.proof_consensus).as_str())?; } if let Some(v) = self.consensus_height.as_ref() { struct_ser.serialize_field("consensusHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } - if !self.host_consensus_state_proof.is_empty() { + if true { struct_ser.serialize_field("hostConsensusStateProof", pbjson::private::base64::encode(&self.host_consensus_state_proof).as_str())?; } struct_ser.end() @@ -1175,29 +1175,29 @@ impl serde::Serialize for MsgConnectionOpenConfirm { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } - if !self.proof_ack.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenConfirm", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } - if !self.proof_ack.is_empty() { + if true { struct_ser.serialize_field("proofAck", pbjson::private::base64::encode(&self.proof_ack).as_str())?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1393,23 +1393,23 @@ impl serde::Serialize for MsgConnectionOpenInit { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.counterparty.is_some() { + if true { len += 1; } - if self.version.is_some() { + if true { len += 1; } - if self.delay_period != 0 { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenInit", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.counterparty.as_ref() { @@ -1418,10 +1418,10 @@ impl serde::Serialize for MsgConnectionOpenInit { if let Some(v) = self.version.as_ref() { struct_ser.serialize_field("version", v)?; } - if self.delay_period != 0 { + if true { struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } struct_ser.end() @@ -1627,50 +1627,50 @@ impl serde::Serialize for MsgConnectionOpenTry { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.previous_connection_id.is_empty() { + if true { len += 1; } - if self.client_state.is_some() { + if true { len += 1; } - if self.counterparty.is_some() { + if true { len += 1; } - if self.delay_period != 0 { + if true { len += 1; } - if !self.counterparty_versions.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } - if !self.proof_init.is_empty() { + if true { len += 1; } - if !self.proof_client.is_empty() { + if true { len += 1; } - if !self.proof_consensus.is_empty() { + if true { len += 1; } - if self.consensus_height.is_some() { + if true { len += 1; } - if !self.signer.is_empty() { + if true { len += 1; } - if !self.host_consensus_state_proof.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgConnectionOpenTry", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.previous_connection_id.is_empty() { + if true { struct_ser.serialize_field("previousConnectionId", &self.previous_connection_id)?; } if let Some(v) = self.client_state.as_ref() { @@ -1679,31 +1679,31 @@ impl serde::Serialize for MsgConnectionOpenTry { if let Some(v) = self.counterparty.as_ref() { struct_ser.serialize_field("counterparty", v)?; } - if self.delay_period != 0 { + if true { struct_ser.serialize_field("delayPeriod", ::alloc::string::ToString::to_string(&self.delay_period).as_str())?; } - if !self.counterparty_versions.is_empty() { + if true { struct_ser.serialize_field("counterpartyVersions", &self.counterparty_versions)?; } if let Some(v) = self.proof_height.as_ref() { struct_ser.serialize_field("proofHeight", v)?; } - if !self.proof_init.is_empty() { + if true { struct_ser.serialize_field("proofInit", pbjson::private::base64::encode(&self.proof_init).as_str())?; } - if !self.proof_client.is_empty() { + if true { struct_ser.serialize_field("proofClient", pbjson::private::base64::encode(&self.proof_client).as_str())?; } - if !self.proof_consensus.is_empty() { + if true { struct_ser.serialize_field("proofConsensus", pbjson::private::base64::encode(&self.proof_consensus).as_str())?; } if let Some(v) = self.consensus_height.as_ref() { struct_ser.serialize_field("consensusHeight", v)?; } - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } - if !self.host_consensus_state_proof.is_empty() { + if true { struct_ser.serialize_field("hostConsensusStateProof", pbjson::private::base64::encode(&self.host_consensus_state_proof).as_str())?; } struct_ser.end() @@ -2014,14 +2014,14 @@ impl serde::Serialize for MsgUpdateParams { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signer.is_empty() { + if true { len += 1; } - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.MsgUpdateParams", len)?; - if !self.signer.is_empty() { + if true { struct_ser.serialize_field("signer", &self.signer)?; } if let Some(v) = self.params.as_ref() { @@ -2193,11 +2193,11 @@ impl serde::Serialize for Params { { use serde::ser::SerializeStruct; let mut len = 0; - if self.max_expected_time_per_block != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Params", len)?; - if self.max_expected_time_per_block != 0 { + if true { struct_ser.serialize_field("maxExpectedTimePerBlock", ::alloc::string::ToString::to_string(&self.max_expected_time_per_block).as_str())?; } struct_ser.end() @@ -2287,11 +2287,11 @@ impl serde::Serialize for QueryClientConnectionsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryClientConnectionsRequest", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } struct_ser.end() @@ -2379,20 +2379,20 @@ impl serde::Serialize for QueryClientConnectionsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_paths.is_empty() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryClientConnectionsResponse", len)?; - if !self.connection_paths.is_empty() { + if true { struct_ser.serialize_field("connectionPaths", &self.connection_paths)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2508,11 +2508,11 @@ impl serde::Serialize for QueryConnectionClientStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionClientStateRequest", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } struct_ser.end() @@ -2600,20 +2600,20 @@ impl serde::Serialize for QueryConnectionClientStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.identified_client_state.is_some() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionClientStateResponse", len)?; if let Some(v) = self.identified_client_state.as_ref() { struct_ser.serialize_field("identifiedClientState", v)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -2729,23 +2729,23 @@ impl serde::Serialize for QueryConnectionConsensusStateRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } - if self.revision_number != 0 { + if true { len += 1; } - if self.revision_height != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionConsensusStateRequest", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } - if self.revision_number != 0 { + if true { struct_ser.serialize_field("revisionNumber", ::alloc::string::ToString::to_string(&self.revision_number).as_str())?; } - if self.revision_height != 0 { + if true { struct_ser.serialize_field("revisionHeight", ::alloc::string::ToString::to_string(&self.revision_height).as_str())?; } struct_ser.end() @@ -2861,26 +2861,26 @@ impl serde::Serialize for QueryConnectionConsensusStateResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.consensus_state.is_some() { + if true { len += 1; } - if !self.client_id.is_empty() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionConsensusStateResponse", len)?; if let Some(v) = self.consensus_state.as_ref() { struct_ser.serialize_field("consensusState", v)?; } - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -3079,7 +3079,7 @@ impl serde::Serialize for QueryConnectionParamsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.params.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionParamsResponse", len)?; @@ -3170,11 +3170,11 @@ impl serde::Serialize for QueryConnectionRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connection_id.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionRequest", len)?; - if !self.connection_id.is_empty() { + if true { struct_ser.serialize_field("connectionId", &self.connection_id)?; } struct_ser.end() @@ -3262,20 +3262,20 @@ impl serde::Serialize for QueryConnectionResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if self.connection.is_some() { + if true { len += 1; } - if !self.proof.is_empty() { + if true { len += 1; } - if self.proof_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionResponse", len)?; if let Some(v) = self.connection.as_ref() { struct_ser.serialize_field("connection", v)?; } - if !self.proof.is_empty() { + if true { struct_ser.serialize_field("proof", pbjson::private::base64::encode(&self.proof).as_str())?; } if let Some(v) = self.proof_height.as_ref() { @@ -3390,7 +3390,7 @@ impl serde::Serialize for QueryConnectionsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.pagination.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionsRequest", len)?; @@ -3481,17 +3481,17 @@ impl serde::Serialize for QueryConnectionsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.connections.is_empty() { + if true { len += 1; } - if self.pagination.is_some() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.QueryConnectionsResponse", len)?; - if !self.connections.is_empty() { + if true { struct_ser.serialize_field("connections", &self.connections)?; } if let Some(v) = self.pagination.as_ref() { @@ -3685,17 +3685,17 @@ impl serde::Serialize for Version { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.identifier.is_empty() { + if true { len += 1; } - if !self.features.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.connection.v1.Version", len)?; - if !self.identifier.is_empty() { + if true { struct_ser.serialize_field("identifier", &self.identifier)?; } - if !self.features.is_empty() { + if true { struct_ser.serialize_field("features", &self.features)?; } struct_ser.end() diff --git a/src/prost/ibc.core.types.v1.serde.rs b/src/prost/ibc.core.types.v1.serde.rs index 2c010ab0..d7464c83 100644 --- a/src/prost/ibc.core.types.v1.serde.rs +++ b/src/prost/ibc.core.types.v1.serde.rs @@ -6,13 +6,13 @@ impl serde::Serialize for GenesisState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.client_genesis.is_some() { + if true { len += 1; } - if self.connection_genesis.is_some() { + if true { len += 1; } - if self.channel_genesis.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.core.types.v1.GenesisState", len)?; diff --git a/src/prost/ibc.lightclients.localhost.v1.serde.rs b/src/prost/ibc.lightclients.localhost.v1.serde.rs index 5a0e3200..18d291f0 100644 --- a/src/prost/ibc.lightclients.localhost.v1.serde.rs +++ b/src/prost/ibc.lightclients.localhost.v1.serde.rs @@ -6,14 +6,14 @@ impl serde::Serialize for ClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.chain_id.is_empty() { + if true { len += 1; } - if self.height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.localhost.v1.ClientState", len)?; - if !self.chain_id.is_empty() { + if true { struct_ser.serialize_field("chainId", &self.chain_id)?; } if let Some(v) = self.height.as_ref() { diff --git a/src/prost/ibc.lightclients.localhost.v2.serde.rs b/src/prost/ibc.lightclients.localhost.v2.serde.rs index 9362ce88..4ba8c043 100644 --- a/src/prost/ibc.lightclients.localhost.v2.serde.rs +++ b/src/prost/ibc.lightclients.localhost.v2.serde.rs @@ -6,7 +6,7 @@ impl serde::Serialize for ClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.latest_height.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.localhost.v2.ClientState", len)?; diff --git a/src/prost/ibc.lightclients.solomachine.v2.serde.rs b/src/prost/ibc.lightclients.solomachine.v2.serde.rs index ee7489e9..471b0cb6 100644 --- a/src/prost/ibc.lightclients.solomachine.v2.serde.rs +++ b/src/prost/ibc.lightclients.solomachine.v2.serde.rs @@ -6,14 +6,14 @@ impl serde::Serialize for ChannelStateData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if self.channel.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ChannelStateData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.channel.as_ref() { @@ -116,29 +116,29 @@ impl serde::Serialize for ClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if self.is_frozen { + if true { len += 1; } - if self.consensus_state.is_some() { + if true { len += 1; } - if self.allow_update_after_proposal { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ClientState", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if self.is_frozen { + if true { struct_ser.serialize_field("isFrozen", &self.is_frozen)?; } if let Some(v) = self.consensus_state.as_ref() { struct_ser.serialize_field("consensusState", v)?; } - if self.allow_update_after_proposal { + if true { struct_ser.serialize_field("allowUpdateAfterProposal", &self.allow_update_after_proposal)?; } struct_ser.end() @@ -263,14 +263,14 @@ impl serde::Serialize for ClientStateData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if self.client_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ClientStateData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.client_state.as_ref() { @@ -374,14 +374,14 @@ impl serde::Serialize for ConnectionStateData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if self.connection.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConnectionStateData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.connection.as_ref() { @@ -484,23 +484,23 @@ impl serde::Serialize for ConsensusState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.public_key.is_some() { + if true { len += 1; } - if !self.diversifier.is_empty() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConsensusState", len)?; if let Some(v) = self.public_key.as_ref() { struct_ser.serialize_field("publicKey", v)?; } - if !self.diversifier.is_empty() { + if true { struct_ser.serialize_field("diversifier", &self.diversifier)?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() @@ -612,14 +612,14 @@ impl serde::Serialize for ConsensusStateData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if self.consensus_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.ConsensusStateData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } if let Some(v) = self.consensus_state.as_ref() { @@ -820,35 +820,35 @@ impl serde::Serialize for Header { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } - if !self.signature.is_empty() { + if true { len += 1; } - if self.new_public_key.is_some() { + if true { len += 1; } - if !self.new_diversifier.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.Header", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } - if !self.signature.is_empty() { + if true { struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } if let Some(v) = self.new_public_key.as_ref() { struct_ser.serialize_field("newPublicKey", v)?; } - if !self.new_diversifier.is_empty() { + if true { struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; } struct_ser.end() @@ -987,17 +987,17 @@ impl serde::Serialize for HeaderData { { use serde::ser::SerializeStruct; let mut len = 0; - if self.new_pub_key.is_some() { + if true { len += 1; } - if !self.new_diversifier.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.HeaderData", len)?; if let Some(v) = self.new_pub_key.as_ref() { struct_ser.serialize_field("newPubKey", v)?; } - if !self.new_diversifier.is_empty() { + if true { struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; } struct_ser.end() @@ -1097,23 +1097,23 @@ impl serde::Serialize for Misbehaviour { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.sequence != 0 { + if true { len += 1; } - if self.signature_one.is_some() { + if true { len += 1; } - if self.signature_two.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.Misbehaviour", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if let Some(v) = self.signature_one.as_ref() { @@ -1244,17 +1244,17 @@ impl serde::Serialize for NextSequenceRecvData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if self.next_seq_recv != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.NextSequenceRecvData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } - if self.next_seq_recv != 0 { + if true { struct_ser.serialize_field("nextSeqRecv", ::alloc::string::ToString::to_string(&self.next_seq_recv).as_str())?; } struct_ser.end() @@ -1357,17 +1357,17 @@ impl serde::Serialize for PacketAcknowledgementData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if !self.acknowledgement.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketAcknowledgementData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } - if !self.acknowledgement.is_empty() { + if true { struct_ser.serialize_field("acknowledgement", pbjson::private::base64::encode(&self.acknowledgement).as_str())?; } struct_ser.end() @@ -1469,17 +1469,17 @@ impl serde::Serialize for PacketCommitmentData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } - if !self.commitment.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketCommitmentData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } - if !self.commitment.is_empty() { + if true { struct_ser.serialize_field("commitment", pbjson::private::base64::encode(&self.commitment).as_str())?; } struct_ser.end() @@ -1581,11 +1581,11 @@ impl serde::Serialize for PacketReceiptAbsenceData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.PacketReceiptAbsenceData", len)?; - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } struct_ser.end() @@ -1674,37 +1674,37 @@ impl serde::Serialize for SignBytes { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } - if !self.diversifier.is_empty() { + if true { len += 1; } - if self.data_type != 0 { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.SignBytes", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } - if !self.diversifier.is_empty() { + if true { struct_ser.serialize_field("diversifier", &self.diversifier)?; } - if self.data_type != 0 { + if true { let v = DataType::from_i32(self.data_type) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.data_type)))?; struct_ser.serialize_field("dataType", &v)?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } struct_ser.end() @@ -1842,31 +1842,31 @@ impl serde::Serialize for SignatureAndData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signature.is_empty() { + if true { len += 1; } - if self.data_type != 0 { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.SignatureAndData", len)?; - if !self.signature.is_empty() { + if true { struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } - if self.data_type != 0 { + if true { let v = DataType::from_i32(self.data_type) .ok_or_else(|| serde::ser::Error::custom(::alloc::format!("Invalid variant {}", self.data_type)))?; struct_ser.serialize_field("dataType", &v)?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() @@ -1993,17 +1993,17 @@ impl serde::Serialize for TimestampedSignatureData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signature_data.is_empty() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v2.TimestampedSignatureData", len)?; - if !self.signature_data.is_empty() { + if true { struct_ser.serialize_field("signatureData", pbjson::private::base64::encode(&self.signature_data).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() diff --git a/src/prost/ibc.lightclients.solomachine.v3.serde.rs b/src/prost/ibc.lightclients.solomachine.v3.serde.rs index a85233d4..3f1b5c23 100644 --- a/src/prost/ibc.lightclients.solomachine.v3.serde.rs +++ b/src/prost/ibc.lightclients.solomachine.v3.serde.rs @@ -6,20 +6,20 @@ impl serde::Serialize for ClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if self.is_frozen { + if true { len += 1; } - if self.consensus_state.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.ClientState", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if self.is_frozen { + if true { struct_ser.serialize_field("isFrozen", &self.is_frozen)?; } if let Some(v) = self.consensus_state.as_ref() { @@ -135,23 +135,23 @@ impl serde::Serialize for ConsensusState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.public_key.is_some() { + if true { len += 1; } - if !self.diversifier.is_empty() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.ConsensusState", len)?; if let Some(v) = self.public_key.as_ref() { struct_ser.serialize_field("publicKey", v)?; } - if !self.diversifier.is_empty() { + if true { struct_ser.serialize_field("diversifier", &self.diversifier)?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() @@ -263,29 +263,29 @@ impl serde::Serialize for Header { { use serde::ser::SerializeStruct; let mut len = 0; - if self.timestamp != 0 { + if true { len += 1; } - if !self.signature.is_empty() { + if true { len += 1; } - if self.new_public_key.is_some() { + if true { len += 1; } - if !self.new_diversifier.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.Header", len)?; - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } - if !self.signature.is_empty() { + if true { struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } if let Some(v) = self.new_public_key.as_ref() { struct_ser.serialize_field("newPublicKey", v)?; } - if !self.new_diversifier.is_empty() { + if true { struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; } struct_ser.end() @@ -411,17 +411,17 @@ impl serde::Serialize for HeaderData { { use serde::ser::SerializeStruct; let mut len = 0; - if self.new_pub_key.is_some() { + if true { len += 1; } - if !self.new_diversifier.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.HeaderData", len)?; if let Some(v) = self.new_pub_key.as_ref() { struct_ser.serialize_field("newPubKey", v)?; } - if !self.new_diversifier.is_empty() { + if true { struct_ser.serialize_field("newDiversifier", &self.new_diversifier)?; } struct_ser.end() @@ -521,17 +521,17 @@ impl serde::Serialize for Misbehaviour { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if self.signature_one.is_some() { + if true { len += 1; } - if self.signature_two.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.Misbehaviour", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } if let Some(v) = self.signature_one.as_ref() { @@ -650,35 +650,35 @@ impl serde::Serialize for SignBytes { { use serde::ser::SerializeStruct; let mut len = 0; - if self.sequence != 0 { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } - if !self.diversifier.is_empty() { + if true { len += 1; } - if !self.path.is_empty() { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.SignBytes", len)?; - if self.sequence != 0 { + if true { struct_ser.serialize_field("sequence", ::alloc::string::ToString::to_string(&self.sequence).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } - if !self.diversifier.is_empty() { + if true { struct_ser.serialize_field("diversifier", &self.diversifier)?; } - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } struct_ser.end() @@ -817,29 +817,29 @@ impl serde::Serialize for SignatureAndData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signature.is_empty() { + if true { len += 1; } - if !self.path.is_empty() { + if true { len += 1; } - if !self.data.is_empty() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.SignatureAndData", len)?; - if !self.signature.is_empty() { + if true { struct_ser.serialize_field("signature", pbjson::private::base64::encode(&self.signature).as_str())?; } - if !self.path.is_empty() { + if true { struct_ser.serialize_field("path", pbjson::private::base64::encode(&self.path).as_str())?; } - if !self.data.is_empty() { + if true { struct_ser.serialize_field("data", pbjson::private::base64::encode(&self.data).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() @@ -967,17 +967,17 @@ impl serde::Serialize for TimestampedSignatureData { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.signature_data.is_empty() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.solomachine.v3.TimestampedSignatureData", len)?; - if !self.signature_data.is_empty() { + if true { struct_ser.serialize_field("signatureData", pbjson::private::base64::encode(&self.signature_data).as_str())?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() diff --git a/src/prost/ibc.lightclients.tendermint.v1.serde.rs b/src/prost/ibc.lightclients.tendermint.v1.serde.rs index 62757823..02b4b24e 100644 --- a/src/prost/ibc.lightclients.tendermint.v1.serde.rs +++ b/src/prost/ibc.lightclients.tendermint.v1.serde.rs @@ -6,41 +6,41 @@ impl serde::Serialize for ClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.chain_id.is_empty() { + if true { len += 1; } - if self.trust_level.is_some() { + if true { len += 1; } - if self.trusting_period.is_some() { + if true { len += 1; } - if self.unbonding_period.is_some() { + if true { len += 1; } - if self.max_clock_drift.is_some() { + if true { len += 1; } - if self.frozen_height.is_some() { + if true { len += 1; } - if self.latest_height.is_some() { + if true { len += 1; } - if !self.proof_specs.is_empty() { + if true { len += 1; } - if !self.upgrade_path.is_empty() { + if true { len += 1; } - if self.allow_update_after_expiry { + if true { len += 1; } - if self.allow_update_after_misbehaviour { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.ClientState", len)?; - if !self.chain_id.is_empty() { + if true { struct_ser.serialize_field("chainId", &self.chain_id)?; } if let Some(v) = self.trust_level.as_ref() { @@ -61,16 +61,16 @@ impl serde::Serialize for ClientState { if let Some(v) = self.latest_height.as_ref() { struct_ser.serialize_field("latestHeight", v)?; } - if !self.proof_specs.is_empty() { + if true { struct_ser.serialize_field("proofSpecs", &self.proof_specs)?; } - if !self.upgrade_path.is_empty() { + if true { struct_ser.serialize_field("upgradePath", &self.upgrade_path)?; } - if self.allow_update_after_expiry { + if true { struct_ser.serialize_field("allowUpdateAfterExpiry", &self.allow_update_after_expiry)?; } - if self.allow_update_after_misbehaviour { + if true { struct_ser.serialize_field("allowUpdateAfterMisbehaviour", &self.allow_update_after_misbehaviour)?; } struct_ser.end() @@ -278,13 +278,13 @@ impl serde::Serialize for ConsensusState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.timestamp.is_some() { + if true { len += 1; } - if self.root.is_some() { + if true { len += 1; } - if !self.next_validators_hash.is_empty() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.ConsensusState", len)?; @@ -294,7 +294,7 @@ impl serde::Serialize for ConsensusState { if let Some(v) = self.root.as_ref() { struct_ser.serialize_field("root", v)?; } - if !self.next_validators_hash.is_empty() { + if true { struct_ser.serialize_field("nextValidatorsHash", pbjson::private::base64::encode(&self.next_validators_hash).as_str())?; } struct_ser.end() @@ -406,17 +406,17 @@ impl serde::Serialize for Fraction { { use serde::ser::SerializeStruct; let mut len = 0; - if self.numerator != 0 { + if true { len += 1; } - if self.denominator != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Fraction", len)?; - if self.numerator != 0 { + if true { struct_ser.serialize_field("numerator", ::alloc::string::ToString::to_string(&self.numerator).as_str())?; } - if self.denominator != 0 { + if true { struct_ser.serialize_field("denominator", ::alloc::string::ToString::to_string(&self.denominator).as_str())?; } struct_ser.end() @@ -518,16 +518,16 @@ impl serde::Serialize for Header { { use serde::ser::SerializeStruct; let mut len = 0; - if self.signed_header.is_some() { + if true { len += 1; } - if self.validator_set.is_some() { + if true { len += 1; } - if self.trusted_height.is_some() { + if true { len += 1; } - if self.trusted_validators.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Header", len)?; @@ -664,17 +664,17 @@ impl serde::Serialize for Misbehaviour { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.header_1.is_some() { + if true { len += 1; } - if self.header_2.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.lightclients.tendermint.v1.Misbehaviour", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.header_1.as_ref() { diff --git a/src/prost/ibc.mock.serde.rs b/src/prost/ibc.mock.serde.rs index 3b45aa41..b2d4822c 100644 --- a/src/prost/ibc.mock.serde.rs +++ b/src/prost/ibc.mock.serde.rs @@ -6,7 +6,7 @@ impl serde::Serialize for ClientState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.header.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.mock.ClientState", len)?; @@ -97,7 +97,7 @@ impl serde::Serialize for ConsensusState { { use serde::ser::SerializeStruct; let mut len = 0; - if self.header.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.mock.ConsensusState", len)?; @@ -188,17 +188,17 @@ impl serde::Serialize for Header { { use serde::ser::SerializeStruct; let mut len = 0; - if self.height.is_some() { + if true { len += 1; } - if self.timestamp != 0 { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.mock.Header", len)?; if let Some(v) = self.height.as_ref() { struct_ser.serialize_field("height", v)?; } - if self.timestamp != 0 { + if true { struct_ser.serialize_field("timestamp", ::alloc::string::ToString::to_string(&self.timestamp).as_str())?; } struct_ser.end() @@ -298,17 +298,17 @@ impl serde::Serialize for Misbehaviour { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.client_id.is_empty() { + if true { len += 1; } - if self.header1.is_some() { + if true { len += 1; } - if self.header2.is_some() { + if true { len += 1; } let mut struct_ser = serializer.serialize_struct("ibc.mock.Misbehaviour", len)?; - if !self.client_id.is_empty() { + if true { struct_ser.serialize_field("clientId", &self.client_id)?; } if let Some(v) = self.header1.as_ref() { diff --git a/tests/test_serde_default.rs b/tests/test_serde_default.rs new file mode 100644 index 00000000..d770ba9e --- /dev/null +++ b/tests/test_serde_default.rs @@ -0,0 +1,24 @@ +#[cfg(feature = "serde")] +use ibc_proto::ibc::core::client::v1::Height; + +#[cfg(feature = "serde")] +#[test] +fn test_serde_can_deserialize_defaults() { + let data = r#"{}"#; + let height: Height = serde_json::from_str(data).unwrap(); + assert_eq!(height.revision_number, 0u64); + assert_eq!(height.revision_height, 0u64); +} + +// This enables ibc-rs to keep supporting chains on different proto versions +// where some fields may or may not be present +#[cfg(feature = "serde")] +#[test] +fn test_serde_can_serialize_defaults() { + let height = Height { + revision_number: 0u64, + revision_height: 0u64, + }; + let str = serde_json::to_string(&height).unwrap(); + assert_eq!(str, r#"{"revisionNumber":"0","revisionHeight":"0"}"#); +} diff --git a/tools/proto-compiler/src/cmd/compile.rs b/tools/proto-compiler/src/cmd/compile.rs index 062a741b..90164458 100644 --- a/tools/proto-compiler/src/cmd/compile.rs +++ b/tools/proto-compiler/src/cmd/compile.rs @@ -190,6 +190,7 @@ impl CompileCmd { ".interchain_security.ccv.consumer.v1", ".stride.interchainquery.v1", ]) + .emit_fields() .build(&[ ".ibc", ".cosmos", From 9d122ed3b1987696ea6cfe0b32164e7108df81ff Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Thu, 21 Dec 2023 13:24:01 -0500 Subject: [PATCH 11/12] Update changelog --- .changelog/unreleased/breaking-changes/166-protojson-support.md | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .changelog/unreleased/breaking-changes/166-protojson-support.md diff --git a/.changelog/unreleased/breaking-changes/166-protojson-support.md b/.changelog/unreleased/breaking-changes/166-protojson-support.md new file mode 100644 index 00000000..98671c29 --- /dev/null +++ b/.changelog/unreleased/breaking-changes/166-protojson-support.md @@ -0,0 +1,2 @@ +- Added protojson support + ([#166](https://github.com/cosmos/ibc-proto-rs/pull/166)). Feature flag `serde` now abides by [protobuf json rules](https://protobuf.dev/programming-guides/proto3/#json) when it comes to json serialization/deserialization. From d90d2d21717e6e341ba6c10b05dfba22173e573f Mon Sep 17 00:00:00 2001 From: Gabe Rodriguez Date: Fri, 22 Dec 2023 00:00:14 -0500 Subject: [PATCH 12/12] Add FungibleTokenPacketData test --- tests/test_serde_default.rs | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/tests/test_serde_default.rs b/tests/test_serde_default.rs index d770ba9e..410e3580 100644 --- a/tests/test_serde_default.rs +++ b/tests/test_serde_default.rs @@ -1,9 +1,8 @@ -#[cfg(feature = "serde")] -use ibc_proto::ibc::core::client::v1::Height; - #[cfg(feature = "serde")] #[test] fn test_serde_can_deserialize_defaults() { + use ibc_proto::ibc::core::client::v1::Height; + let data = r#"{}"#; let height: Height = serde_json::from_str(data).unwrap(); assert_eq!(height.revision_number, 0u64); @@ -15,6 +14,8 @@ fn test_serde_can_deserialize_defaults() { #[cfg(feature = "serde")] #[test] fn test_serde_can_serialize_defaults() { + use ibc_proto::ibc::core::client::v1::Height; + let height = Height { revision_number: 0u64, revision_height: 0u64, @@ -22,3 +23,22 @@ fn test_serde_can_serialize_defaults() { let str = serde_json::to_string(&height).unwrap(); assert_eq!(str, r#"{"revisionNumber":"0","revisionHeight":"0"}"#); } + +#[cfg(feature = "serde")] +#[test] +fn test_serde_can_serialize_packet_data() { + use ibc_proto::ibc::applications::transfer::v2::FungibleTokenPacketData; + + let packet_data = FungibleTokenPacketData { + denom: "uatom".to_string(), + amount: "10".to_string(), + sender: "cosmos1wxeyh7zgn4tctjzs0vtqpc6p5cxq5t2muzl7ng".to_string(), + receiver: "cosmos1wxeyh7zgn4tctjzs0vtqpc6p5cxq5t2muzl7ng".to_string(), + memo: "".to_string(), + }; + let str = serde_json::to_string(&packet_data).unwrap(); + assert_eq!( + str, + r#"{"denom":"uatom","amount":"10","sender":"cosmos1wxeyh7zgn4tctjzs0vtqpc6p5cxq5t2muzl7ng","receiver":"cosmos1wxeyh7zgn4tctjzs0vtqpc6p5cxq5t2muzl7ng","memo":""}"# + ); +}