diff --git a/Cargo.lock b/Cargo.lock index 6ca45af..7a9248c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -52,9 +52,9 @@ checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "ark-bls12-381" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +checksum = "3df4dcc01ff89867cd86b0da835f23c3f02738353aaee7dde7495af71363b8d5" dependencies = [ "ark-ec", "ark-ff", @@ -64,17 +64,21 @@ dependencies = [ [[package]] name = "ark-ec" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" dependencies = [ + "ahash", "ark-ff", "ark-poly", "ark-serialize", "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", + "educe", + "fnv", + "hashbrown 0.15.5", + "itertools 0.13.0", + "num-bigint", + "num-integer", "num-traits", "rayon", "zeroize", @@ -82,89 +86,93 @@ dependencies = [ [[package]] name = "ark-ff" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" dependencies = [ "ark-ff-asm", "ark-ff-macros", "ark-serialize", "ark-std", - "derivative", + "arrayvec", "digest", - "itertools 0.10.5", + "educe", + "itertools 0.13.0", "num-bigint", "num-traits", "paste", "rayon", - "rustc_version", "zeroize", ] [[package]] name = "ark-ff-asm" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "ark-ff-macros" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" dependencies = [ "num-bigint", "num-traits", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "ark-poly" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" dependencies = [ + "ahash", "ark-ff", "ark-serialize", "ark-std", - "derivative", - "hashbrown 0.13.2", + "educe", + "fnv", + "hashbrown 0.15.5", ] [[package]] name = "ark-serialize" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" dependencies = [ "ark-serialize-derive", "ark-std", + "arrayvec", "digest", "num-bigint", + "rayon", ] [[package]] name = "ark-serialize-derive" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] name = "ark-std" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", "rand", @@ -172,26 +180,10 @@ dependencies = [ ] [[package]] -name = "async-stream" -version = "0.3.5" +name = "arrayvec" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51" -dependencies = [ - "async-stream-impl", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-stream-impl" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.77", -] +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "async-trait" @@ -204,6 +196,12 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "atomic-waker" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" + [[package]] name = "atty" version = "0.2.14" @@ -223,18 +221,16 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "axum" -version = "0.6.20" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf" +checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" dependencies = [ - "async-trait", "axum-core", - "bitflags 1.3.2", "bytes", "futures-util", "http", "http-body", - "hyper", + "http-body-util", "itoa", "matchit", "memchr", @@ -251,17 +247,19 @@ dependencies = [ [[package]] name = "axum-core" -version = "0.3.4" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c" +checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http", "http-body", + "http-body-util", "mime", + "pin-project-lite", "rustversion", + "sync_wrapper", "tower-layer", "tower-service", ] @@ -311,12 +309,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d965446196e3b7decd44aa7ee49e31d630118f90ef12f97900f262eb915c951d" -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.6.0" @@ -385,36 +377,38 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "cosmos-sdk-proto" -version = "0.20.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32560304ab4c365791fd307282f76637213d8083c1a98490c35159cd67852237" +version = "0.28.0" +source = "git+https://github.com/permissionlessweb/cosmos-rust#15717083ff65d0c1f07fc3fd4caf16c80eb3f410" dependencies = [ + "bytes", + "http-body-util", "prost", - "prost-types", "tendermint-proto", ] [[package]] name = "cosmwasm-core" -version = "2.1.3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d905990ef3afb5753bb709dc7de88e9e370aa32bcc2f31731d4b533b63e82490" +checksum = "09f86359c565ec8dc6f1b39e51fff1f63f712767d77529ff46d0d466ea37cd34" [[package]] name = "cosmwasm-crypto" -version = "2.1.3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b2a7bd9c1dd9a377a4dc0f4ad97d24b03c33798cd5a6d7ceb8869b41c5d2f2d" +checksum = "3e9d0e376c224afcb401809f50209b7787390041e8898684ccbd3ecac9be299d" dependencies = [ "ark-bls12-381", "ark-ec", "ark-ff", "ark-serialize", "cosmwasm-core", + "curve25519-dalek", "digest", "ecdsa", "ed25519-zebra", "k256", + "num-bigint", "num-traits", "p256", "rand_core", @@ -425,9 +419,9 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "2.1.3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029910b409398fdf81955d7301b906caf81f2c42b013ea074fbd89720229c424" +checksum = "58e3ed1b8f1b9df2a30c03b6c25177acdb15f5de0cfcd6ad708f0fbd9d9c7c91" dependencies = [ "proc-macro2", "quote", @@ -436,12 +430,13 @@ dependencies = [ [[package]] name = "cosmwasm-schema" -version = "2.1.3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bc0d4d85e83438ab9a0fea9348446f7268bc016aacfebce37e998559f151294" +checksum = "2e476f2415bf6c582d3a6743de056d6a217933b753aa4994cdb9c6a89d09a97c" dependencies = [ "cosmwasm-schema-derive", - "schemars", + "cw-schema", + "schemars 0.8.21", "serde", "serde_json", "thiserror", @@ -449,9 +444,9 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "2.1.3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf5c8adac41bb7751c050d7c4c18675be19ee128714454454575e894424eeef" +checksum = "e652d98c68f04e4f7e97b16009a94ccf550341b091213c15bbe3eb2d14139709" dependencies = [ "proc-macro2", "quote", @@ -460,9 +455,9 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "2.1.3" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51dec99a2e478715c0a4277f0dbeadbb8466500eb7dec873d0924edd086e77f1" +checksum = "c145f354e0dac3734bf62872ab8969e03bbd36b6c67e189cc7c15a8a47d19aab" dependencies = [ "base64 0.22.1", "bech32 0.11.0", @@ -470,12 +465,14 @@ dependencies = [ "cosmwasm-core", "cosmwasm-crypto", "cosmwasm-derive", + "cw-schema", "derive_more", "hex", "rand_core", - "schemars", + "rmp-serde", + "schemars 0.8.21", "serde", - "serde-json-wasm", + "serde_json", "sha2", "static_assertions", "thiserror", @@ -564,6 +561,70 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "cw-schema" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79a9a8e4486ac59db0e97a84304bc0fb869b543af8a08c53f971238a13e25079" +dependencies = [ + "cw-schema-derive", + "indexmap", + "schemars 1.0.4", + "serde", + "serde_with", + "siphasher", + "typeid", +] + +[[package]] +name = "cw-schema-derive" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31d3e652162f453ced896b72bad35fe6746ad2cf770e125f9a27f20838250111" +dependencies = [ + "heck 0.5.0", + "itertools 0.13.0", + "owo-colors", + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "darling" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn 2.0.77", +] + +[[package]] +name = "darling_macro" +version = "0.20.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.77", +] + [[package]] name = "der" version = "0.7.9" @@ -583,31 +644,20 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive_more" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a9b99b9cbbe49445b21764dc0625032a89b145a2642e67603e1c936f5458d05" +checksum = "093242cf7570c207c83073cf82f79706fe7b8317e98620a47d5be7c3d8497678" dependencies = [ "derive_more-impl", ] [[package]] name = "derive_more-impl" -version = "1.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7330aeadfbe296029522e6c40f315320aba36fc43a5b3632f3795348f3bd22" +checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", @@ -676,6 +726,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "either" version = "1.13.0" @@ -700,6 +762,26 @@ dependencies = [ "zeroize", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "env_logger" version = "0.7.1" @@ -858,17 +940,17 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.26" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" +checksum = "f3c0b69cfcb4e1b9f1bf2f53f95f766e4661169728ec61cd3fe5a0166f2d1386" dependencies = [ + "atomic-waker", "bytes", "fnv", "futures-core", "futures-sink", - "futures-util", "http", - "indexmap 2.5.0", + "indexmap", "slab", "tokio", "tokio-util", @@ -877,26 +959,20 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "hashbrown" -version = "0.13.2" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", + "allocator-api2", ] [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "ahash", "allocator-api2", ] @@ -927,6 +1003,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" + [[package]] name = "hex" version = "0.4.3" @@ -944,9 +1026,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.12" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" +checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" dependencies = [ "bytes", "fnv", @@ -955,12 +1037,24 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" +dependencies = [ + "bytes", + "http", +] + +[[package]] +name = "http-body-util" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" dependencies = [ "bytes", + "futures-core", "http", + "http-body", "pin-project-lite", ] @@ -987,13 +1081,12 @@ dependencies = [ [[package]] name = "hyper" -version = "0.14.30" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" dependencies = [ "bytes", "futures-channel", - "futures-core", "futures-util", "h2", "http", @@ -1002,35 +1095,51 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "smallvec", "tokio", - "tower-service", - "tracing", "want", ] [[package]] name = "hyper-timeout" -version = "0.4.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1" +checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" dependencies = [ "hyper", + "hyper-util", "pin-project-lite", "tokio", - "tokio-io-timeout", + "tower-service", ] [[package]] -name = "indexmap" -version = "1.9.3" +name = "hyper-util" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +checksum = "8d9b05277c7e8da2c93a568989bb6207bef0112e8d17df7a6eda4a3cf143bc5e" dependencies = [ - "autocfg", - "hashbrown 0.12.3", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "libc", + "pin-project-lite", + "socket2 0.6.0", + "tokio", + "tower-service", + "tracing", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "indexmap" version = "2.5.0" @@ -1041,6 +1150,23 @@ dependencies = [ "hashbrown 0.14.5", ] +[[package]] +name = "is-terminal" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +dependencies = [ + "hermit-abi 0.5.2", + "libc", + "windows-sys 0.59.0", +] + +[[package]] +name = "is_ci" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" + [[package]] name = "itertools" version = "0.10.5" @@ -1052,9 +1178,9 @@ dependencies = [ [[package]] name = "itertools" -version = "0.12.1" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" dependencies = [ "either", ] @@ -1079,9 +1205,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.158" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "linked-hash-map" @@ -1103,9 +1229,9 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" @@ -1161,7 +1287,7 @@ dependencies = [ "prost", "prost-types", "protobuf 3.3.0", - "schemars", + "schemars 0.8.21", "serde", "serde-cw-value", "serde-json-wasm", @@ -1202,17 +1328,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "num-integer" version = "0.1.46" @@ -1246,6 +1361,16 @@ version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +[[package]] +name = "owo-colors" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" +dependencies = [ + "supports-color 2.1.0", + "supports-color 3.0.2", +] + [[package]] name = "p256" version = "0.13.2" @@ -1277,7 +1402,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.5.0", + "indexmap", ] [[package]] @@ -1377,9 +1502,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.6" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" dependencies = [ "bytes", "prost-derive", @@ -1387,13 +1512,12 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.6" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ - "bytes", "heck 0.5.0", - "itertools 0.12.1", + "itertools 0.13.0", "log", "multimap", "once_cell", @@ -1408,12 +1532,12 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.6" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" dependencies = [ "anyhow", - "itertools 0.12.1", + "itertools 0.13.0", "proc-macro2", "quote", "syn 2.0.77", @@ -1421,9 +1545,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.6" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" dependencies = [ "prost", ] @@ -1498,7 +1622,6 @@ version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ - "libc", "rand_chacha", "rand_core", ] @@ -1542,6 +1665,26 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "ref-cast" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a0ae411dbe946a674d89546582cea4ba2bb8defac896622d6496f14c23ba5cf" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "regex" version = "1.10.6" @@ -1581,6 +1724,28 @@ dependencies = [ "subtle", ] +[[package]] +name = "rmp" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +dependencies = [ + "byteorder", + "num-traits", + "paste", +] + +[[package]] +name = "rmp-serde" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +dependencies = [ + "byteorder", + "rmp", + "serde", +] + [[package]] name = "rustc-demangle" version = "0.1.24" @@ -1602,7 +1767,7 @@ version = "0.38.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -1637,7 +1802,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" dependencies = [ "dyn-clone", - "schemars_derive", + "schemars_derive 0.8.21", + "serde", + "serde_json", +] + +[[package]] +name = "schemars" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d20c4491bc164fa2f6c5d44565947a52ad80b9505d8e36f8d54c27c739fcd0" +dependencies = [ + "dyn-clone", + "ref-cast", + "schemars_derive 1.0.4", "serde", "serde_json", ] @@ -1654,6 +1832,18 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "schemars_derive" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33d020396d1d138dc19f1165df7545479dcd58d93810dc5d646a16e55abefa80" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.77", +] + [[package]] name = "sec1" version = "0.7.3" @@ -1746,9 +1936,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.143" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "d401abef1d108fbd9cbaebc3e46611f4b1021f714a0597a71f41ee463f5f4a5a" dependencies = [ "itoa", "memchr", @@ -1765,6 +1955,29 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5" +dependencies = [ + "serde", + "serde_derive", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "3.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "sha2" version = "0.10.8" @@ -1792,6 +2005,12 @@ dependencies = [ "rand_core", ] +[[package]] +name = "siphasher" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" + [[package]] name = "slab" version = "0.4.9" @@ -1801,6 +2020,12 @@ dependencies = [ "autocfg", ] +[[package]] +name = "smallvec" +version = "1.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" + [[package]] name = "socket2" version = "0.5.7" @@ -1811,6 +2036,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "speedate" version = "0.13.0" @@ -1827,6 +2062,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "strum" version = "0.25.0" @@ -1864,6 +2105,25 @@ dependencies = [ "zeroize", ] +[[package]] +name = "supports-color" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" +dependencies = [ + "is-terminal", + "is_ci", +] + +[[package]] +name = "supports-color" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c64fc7232dd8d2e4ac5ce4ef302b1d81e0b80d055b9d77c7c4f51f6aa4c867d6" +dependencies = [ + "is_ci", +] + [[package]] name = "syn" version = "1.0.109" @@ -1888,9 +2148,9 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" [[package]] name = "tempfile" @@ -1907,16 +2167,12 @@ dependencies = [ [[package]] name = "tendermint-proto" -version = "0.34.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b797dd3d2beaaee91d2f065e7bdf239dc8d80bba4a183a288bc1279dd5a69a1e" +version = "0.40.4" +source = "git+https://github.com/permissionlessweb/tendermint-rs#1eb34ad1fa645addc624837eeef4eaa16637c695" dependencies = [ "bytes", "flex-error", - "num-derive", - "num-traits", "prost", - "prost-types", "serde", "serde_bytes", "subtle-encoding", @@ -1992,25 +2248,27 @@ dependencies = [ "libc", "mio", "pin-project-lite", - "socket2", + "socket2 0.5.7", + "tokio-macros", "windows-sys 0.52.0", ] [[package]] -name = "tokio-io-timeout" -version = "1.2.0" +name = "tokio-macros" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ - "pin-project-lite", - "tokio", + "proc-macro2", + "quote", + "syn 2.0.77", ] [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -2057,7 +2315,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.5.0", + "indexmap", "serde", "serde_spanned", "toml_datetime", @@ -2066,23 +2324,25 @@ dependencies = [ [[package]] name = "tonic" -version = "0.10.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d560933a0de61cf715926b9cac824d4c883c2c43142f787595e48280c40a1d0e" +checksum = "67ac5a8627ada0968acec063a4746bf79588aa03ccb66db2f75d7dce26722a40" dependencies = [ - "async-stream", "async-trait", "axum", - "base64 0.21.7", + "base64 0.22.1", "bytes", "h2", "http", "http-body", + "http-body-util", "hyper", "hyper-timeout", + "hyper-util", "percent-encoding", "pin-project", - "prost", + "socket2 0.6.0", + "sync_wrapper", "tokio", "tokio-stream", "tower", @@ -2093,30 +2353,28 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.10.2" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889" +checksum = "49e323d8bba3be30833707e36d046deabf10a35ae8ad3cae576943ea8933e25d" dependencies = [ "prettyplease 0.2.22", "proc-macro2", - "prost-build", "quote", "syn 2.0.77", ] [[package]] name = "tower" -version = "0.4.13" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "indexmap 1.9.3", - "pin-project", + "indexmap", "pin-project-lite", - "rand", "slab", + "sync_wrapper", "tokio", "tokio-util", "tower-layer", @@ -2188,6 +2446,12 @@ dependencies = [ "toml", ] +[[package]] +name = "typeid" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc7d623258602320d5c55d1bc22793b57daff0ec7efc270ea7d55ce1d5f5471c" + [[package]] name = "typenum" version = "1.17.0" diff --git a/Cargo.toml b/Cargo.toml index d0085da..a0a1d42 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,21 +14,22 @@ incremental = false overflow-checks = true [workspace.dependencies] -cosmwasm-std = "2.1.0" -cosmwasm-schema = { version = "2.1.0", default-features = false } -cw2 = "2.0.0" -cw-storage-plus = "2.0.0" -schemars = "0.8.15" +cosmwasm-std = { version = "3.0.1", features = [ "stargate" ] } +cosmwasm-schema = { version = "3.0.0", default-features = false } +cw2 = "3.0.0" +cw-storage-plus = "3.0.0" +schemars = "0.8.4" serde = { version = "1.0.188", default-features = false } serde-json-wasm = "1.0.0" base64 = "0.21.7" -prost = "0.12.3" -prost-types = "0.12.1" -cosmos-sdk-proto = { version = "0.20.0", default-features = false } +prost = "0.14.1" +prost-types = "0.14.1" bech32 = "0.9.1" thiserror = "1.0.49" protobuf = "~3.3.0" hex = "0.4.3" serde_json = { version = "1.0.87" } -tendermint-proto = "0.34.1" speedate = "0.13.0" + +cosmos-sdk-proto = { version = "0.28.0",git = "https://github.com/permissionlessweb/cosmos-rust", default-features = false } +tendermint-proto = { version = "0.40.4",git = "https://github.com/permissionlessweb/tendermint-rs", default-features = false } diff --git a/packages/neutron-std-derive/src/lib.rs b/packages/neutron-std-derive/src/lib.rs index d00d5a0..cfc27f9 100644 --- a/packages/neutron-std-derive/src/lib.rs +++ b/packages/neutron-std-derive/src/lib.rs @@ -63,7 +63,7 @@ pub fn derive_cosmwasm_ext(input: TokenStream) -> TokenStream { .as_slice(), ); match resp { - Err(e) => Err(cosmwasm_std::StdError::generic_err(format!( + Err(e) => Err(cosmwasm_std::StdError::msg(format!( "Can't decode item: {}", e ))), @@ -126,15 +126,14 @@ pub fn derive_cosmwasm_ext(input: TokenStream) -> TokenStream { fn try_from(binary: cosmwasm_std::Binary) -> ::std::result::Result { use ::prost::Message; Self::decode(&binary[..]).map_err(|e| { - cosmwasm_std::StdError::parse_err( + cosmwasm_std::StdError::msg( + format!("Unable to decode {}: base64: {}, bytes array: {:?}, error: {:?}", stringify!(#ident), - format!( - "Unable to decode binary: \n - base64: {}\n - bytes array: {:?}\n\n{:?}", - binary, - binary.to_vec(), - e - ) + binary, + binary.to_vec(), + e ) + ) }) } } @@ -145,9 +144,9 @@ pub fn derive_cosmwasm_ext(input: TokenStream) -> TokenStream { fn try_from(result: cosmwasm_std::SubMsgResult) -> ::std::result::Result { result .into_result() - .map_err(|e| cosmwasm_std::StdError::generic_err(e))? + .map_err(|e| cosmwasm_std::StdError::msg(e))? .data - .ok_or_else(|| cosmwasm_std::StdError::not_found("cosmwasm_std::SubMsgResult::"))? + .ok_or_else(|| cosmwasm_std::StdError::msg("cosmwasm_std::SubMsgResult::"))? .try_into() } } diff --git a/packages/neutron-std/src/shim.rs b/packages/neutron-std/src/shim.rs index 0599e48..120b338 100644 --- a/packages/neutron-std/src/shim.rs +++ b/packages/neutron-std/src/shim.rs @@ -350,7 +350,7 @@ pub fn cosmwasm_to_proto_coins( #[cfg(test)] mod tests { - use cosmwasm_std::Uint128; + use cosmwasm_std::Uint256; use super::*; @@ -359,11 +359,11 @@ mod tests { let coins = vec![ cosmwasm_std::Coin { denom: "uatom".to_string(), - amount: Uint128::new(100), + amount: Uint256::new(100), }, cosmwasm_std::Coin { denom: "uosmo".to_string(), - amount: Uint128::new(200), + amount: Uint256::new(200), }, ]; diff --git a/packages/neutron-std/src/types/NEUTRON_COMMIT b/packages/neutron-std/src/types/NEUTRON_COMMIT index f040fff..76bfc4a 100644 --- a/packages/neutron-std/src/types/NEUTRON_COMMIT +++ b/packages/neutron-std/src/types/NEUTRON_COMMIT @@ -1 +1 @@ -09082cfc7a07a22218494277d68f30b7dd884a58 \ No newline at end of file +v8.0.0-rc0 \ No newline at end of file diff --git a/packages/neutron-std/src/types/cosmwasm/wasm/v1.rs b/packages/neutron-std/src/types/cosmwasm/wasm/v1.rs index c7a6f20..9984dc5 100644 --- a/packages/neutron-std/src/types/cosmwasm/wasm/v1.rs +++ b/packages/neutron-std/src/types/cosmwasm/wasm/v1.rs @@ -1212,7 +1212,7 @@ pub struct MsgStoreAndInstantiateContract { /// Admin is an optional address that can execute migrations #[prost(string, tag = "6")] pub admin: ::prost::alloc::string::String, - /// Label is optional metadata to be stored with a constract instance. + /// Label is optional metadata to be stored with a contract instance. #[prost(string, tag = "7")] pub label: ::prost::alloc::string::String, /// Msg json encoded message to be passed to the contract on instantiation @@ -1805,7 +1805,7 @@ pub struct InstantiateContractProposal { deserialize_with = "crate::serde::as_str::deserialize" )] pub code_id: u64, - /// Label is optional metadata to be stored with a constract instance. + /// Label is optional metadata to be stored with a contract instance. #[prost(string, tag = "6")] pub label: ::prost::alloc::string::String, /// Msg json encoded message to be passed to the contract on instantiation @@ -1843,7 +1843,7 @@ pub struct InstantiateContract2Proposal { /// Description is a human readable text #[prost(string, tag = "2")] pub description: ::prost::alloc::string::String, - /// RunAs is the address that is passed to the contract's enviroment as sender + /// RunAs is the address that is passed to the contract's environment as sender #[prost(string, tag = "3")] pub run_as: ::prost::alloc::string::String, /// Admin is an optional address that can execute migrations @@ -1857,7 +1857,7 @@ pub struct InstantiateContract2Proposal { deserialize_with = "crate::serde::as_str::deserialize" )] pub code_id: u64, - /// Label is optional metadata to be stored with a constract instance. + /// Label is optional metadata to be stored with a contract instance. #[prost(string, tag = "6")] pub label: ::prost::alloc::string::String, /// Msg json encode message to be passed to the contract on instantiation @@ -2227,7 +2227,7 @@ pub struct StoreAndInstantiateContractProposal { /// Admin is an optional address that can execute migrations #[prost(string, tag = "7")] pub admin: ::prost::alloc::string::String, - /// Label is optional metadata to be stored with a constract instance. + /// Label is optional metadata to be stored with a contract instance. #[prost(string, tag = "8")] pub label: ::prost::alloc::string::String, /// Msg json encoded message to be passed to the contract on instantiation @@ -2368,7 +2368,7 @@ pub struct QueryContractHistoryResponse { response_type = QueryContractsByCodeResponse )] pub struct QueryContractsByCodeRequest { - /// grpc-gateway_out does not support Go style CodID + /// grpc-gateway_out does not support Go style CodeID #[prost(uint64, tag = "1")] #[serde(alias = "codeID")] #[serde( @@ -2573,7 +2573,56 @@ pub struct QuerySmartContractStateResponse { #[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodeRequest")] #[proto_query(path = "/cosmwasm.wasm.v1.Query/Code", response_type = QueryCodeResponse)] pub struct QueryCodeRequest { - /// grpc-gateway_out does not support Go style CodID + /// grpc-gateway_out does not support Go style CodeID + #[prost(uint64, tag = "1")] + #[serde(alias = "codeID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, +} +/// QueryCodeInfoRequest is the request type for the Query/CodeInfo RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodeInfoRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/CodeInfo", + response_type = QueryCodeInfoResponse +)] +pub struct QueryCodeInfoRequest { + /// grpc-gateway_out does not support Go style CodeID + #[prost(uint64, tag = "1")] + #[serde(alias = "codeID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, +} +/// QueryCodeInfoResponse is the response type for the Query/CodeInfo RPC method +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryCodeInfoResponse")] +pub struct QueryCodeInfoResponse { #[prost(uint64, tag = "1")] #[serde(alias = "codeID")] #[serde( @@ -2581,6 +2630,16 @@ pub struct QueryCodeRequest { deserialize_with = "crate::serde::as_str::deserialize" )] pub code_id: u64, + #[prost(string, tag = "2")] + pub creator: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "3")] + #[serde( + serialize_with = "crate::serde::as_base64_encoded_string::serialize", + deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" + )] + pub checksum: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub instantiate_permission: ::core::option::Option, } /// CodeInfoResponse contains code meta data from CodeInfo #[allow(clippy::derive_partial_eq_without_eq)] @@ -2819,6 +2878,44 @@ pub struct QueryContractsByCreatorResponse { pub pagination: ::core::option::Option, } +/// QueryWasmLimitsConfigRequest is the request type for the +/// Query/WasmLimitsConfig RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryWasmLimitsConfigRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/WasmLimitsConfig", + response_type = QueryWasmLimitsConfigResponse +)] +pub struct QueryWasmLimitsConfigRequest {} +/// QueryWasmLimitsConfigResponse is the response type for the +/// Query/WasmLimitsConfig RPC method. It contains the JSON encoded limits for +/// static validation of Wasm files. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmwasm.wasm.v1.QueryWasmLimitsConfigResponse")] +pub struct QueryWasmLimitsConfigResponse { + #[prost(string, tag = "1")] + pub config: ::prost::alloc::string::String, +} /// QueryBuildAddressRequest is the request type for the Query/BuildAddress RPC /// method. #[allow(clippy::derive_partial_eq_without_eq)] @@ -2960,6 +3057,9 @@ impl<'a, Q: cosmwasm_std::CustomQuery> WasmQuerier<'a, Q> { ) -> Result { QueryCodesRequest { pagination }.query(self.querier) } + pub fn code_info(&self, code_id: u64) -> Result { + QueryCodeInfoRequest { code_id }.query(self.querier) + } pub fn pinned_codes( &self, pagination: ::core::option::Option< @@ -2984,6 +3084,11 @@ impl<'a, Q: cosmwasm_std::CustomQuery> WasmQuerier<'a, Q> { } .query(self.querier) } + pub fn wasm_limits_config( + &self, + ) -> Result { + QueryWasmLimitsConfigRequest {}.query(self.querier) + } pub fn build_address( &self, code_hash: ::prost::alloc::string::String, diff --git a/packages/neutron-std/src/types/interchain_security/ccv/consumer/mod.rs b/packages/neutron-std/src/types/interchain_security/ccv/consumer/mod.rs deleted file mode 100644 index a3a6d96..0000000 --- a/packages/neutron-std/src/types/interchain_security/ccv/consumer/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod v1; diff --git a/packages/neutron-std/src/types/interchain_security/ccv/consumer/v1.rs b/packages/neutron-std/src/types/interchain_security/ccv/consumer/v1.rs deleted file mode 100644 index 4d914d9..0000000 --- a/packages/neutron-std/src/types/interchain_security/ccv/consumer/v1.rs +++ /dev/null @@ -1,524 +0,0 @@ -use neutron_std_derive::CosmwasmExt; -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.CrossChainValidator")] -pub struct CrossChainValidator { - #[prost(bytes = "vec", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub address: ::prost::alloc::vec::Vec, - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, - /// !!! DEPRECATED !!! opted_out is deprecated because after the introduction of Partial Set Security (PSS) - /// we removed the soft opt-out feature. - #[deprecated] - #[prost(bool, tag = "4")] - pub opted_out: bool, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.SlashRecord")] -pub struct SlashRecord { - #[prost(bool, tag = "1")] - pub waiting_on_reply: bool, - #[prost(message, optional, tag = "2")] - pub send_time: ::core::option::Option, -} -/// GenesisState defines the CCV consumer genesis state -/// -/// Note: this type is only used on consumer side and references shared types with -/// provider -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.GenesisState")] -pub struct GenesisState { - /// ConsumerParams is a shared type with provider module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// Client ID of the provider. Empty for a new chain, filled in on restart. - #[prost(string, tag = "2")] - #[serde(alias = "provider_clientID")] - pub provider_client_id: ::prost::alloc::string::String, - /// Channel ID of the provider. Empty for a new chain, filled in on restart. - #[prost(string, tag = "3")] - #[serde(alias = "provider_channelID")] - pub provider_channel_id: ::prost::alloc::string::String, - /// true for new chain, false for chain restart. - #[prost(bool, tag = "4")] - pub new_chain: bool, - /// !!! DEPRECATED !!! ProviderClientState is deprecated. Use provider.client_state instead - #[deprecated] - #[prost(message, optional, tag = "5")] - pub provider_client_state: ::core::option::Option< - super::super::super::super::ibc::lightclients::tendermint::v1::ClientState, - >, - /// !!! DEPRECATED !!! ProviderConsensusState is deprecated. Use provider.consensus_state instead - #[deprecated] - #[prost(message, optional, tag = "6")] - pub provider_consensus_state: ::core::option::Option< - super::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, - /// !!! DEPRECATED !!!! InitialValset is deprecated. Use provider.initial_val_set instead - #[deprecated] - #[prost(message, repeated, tag = "8")] - pub initial_val_set: - ::prost::alloc::vec::Vec, - /// HeightToValsetUpdateId nil on new chain, filled in on restart. - #[prost(message, repeated, tag = "9")] - #[serde(alias = "height_to_valset_updateID")] - 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, - /// flag indicating whether the consumer CCV module starts in pre-CCV state - #[prost(bool, tag = "13")] - pub pre_ccv: bool, - #[prost(message, optional, tag = "14")] - pub provider: ::core::option::Option, -} -/// HeightValsetUpdateID represents a mapping internal to the consumer CCV module -/// which links a block height to each recv valset update id. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.HeightToValsetUpdateID")] -pub struct HeightToValsetUpdateId { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub height: u64, - #[prost(uint64, tag = "2")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub valset_update_id: u64, -} -/// OutstandingDowntime defines the type used internally to the consumer CCV -/// module and is used in order to not send multiple slashing requests for -/// the same downtime infraction. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.OutstandingDowntime")] -pub struct OutstandingDowntime { - #[prost(string, tag = "1")] - pub validator_consensus_address: ::prost::alloc::string::String, -} -/// LastTransmissionBlockHeight is the last time validator holding -/// pools were transmitted to the provider chain. This type is used internally -/// to the consumer CCV module. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.LastTransmissionBlockHeight")] -pub struct LastTransmissionBlockHeight { - #[prost(int64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub height: i64, -} -/// 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. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.MaturingVSCPacket")] -pub struct MaturingVscPacket { - #[prost(uint64, tag = "1")] - #[serde(alias = "vscID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub vsc_id: u64, - #[prost(message, optional, tag = "2")] - pub maturity_time: ::core::option::Option, -} -/// ConsumerPacketDataList is a list of consumer packet data packets. -/// -/// Note this type is used internally to the consumer CCV module -/// for exporting / importing state in InitGenesis and ExportGenesis. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.ConsumerPacketDataList")] -pub struct ConsumerPacketDataList { - #[prost(message, repeated, tag = "1")] - pub list: ::prost::alloc::vec::Vec, -} -/// NextFeeDistributionEstimate holds information about next fee distribution -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.NextFeeDistributionEstimate")] -pub struct NextFeeDistributionEstimate { - /// current block height at the time of querying - #[prost(int64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub current_height: i64, - /// block height at which last distribution took place - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub last_height: i64, - /// block height at which next distribution will take place - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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 distributed 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, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.consumer.v1.QueryNextFeeDistributionEstimateRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.consumer.v1.Query/QueryNextFeeDistribution", - response_type = QueryNextFeeDistributionEstimateResponse -)] -pub struct QueryNextFeeDistributionEstimateRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.consumer.v1.QueryNextFeeDistributionEstimateResponse" -)] -pub struct QueryNextFeeDistributionEstimateResponse { - #[prost(message, optional, tag = "1")] - pub data: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.QueryParamsRequest")] -#[proto_query( - path = "/interchain_security.ccv.consumer.v1.Query/QueryParams", - response_type = QueryParamsResponse -)] -pub struct QueryParamsRequest {} -/// QueryParamsResponse is response type for the Query/Params RPC method. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.QueryParamsResponse")] -pub struct QueryParamsResponse { - /// params holds all the parameters of this module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.QueryProviderInfoRequest")] -#[proto_query( - path = "/interchain_security.ccv.consumer.v1.Query/QueryProviderInfo", - response_type = QueryProviderInfoResponse -)] -pub struct QueryProviderInfoRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.QueryProviderInfoResponse")] -pub struct QueryProviderInfoResponse { - #[prost(message, optional, tag = "1")] - pub consumer: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub provider: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.QueryThrottleStateRequest")] -#[proto_query( - path = "/interchain_security.ccv.consumer.v1.Query/QueryThrottleState", - response_type = QueryThrottleStateResponse -)] -pub struct QueryThrottleStateRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.QueryThrottleStateResponse")] -pub struct QueryThrottleStateResponse { - #[prost(message, optional, tag = "1")] - pub slash_record: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub packet_data_queue: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.ChainInfo")] -pub struct ChainInfo { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - #[serde(alias = "clientID")] - pub client_id: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - #[serde(alias = "connectionID")] - pub connection_id: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - #[serde(alias = "channelID")] - pub channel_id: ::prost::alloc::string::String, -} -/// MsgUpdateParams is the Msg/UpdateParams request type -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.MsgUpdateParams")] -pub struct MsgUpdateParams { - /// signer is the address of the governance account. - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// params defines the x/provider parameters to update. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.consumer.v1.MsgUpdateParamsResponse")] -pub struct MsgUpdateParamsResponse {} -pub struct ConsumerQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> ConsumerQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn query_next_fee_distribution( - &self, - ) -> Result { - QueryNextFeeDistributionEstimateRequest {}.query(self.querier) - } - pub fn query_params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } - pub fn query_provider_info(&self) -> Result { - QueryProviderInfoRequest {}.query(self.querier) - } - pub fn query_throttle_state( - &self, - ) -> Result { - QueryThrottleStateRequest {}.query(self.querier) - } -} diff --git a/packages/neutron-std/src/types/interchain_security/ccv/mod.rs b/packages/neutron-std/src/types/interchain_security/ccv/mod.rs deleted file mode 100644 index 21712ca..0000000 --- a/packages/neutron-std/src/types/interchain_security/ccv/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod consumer; -pub mod provider; -pub mod v1; diff --git a/packages/neutron-std/src/types/interchain_security/ccv/provider/mod.rs b/packages/neutron-std/src/types/interchain_security/ccv/provider/mod.rs deleted file mode 100644 index a3a6d96..0000000 --- a/packages/neutron-std/src/types/interchain_security/ccv/provider/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod v1; diff --git a/packages/neutron-std/src/types/interchain_security/ccv/provider/v1.rs b/packages/neutron-std/src/types/interchain_security/ccv/provider/v1.rs deleted file mode 100644 index a60e8a0..0000000 --- a/packages/neutron-std/src/types/interchain_security/ccv/provider/v1.rs +++ /dev/null @@ -1,2454 +0,0 @@ -use neutron_std_derive::CosmwasmExt; -/// 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. -/// Use MsgConsumerAddition to submit this proposal type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerAdditionProposal")] -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")] - #[serde(alias = "chainID")] - 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, - /// 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")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - 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")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - 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, - /// 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, - /// Sent CCV related IBC packets will timeout after this duration - #[prost(message, optional, tag = "9")] - pub ccv_timeout_period: ::core::option::Option, - /// Sent transfer related IBC packets will timeout after this duration - #[prost(message, optional, tag = "10")] - pub transfer_timeout_period: ::core::option::Option, - /// 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")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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 maintain the existing ibc transfer channel - #[prost(string, tag = "14")] - pub distribution_transmission_channel: ::prost::alloc::string::String, - /// Corresponds to the percentage of validators that have to validate the chain under the Top N case. - /// For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power - /// have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100]. - /// A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain. - #[prost(uint32, tag = "15")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub top_n: u32, - /// Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if - /// `validators_power_cap` is set to 32, it means that no validator can have more than 32% of the voting power on the - /// consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only - /// 5 validators and with `validators_power_cap` set to 10%. In such a scenario, at least one validator would need - /// to have more than 20% of the total voting power. Therefore, `validators_power_cap` operates on a best-effort basis. - #[prost(uint32, tag = "16")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validators_power_cap: u32, - /// Corresponds to the maximum number of validators that can validate a consumer chain. - /// Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op. - #[prost(uint32, tag = "17")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validator_set_cap: u32, - /// Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate - /// the consumer chain. - #[prost(string, repeated, tag = "18")] - pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain. - #[prost(string, repeated, tag = "19")] - pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// 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. -/// Use MsgConsumerRemoval to submit this proposal type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerRemovalProposal")] -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")] - #[serde(alias = "chainID")] - 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, -} -/// ConsumerModificationProposal is a governance proposal on the provider chain to modify parameters of a running -/// consumer chain. If it passes, the consumer chain's state is updated to take into account the newest params. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerModificationProposal")] -pub struct ConsumerModificationProposal { - /// 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 modified - #[prost(string, tag = "3")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - /// Corresponds to the percentage of validators that have to validate the chain under the Top N case. - /// For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power - /// have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100]. - /// A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain. - #[prost(uint32, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub top_n: u32, - /// Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if - /// `validators_power_cap` is set to 32, it means that no validator can have more than 32% of the voting power on the - /// consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only - /// 5 validators and with `validators_power_cap` set to 10%. In such a scenario, at least one validator would need - /// to have more than 20% of the total voting power. Therefore, `validators_power_cap` operates on a best-effort basis. - #[prost(uint32, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validators_power_cap: u32, - /// Corresponds to the maximum number of validators that can validate a consumer chain. - /// Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op. - #[prost(uint32, tag = "6")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validator_set_cap: u32, - /// Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate - /// the consumer chain. - #[prost(string, repeated, tag = "7")] - pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain. - #[prost(string, repeated, tag = "8")] - pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// EquivocationProposal is a governance proposal on the provider chain to -/// punish a validator for equivocation on a consumer chain. -/// -/// This type is only used internally to the consumer CCV module. -/// WARNING: This message is deprecated now that equivocations can be submitted -/// and verified automatically on the provider. (see SubmitConsumerDoubleVoting in proto/interchain-security/ccv/provider/v1/tx.proto). -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.EquivocationProposal")] -#[deprecated] -pub struct EquivocationProposal { - /// 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 equivocations that will be processed - #[prost(message, repeated, tag = "3")] - pub equivocations: ::prost::alloc::vec::Vec< - super::super::super::super::cosmos::evidence::v1beta1::Equivocation, - >, -} -/// ChangeRewardDenomsProposal is a governance proposal on the provider chain to -/// mutate the set of denoms accepted by the provider as rewards. -/// Use MsgChangeRewardDenoms to submit this proposal type. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ChangeRewardDenomsProposal")] -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>, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.GlobalSlashEntry")] -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, - /// The consumer that sent a slash packet. - #[prost(string, tag = "2")] - #[serde(alias = "consumer_chainID")] - 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")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub provider_val_cons_addr: ::prost::alloc::vec::Vec, -} -/// Params defines the parameters for CCV Provider module -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.Params")] -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, - /// The channel initialization (IBC channel opening handshake) will timeout - /// after this duration - #[prost(message, optional, tag = "4")] - pub init_timeout_period: ::core::option::Option, - /// 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, - /// The period for which the slash meter is replenished - #[prost(message, optional, tag = "6")] - pub slash_meter_replenish_period: ::core::option::Option, - /// 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 fee required to be paid to add a reward denom - #[prost(message, optional, tag = "9")] - pub consumer_reward_denom_registration_fee: - ::core::option::Option, - /// The number of blocks that comprise an epoch. - #[prost(int64, tag = "10")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub blocks_per_epoch: i64, - /// The number of epochs a validator has to validate a consumer chain in order to start receiving rewards from that chain. - #[prost(int64, tag = "11")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub number_of_epochs_to_start_receiving_rewards: i64, -} -/// SlashAcks contains cons addresses of consumer chain validators -/// successfully slashed on the provider chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.SlashAcks")] -pub struct SlashAcks { - #[prost(string, repeated, tag = "1")] - pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// ConsumerAdditionProposals holds pending governance proposals on the provider -/// chain to spawn a new chain. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerAdditionProposals")] -pub struct ConsumerAdditionProposals { - /// proposals waiting for spawn_time to pass - #[prost(message, repeated, tag = "1")] - pub pending: ::prost::alloc::vec::Vec, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerRemovalProposals")] -pub struct ConsumerRemovalProposals { - /// proposals waiting for stop_time to pass - #[prost(message, repeated, tag = "1")] - pub pending: ::prost::alloc::vec::Vec, -} -/// AddressList contains a list of consensus addresses -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.AddressList")] -pub struct AddressList { - #[prost(bytes = "vec", repeated, tag = "1")] - pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -/// ChannelToChain is used to map a CCV channel ID to the consumer chainID -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ChannelToChain")] -pub struct ChannelToChain { - #[prost(string, tag = "1")] - #[serde(alias = "channelID")] - pub channel_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.VscUnbondingOps")] -pub struct VscUnbondingOps { - #[prost(uint64, tag = "1")] - #[serde(alias = "vscID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub vsc_id: u64, - #[prost(uint64, repeated, tag = "2")] - #[serde(alias = "unbonding_opIDs")] - #[serde( - serialize_with = "crate::serde::as_str_vec::serialize", - deserialize_with = "crate::serde::as_str_vec::deserialize" - )] - pub unbonding_op_ids: ::prost::alloc::vec::Vec, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.UnbondingOp")] -pub struct UnbondingOp { - #[prost(uint64, tag = "1")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.InitTimeoutTimestamp")] -pub struct InitTimeoutTimestamp { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub timestamp: u64, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.VscSendTimestamp")] -pub struct VscSendTimestamp { - #[prost(uint64, tag = "1")] - #[serde(alias = "vscID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub vsc_id: u64, - #[prost(message, optional, tag = "2")] - pub timestamp: ::core::option::Option, -} -/// ValidatorSetChangePackets is a pb list of ccv.ValidatorSetChangePacketData. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ValidatorSetChangePackets")] -pub struct ValidatorSetChangePackets { - #[prost(message, repeated, tag = "1")] - pub list: ::prost::alloc::vec::Vec, -} -/// MaturedUnbondingOps defines a list of ids corresponding to ids of matured -/// unbonding operations. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MaturedUnbondingOps")] -pub struct MaturedUnbondingOps { - #[prost(uint64, repeated, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str_vec::serialize", - deserialize_with = "crate::serde::as_str_vec::deserialize" - )] - pub ids: ::prost::alloc::vec::Vec, -} -/// ExportedVscSendTimestamps is VscSendTimestamp with chainID info for exporting to genesis -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ExportedVscSendTimestamp")] -pub struct ExportedVscSendTimestamp { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub vsc_send_timestamps: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.KeyAssignmentReplacement")] -pub struct KeyAssignmentReplacement { - #[prost(bytes = "vec", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub provider_addr: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "2")] - pub prev_c_key: - ::core::option::Option, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub power: i64, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ValidatorConsumerPubKey")] -pub struct ValidatorConsumerPubKey { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "2")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub provider_addr: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub consumer_key: - ::core::option::Option, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ValidatorByConsumerAddr")] -pub struct ValidatorByConsumerAddr { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(bytes = "vec", tag = "2")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub consumer_addr: ::prost::alloc::vec::Vec, - #[prost(bytes = "vec", tag = "3")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub provider_addr: ::prost::alloc::vec::Vec, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerAddrsToPrune")] -pub struct ConsumerAddrsToPrune { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde(alias = "vscID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub vsc_id: u64, - #[prost(message, optional, tag = "3")] - pub consumer_addrs: ::core::option::Option, -} -/// ConsumerValidator is used to facilitate epoch-based transitions. It contains relevant info for -/// a validator that is expected to validate on a consumer chain during an epoch. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerValidator")] -pub struct ConsumerValidator { - /// validator's consensus address on the provider chain - #[prost(bytes = "vec", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - pub provider_cons_addr: ::prost::alloc::vec::Vec, - /// voting power the validator has during this epoch - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub power: i64, - /// public key the validator uses on the consumer chain during this epoch - #[prost(message, optional, tag = "3")] - pub consumer_public_key: - ::core::option::Option, - /// height the validator had when it FIRST became a consumer validator - /// If a validator becomes a consumer validator at height `H` and is continuously a consumer validator for all the upcoming - /// epochs, then the height of the validator SHOULD remain `H`. This height only resets to a different height if a validator - /// stops being a consumer validator during an epoch and later becomes again a consumer validator. - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub join_height: i64, -} -/// ConsumerRewardsAllocation stores the rewards allocated by a consumer chain -/// to the consumer rewards pool. It is used to allocate the tokens to the consumer -/// opted-in validators and the community pool during BeginBlock. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerRewardsAllocation")] -pub struct ConsumerRewardsAllocation { - #[prost(message, repeated, tag = "1")] - pub rewards: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the CCV provider chain genesis state -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.GenesisState")] -pub struct GenesisState { - /// strictly positive and set to 1 (DefaultValsetUpdateID) for a new chain - #[prost(uint64, tag = "1")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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")] - #[serde(alias = "valset_updateID_to_height")] - 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, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ConsumerState")] -pub struct ConsumerState { - /// ChainID defines the chain ID for the consumer chain - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - /// ChannelID defines the IBC channel ID for the consumer chain - #[prost(string, tag = "2")] - #[serde(alias = "channelID")] - pub channel_id: ::prost::alloc::string::String, - /// ClientID defines the IBC client ID for the consumer chain - #[prost(string, tag = "3")] - #[serde(alias = "clientID")] - pub client_id: ::prost::alloc::string::String, - /// InitalHeight defines the initial block height for the consumer chain - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, - #[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, -} -/// ValsetUpdateIdToHeight defines the genesis information for the mapping -/// of each valset update id to a block height -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ValsetUpdateIdToHeight")] -pub struct ValsetUpdateIdToHeight { - #[prost(uint64, tag = "1")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub valset_update_id: u64, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub height: u64, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerGenesisRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerGenesis", - response_type = QueryConsumerGenesisResponse -)] -pub struct QueryConsumerGenesisRequest { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerGenesisResponse")] -pub struct QueryConsumerGenesisResponse { - #[prost(message, optional, tag = "1")] - pub genesis_state: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainsRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerChains", - response_type = QueryConsumerChainsResponse -)] -pub struct QueryConsumerChainsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainsResponse")] -pub struct QueryConsumerChainsResponse { - #[prost(message, repeated, tag = "1")] - pub chains: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainStartProposalsRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStarts", - response_type = QueryConsumerChainStartProposalsResponse -)] -pub struct QueryConsumerChainStartProposalsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainStartProposalsResponse" -)] -pub struct QueryConsumerChainStartProposalsResponse { - #[prost(message, optional, tag = "1")] - pub proposals: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainStopProposalsRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainStops", - response_type = QueryConsumerChainStopProposalsResponse -)] -pub struct QueryConsumerChainStopProposalsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainStopProposalsResponse" -)] -pub struct QueryConsumerChainStopProposalsResponse { - #[prost(message, optional, tag = "1")] - pub proposals: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.Chain")] -pub struct Chain { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - #[serde(alias = "clientID")] - pub client_id: ::prost::alloc::string::String, - /// If chain with `chainID` is a Top-N chain, i.e., enforces at least one validator to validate chain `chainID` - #[prost(uint32, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub top_n: u32, - /// If the chain is a Top-N chain, this is the minimum power required to be in the top N. - /// Otherwise, this is -1. - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub min_power_in_top_n: i64, - /// Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. - #[prost(uint32, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validators_power_cap: u32, - /// Corresponds to the maximum number of validators that can validate a consumer chain. - /// Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op. - #[prost(uint32, tag = "6")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validator_set_cap: u32, - /// Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate - /// the consumer chain. - #[prost(string, repeated, tag = "7")] - pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain. - #[prost(string, repeated, tag = "8")] - pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryValidatorConsumerAddrRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerAddr", - response_type = QueryValidatorConsumerAddrResponse -)] -pub struct QueryValidatorConsumerAddrRequest { - /// The id of the consumer chain - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - 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, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryValidatorConsumerAddrResponse" -)] -pub struct QueryValidatorConsumerAddrResponse { - /// The address of the validator on the consumer chain - #[prost(string, tag = "1")] - pub consumer_address: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryValidatorProviderAddrRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryValidatorProviderAddr", - response_type = QueryValidatorProviderAddrResponse -)] -pub struct QueryValidatorProviderAddrRequest { - /// The id of the provider chain - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - 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, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryValidatorProviderAddrResponse" -)] -pub struct QueryValidatorProviderAddrResponse { - /// The address of the validator on the provider chain - #[prost(string, tag = "1")] - pub provider_address: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryThrottleStateRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryThrottleState", - response_type = QueryThrottleStateResponse -)] -pub struct QueryThrottleStateRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryThrottleStateResponse")] -pub struct QueryThrottleStateResponse { - /// current slash_meter state - #[prost(int64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryRegisteredConsumerRewardDenomsRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryRegisteredConsumerRewardDenoms", - response_type = QueryRegisteredConsumerRewardDenomsResponse -)] -pub struct QueryRegisteredConsumerRewardDenomsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryRegisteredConsumerRewardDenomsResponse" -)] -pub struct QueryRegisteredConsumerRewardDenomsResponse { - #[prost(string, repeated, tag = "1")] - pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryProposedChainIDsRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryProposedConsumerChainIDs", - response_type = QueryProposedChainIDsResponse -)] -pub struct QueryProposedChainIDsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryProposedChainIDsResponse")] -pub struct QueryProposedChainIDsResponse { - #[prost(message, repeated, tag = "1")] - pub proposed_chains: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.ProposedChain")] -pub struct ProposedChain { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde(alias = "proposalID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub proposal_id: u64, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryAllPairsValConAddrByConsumerChainIDRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryAllPairsValConAddrByConsumerChainID", - response_type = QueryAllPairsValConAddrByConsumerChainIdResponse -)] -pub struct QueryAllPairsValConAddrByConsumerChainIdRequest { - /// The id of the consumer chain - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryAllPairsValConAddrByConsumerChainIDResponse" -)] -pub struct QueryAllPairsValConAddrByConsumerChainIdResponse { - #[prost(message, repeated, tag = "1")] - pub pair_val_con_addr: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.PairValConAddrProviderAndConsumer" -)] -pub struct PairValConAddrProviderAndConsumer { - /// The consensus address of the validator on the provider chain - #[prost(string, tag = "1")] - pub provider_address: ::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, - #[prost(message, optional, tag = "3")] - pub consumer_key: - ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryParamsRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryParams", - response_type = QueryParamsResponse -)] -pub struct QueryParamsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryParamsResponse")] -pub struct QueryParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainOptedInValidatorsRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainOptedInValidators", - response_type = QueryConsumerChainOptedInValidatorsResponse -)] -pub struct QueryConsumerChainOptedInValidatorsRequest { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainOptedInValidatorsResponse" -)] -pub struct QueryConsumerChainOptedInValidatorsResponse { - /// The consensus addresses of the validators on the provider chain - #[prost(string, repeated, tag = "1")] - pub validators_provider_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerValidatorsRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerValidators", - response_type = QueryConsumerValidatorsResponse -)] -pub struct QueryConsumerValidatorsRequest { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerValidatorsValidator")] -pub struct QueryConsumerValidatorsValidator { - /// The consensus address of the validator on the provider chain - #[prost(string, tag = "1")] - pub provider_address: ::prost::alloc::string::String, - /// The consumer public key of the validator used on the consumer chain - #[prost(message, optional, tag = "2")] - pub consumer_key: - ::core::option::Option, - /// The power of the validator used on the consumer chain - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub power: i64, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryConsumerValidatorsResponse")] -pub struct QueryConsumerValidatorsResponse { - #[prost(message, repeated, tag = "1")] - pub validators: ::prost::alloc::vec::Vec, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainsValidatorHasToValidateRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryConsumerChainsValidatorHasToValidate", - response_type = QueryConsumerChainsValidatorHasToValidateResponse -)] -pub struct QueryConsumerChainsValidatorHasToValidateRequest { - /// The consensus address of the validator on the provider chain - #[prost(string, tag = "1")] - pub provider_address: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryConsumerChainsValidatorHasToValidateResponse" -)] -pub struct QueryConsumerChainsValidatorHasToValidateResponse { - #[prost(string, repeated, tag = "1")] - #[serde(alias = "consumer_chainIDs")] - pub consumer_chain_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryValidatorConsumerCommissionRateRequest" -)] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryValidatorConsumerCommissionRate", - response_type = QueryValidatorConsumerCommissionRateResponse -)] -pub struct QueryValidatorConsumerCommissionRateRequest { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - 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, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryValidatorConsumerCommissionRateResponse" -)] -pub struct QueryValidatorConsumerCommissionRateResponse { - /// The rate to charge delegators on the consumer chain, as a fraction - #[prost(string, tag = "1")] - pub rate: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.QueryOldestUnconfirmedVscRequest")] -#[proto_query( - path = "/interchain_security.ccv.provider.v1.Query/QueryOldestUnconfirmedVsc", - response_type = QueryOldestUnconfirmedVscResponse -)] -pub struct QueryOldestUnconfirmedVscRequest { - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.QueryOldestUnconfirmedVscResponse" -)] -pub struct QueryOldestUnconfirmedVscResponse { - #[prost(message, optional, tag = "1")] - pub vsc_send_timestamp: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgAssignConsumerKey")] -pub struct MsgAssignConsumerKey { - /// The chain id of the consumer chain to assign a consensus public key to - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - 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, - /// Tx signer address - #[prost(string, tag = "4")] - pub signer: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgAssignConsumerKeyResponse")] -pub struct MsgAssignConsumerKeyResponse {} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgSubmitConsumerMisbehaviour")] -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, - >, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.MsgSubmitConsumerMisbehaviourResponse" -)] -pub struct MsgSubmitConsumerMisbehaviourResponse {} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgSubmitConsumerDoubleVoting")] -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< - super::super::super::super::tendermint::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, - >, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.MsgSubmitConsumerDoubleVotingResponse" -)] -pub struct MsgSubmitConsumerDoubleVotingResponse {} -/// MsgUpdateParams is the Msg/UpdateParams request type -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgUpdateParams")] -pub struct MsgUpdateParams { - /// signer is the address of the governance account. - #[prost(string, tag = "1")] - pub authority: ::prost::alloc::string::String, - /// params defines the x/provider parameters to update. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgUpdateParamsResponse")] -pub struct MsgUpdateParamsResponse {} -/// MsgConsumerAddition defines the message used to spawn a new consumer chain using a v1 governance proposal. -/// 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. -/// -/// Note: this replaces ConsumerAdditionProposal which is deprecated and will be removed soon -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgConsumerAddition")] -pub struct MsgConsumerAddition { - /// 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 = "1")] - #[serde(alias = "chainID")] - 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 = "2")] - pub initial_height: - ::core::option::Option, - /// 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 = "3")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - 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 = "4")] - #[serde( - serialize_with = "crate::serde::as_base64_encoded_string::serialize", - deserialize_with = "crate::serde::as_base64_encoded_string::deserialize" - )] - 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 = "5")] - pub spawn_time: ::core::option::Option, - /// Unbonding period for the consumer, - /// which should be smaller than that of the provider in general. - #[prost(message, optional, tag = "6")] - pub unbonding_period: ::core::option::Option, - /// Sent CCV related IBC packets will timeout after this duration - #[prost(message, optional, tag = "7")] - pub ccv_timeout_period: ::core::option::Option, - /// Sent transfer related IBC packets will timeout after this duration - #[prost(message, optional, tag = "8")] - pub transfer_timeout_period: ::core::option::Option, - /// 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 = "9")] - 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 = "10")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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 = "11")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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 = "12")] - pub distribution_transmission_channel: ::prost::alloc::string::String, - /// Corresponds to the percentage of validators that have to validate the chain under the Top N case. - /// For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power - /// have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100]. - /// A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain. - #[prost(uint32, tag = "13")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub top_n: u32, - /// Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if - /// `validators_power_cap` is set to 32, it means that no validator can have more than 32% of the voting power on the - /// consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only - /// 5 validators and with `validators_power_cap` set to 10%. In such a scenario, at least one validator would need - /// to have more than 20% of the total voting power. Therefore, `validators_power_cap` operates on a best-effort basis. - #[prost(uint32, tag = "14")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validators_power_cap: u32, - /// Corresponds to the maximum number of validators that can validate a consumer chain. - /// Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op. - #[prost(uint32, tag = "15")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validator_set_cap: u32, - /// Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate - /// the consumer chain. - #[prost(string, repeated, tag = "16")] - pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain. - #[prost(string, repeated, tag = "17")] - pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// signer address - #[prost(string, tag = "18")] - pub authority: ::prost::alloc::string::String, -} -/// MsgConsumerAdditionResponse defines response type for MsgConsumerAddition messages -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgConsumerAdditionResponse")] -pub struct MsgConsumerAdditionResponse {} -/// MsgConsumerRemoval message contains 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. -/// -/// Note: this replaces ConsumerRemovalProposal which is deprecated and will be removed soon -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgConsumerRemoval")] -pub struct MsgConsumerRemoval { - /// the chain-id of the consumer chain to be stopped - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - 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 = "2")] - pub stop_time: ::core::option::Option, - /// signer address - #[prost(string, tag = "3")] - pub authority: ::prost::alloc::string::String, -} -/// MsgConsumerRemovalResponse defines response type for MsgConsumerRemoval messages -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgConsumerRemovalResponse")] -pub struct MsgConsumerRemovalResponse {} -/// ChangeRewardDenomsProposal is a governance proposal on the provider chain to -/// mutate the set of denoms accepted by the provider as rewards. -/// -/// Note: this replaces ChangeRewardDenomsProposal which is deprecated and will be removed soon -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgChangeRewardDenoms")] -pub struct MsgChangeRewardDenoms { - /// the list of consumer reward denoms to add - #[prost(string, repeated, tag = "1")] - pub denoms_to_add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// the list of consumer reward denoms to remove - #[prost(string, repeated, tag = "2")] - pub denoms_to_remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// signer address - #[prost(string, tag = "3")] - pub authority: ::prost::alloc::string::String, -} -/// MsgChangeRewardDenomsResponse defines response type for MsgChangeRewardDenoms messages -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgChangeRewardDenomsResponse")] -pub struct MsgChangeRewardDenomsResponse {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgOptIn")] -pub struct MsgOptIn { - /// the chain id of the consumer chain to opt in to - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - /// the validator address on the provider - #[prost(string, tag = "2")] - pub provider_addr: ::prost::alloc::string::String, - /// (optional) The consensus public key to use on the consumer in json string format corresponding to proto-any, - /// for example `{"@type":"/cosmos.crypto.ed25519.PubKey","key":"Ui5Gf1+mtWUdH8u3xlmzdKID+F3PK0sfXZ73GZ6q6is="}`. - /// This field is optional and can remain empty (i.e., `consumer_key = ""`). A validator can always change the - /// consumer public key at a later stage by issuing a `MsgAssignConsumerKey` message. - #[prost(string, tag = "3")] - pub consumer_key: ::prost::alloc::string::String, - /// signer address - #[prost(string, tag = "4")] - pub signer: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgOptInResponse")] -pub struct MsgOptInResponse {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgOptOut")] -pub struct MsgOptOut { - /// the chain id of the consumer chain to opt out from - #[prost(string, tag = "1")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - /// the validator address on the provider - #[prost(string, tag = "2")] - pub provider_addr: ::prost::alloc::string::String, - /// signer address - #[prost(string, tag = "3")] - pub signer: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgOptOutResponse")] -pub struct MsgOptOutResponse {} -/// MsgSetConsumerCommissionRate allows validators to set -/// a per-consumer chain commission rate -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgSetConsumerCommissionRate")] -pub struct MsgSetConsumerCommissionRate { - /// The validator address on the provider - #[prost(string, tag = "1")] - pub provider_addr: ::prost::alloc::string::String, - /// The chain id of the consumer chain to set a commission rate - #[prost(string, tag = "2")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - /// The rate to charge delegators on the consumer chain, as a fraction - /// TODO: migrate rate from sdk.Dec to math.LegacyDec - #[prost(string, tag = "3")] - pub rate: ::prost::alloc::string::String, - /// signer address - #[prost(string, tag = "4")] - pub signer: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/interchain_security.ccv.provider.v1.MsgSetConsumerCommissionRateResponse" -)] -pub struct MsgSetConsumerCommissionRateResponse {} -/// MsgConsumerModification message contains a governance proposal on the provider chain to -/// modify a running consumer chain. If it passes, the consumer chain's -/// parameters are updated. -/// -/// Note: this replaces ConsumerModificationProposal which is deprecated and will be removed soon -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgConsumerModification")] -pub struct MsgConsumerModification { - /// 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 modified - #[prost(string, tag = "3")] - #[serde(alias = "chainID")] - pub chain_id: ::prost::alloc::string::String, - /// Corresponds to the percentage of validators that have to validate the chain under the Top N case. - /// For example, 53 corresponds to a Top 53% chain, meaning that the top 53% provider validators by voting power - /// have to validate the proposed consumer chain. top_N can either be 0 or any value in [50, 100]. - /// A chain can join with top_N == 0 as an Opt In chain, or with top_N ∈ [50, 100] as a Top N chain. - #[prost(uint32, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub top_n: u32, - /// Corresponds to the maximum power (percentage-wise) a validator can have on the consumer chain. For instance, if - /// `validators_power_cap` is set to 32, it means that no validator can have more than 32% of the voting power on the - /// consumer chain. Note that this might not be feasible. For example, think of a consumer chain with only - /// 5 validators and with `validators_power_cap` set to 10%. In such a scenario, at least one validator would need - /// to have more than 20% of the total voting power. Therefore, `validators_power_cap` operates on a best-effort basis. - #[prost(uint32, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validators_power_cap: u32, - /// Corresponds to the maximum number of validators that can validate a consumer chain. - /// Only applicable to Opt In chains. Setting `validator_set_cap` on a Top N chain is a no-op. - #[prost(uint32, tag = "6")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub validator_set_cap: u32, - /// Corresponds to a list of provider consensus addresses of validators that are the ONLY ones that can validate - /// the consumer chain. - #[prost(string, repeated, tag = "7")] - pub allowlist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// Corresponds to a list of provider consensus addresses of validators that CANNOT validate the consumer chain. - #[prost(string, repeated, tag = "8")] - pub denylist: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - /// signer address - #[prost(string, tag = "9")] - pub authority: ::prost::alloc::string::String, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.provider.v1.MsgConsumerModificationResponse")] -pub struct MsgConsumerModificationResponse {} -pub struct ProviderQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> ProviderQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn query_consumer_genesis( - &self, - chain_id: ::prost::alloc::string::String, - ) -> Result { - QueryConsumerGenesisRequest { chain_id }.query(self.querier) - } - pub fn query_consumer_chains( - &self, - ) -> Result { - QueryConsumerChainsRequest {}.query(self.querier) - } - pub fn query_consumer_chain_starts( - &self, - ) -> Result { - QueryConsumerChainStartProposalsRequest {}.query(self.querier) - } - pub fn query_consumer_chain_stops( - &self, - ) -> Result { - QueryConsumerChainStopProposalsRequest {}.query(self.querier) - } - pub fn query_validator_consumer_addr( - &self, - chain_id: ::prost::alloc::string::String, - provider_address: ::prost::alloc::string::String, - ) -> Result { - QueryValidatorConsumerAddrRequest { - chain_id, - provider_address, - } - .query(self.querier) - } - pub fn query_validator_provider_addr( - &self, - chain_id: ::prost::alloc::string::String, - consumer_address: ::prost::alloc::string::String, - ) -> Result { - QueryValidatorProviderAddrRequest { - chain_id, - consumer_address, - } - .query(self.querier) - } - pub fn query_throttle_state( - &self, - ) -> Result { - QueryThrottleStateRequest {}.query(self.querier) - } - pub fn query_registered_consumer_reward_denoms( - &self, - ) -> Result { - QueryRegisteredConsumerRewardDenomsRequest {}.query(self.querier) - } - pub fn query_proposed_consumer_chain_i_ds( - &self, - ) -> Result { - QueryProposedChainIDsRequest {}.query(self.querier) - } - pub fn query_all_pairs_val_con_addr_by_consumer_chain_id( - &self, - chain_id: ::prost::alloc::string::String, - ) -> Result { - QueryAllPairsValConAddrByConsumerChainIdRequest { chain_id }.query(self.querier) - } - pub fn query_params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } - pub fn query_consumer_chain_opted_in_validators( - &self, - chain_id: ::prost::alloc::string::String, - ) -> Result { - QueryConsumerChainOptedInValidatorsRequest { chain_id }.query(self.querier) - } - pub fn query_consumer_chains_validator_has_to_validate( - &self, - provider_address: ::prost::alloc::string::String, - ) -> Result { - QueryConsumerChainsValidatorHasToValidateRequest { provider_address }.query(self.querier) - } - pub fn query_validator_consumer_commission_rate( - &self, - chain_id: ::prost::alloc::string::String, - provider_address: ::prost::alloc::string::String, - ) -> Result { - QueryValidatorConsumerCommissionRateRequest { - chain_id, - provider_address, - } - .query(self.querier) - } - pub fn query_oldest_unconfirmed_vsc( - &self, - chain_id: ::prost::alloc::string::String, - ) -> Result { - QueryOldestUnconfirmedVscRequest { chain_id }.query(self.querier) - } - pub fn query_consumer_validators( - &self, - chain_id: ::prost::alloc::string::String, - ) -> Result { - QueryConsumerValidatorsRequest { chain_id }.query(self.querier) - } -} diff --git a/packages/neutron-std/src/types/interchain_security/ccv/v1.rs b/packages/neutron-std/src/types/interchain_security/ccv/v1.rs deleted file mode 100644 index 31380de..0000000 --- a/packages/neutron-std/src/types/interchain_security/ccv/v1.rs +++ /dev/null @@ -1,440 +0,0 @@ -use neutron_std_derive::CosmwasmExt; -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.ConsumerParams")] -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")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, - /// Sent transfer related IBC packets will timeout after this duration - #[prost(message, optional, tag = "6")] - pub transfer_timeout_period: ::core::option::Option, - /// 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")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, - /// !!! DEPRECATED !!! soft_opt_out_threshold is deprecated. see docs/docs/adrs/adr-015-partial-set-security.md - #[deprecated] - #[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>, - /// The period after which a consumer can retry sending a throttled packet. - #[prost(message, optional, tag = "13")] - pub retry_delay_period: ::core::option::Option, -} -/// ConsumerGenesisState defines shared genesis information between provider and -/// consumer -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.ConsumerGenesisState")] -pub struct ConsumerGenesisState { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub provider: ::core::option::Option, - /// true for new chain, false for chain restart. - /// - /// TODO:Check if this is really needed - #[prost(bool, tag = "3")] - pub new_chain: bool, -} -/// ProviderInfo defines all information a consumer needs from a provider -/// Shared data type between provider and consumer -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.ProviderInfo")] -pub struct ProviderInfo { - /// ProviderClientState filled in on new chain, nil on restart. - #[prost(message, optional, tag = "1")] - pub client_state: - ::core::option::Option, - /// ProviderConsensusState filled in on new chain, nil on restart. - #[prost(message, optional, tag = "2")] - pub consensus_state: ::core::option::Option< - super::super::super::ibc::lightclients::tendermint::v1::ConsensusState, - >, - /// InitialValset filled in on new chain and on restart. - #[prost(message, repeated, tag = "3")] - pub initial_val_set: - ::prost::alloc::vec::Vec, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.ValidatorSetChangePacketData")] -pub struct ValidatorSetChangePacketData { - #[prost(message, repeated, tag = "1")] - pub validator_updates: - ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "2")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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>, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.VSCMaturedPacketData")] -pub struct VscMaturedPacketData { - /// the id of the VSC packet that reached maturity - #[prost(uint64, tag = "1")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub valset_update_id: u64, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.SlashPacketData")] -pub struct SlashPacketData { - #[prost(message, optional, tag = "1")] - pub validator: ::core::option::Option, - /// map to the infraction block height on the provider - #[prost(uint64, tag = "2")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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" - )] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub infraction: i32, -} -/// ConsumerPacketData contains a consumer packet data and a type tag -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.ConsumerPacketData")] -pub struct ConsumerPacketData { - #[prost(enumeration = "ConsumerPacketDataType", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, - Eq, - ::prost::Oneof, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - )] - pub enum Data { - #[prost(message, tag = "2")] - SlashPacketData(super::SlashPacketData), - #[prost(message, tag = "3")] - VscMaturedPacketData(super::VscMaturedPacketData), - } -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.HandshakeMetadata")] -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, -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.ConsumerPacketDataV1")] -pub struct ConsumerPacketDataV1 { - #[prost(enumeration = "ConsumerPacketDataType", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - 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, - Eq, - ::prost::Oneof, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - )] - pub enum Data { - #[prost(message, tag = "2")] - SlashPacketData(super::SlashPacketDataV1), - #[prost(message, tag = "3")] - VscMaturedPacketData(super::VscMaturedPacketData), - } -} -/// 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, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/interchain_security.ccv.v1.SlashPacketDataV1")] -pub struct SlashPacketDataV1 { - #[prost(message, optional, tag = "1")] - pub validator: ::core::option::Option, - /// map to the infraction block height on the provider - #[prost(uint64, tag = "2")] - #[serde(alias = "valset_updateID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub valset_update_id: u64, - /// tell if the slashing is for a downtime or a double-signing infraction - #[prost(enumeration = "InfractionType", tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub infraction: i32, -} -/// ConsumerPacketType indicates interchain security specific packet types. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] -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 committed. -/// 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)] -#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] -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, - } - } -} diff --git a/packages/neutron-std/src/types/interchain_security/mod.rs b/packages/neutron-std/src/types/interchain_security/mod.rs deleted file mode 100644 index 09f6b9e..0000000 --- a/packages/neutron-std/src/types/interchain_security/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod ccv; diff --git a/packages/neutron-std/src/types/mod.rs b/packages/neutron-std/src/types/mod.rs index 65a239c..9f2df66 100644 --- a/packages/neutron-std/src/types/mod.rs +++ b/packages/neutron-std/src/types/mod.rs @@ -4,7 +4,6 @@ pub mod cosmwasm; pub mod feemarket; pub mod gaia; pub mod ibc; -pub mod interchain_security; pub mod neutron; pub mod osmosis; pub mod slinky; diff --git a/packages/neutron-std/src/types/neutron/dex/mod.rs b/packages/neutron-std/src/types/neutron/dex/mod.rs index c093e46..1d2ac9e 100644 --- a/packages/neutron-std/src/types/neutron/dex/mod.rs +++ b/packages/neutron-std/src/types/neutron/dex/mod.rs @@ -80,6 +80,8 @@ pub struct PoolReservesKey { pub struct PoolReserves { #[prost(message, optional, tag = "1")] pub key: ::core::option::Option, + /// DEPRECATED: reserves_maker_denom will be removed in future release, `dec_reserves_maker_denom` should always be used. + #[deprecated] #[prost(string, tag = "2")] pub reserves_maker_denom: ::prost::alloc::string::String, /// DEPRECATED: price_taker_to_maker will be removed in future release, `maker_price` should always be used. @@ -94,6 +96,8 @@ pub struct PoolReserves { /// This is the price of the PoolReserves denominated in the opposite token. (ie. 1 TokenA with a maker_price of 10 is worth 10 TokenB ) #[prost(string, tag = "5")] pub maker_price: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub dec_reserves_maker_denom: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -208,13 +212,20 @@ pub struct LimitOrderTrancheKey { pub struct LimitOrderTranche { #[prost(message, optional, tag = "1")] pub key: ::core::option::Option, + /// DEPRECATED: reserves_maker_denom will be removed in future release, `dec_reserves_maker_denom` should always be used. + #[deprecated] #[prost(string, tag = "2")] pub reserves_maker_denom: ::prost::alloc::string::String, + /// DEPRECATED: reserves_taker_denom will be removed in future release, `dec_reserves_taker_denom` should always be used. + #[deprecated] #[prost(string, tag = "3")] pub reserves_taker_denom: ::prost::alloc::string::String, #[prost(string, tag = "4")] pub total_maker_denom: ::prost::alloc::string::String, + /// DEPRECATED: total_taker_denom will be removed in future release, `dec_total_taker_denom` should always be used. + /// /// LimitOrders with expiration_time set are valid as long as blockTime <= expiration_time + #[deprecated] #[prost(string, tag = "5")] pub total_taker_denom: ::prost::alloc::string::String, /// JIT orders also use expiration_time to handle deletion but represent a special case @@ -229,6 +240,12 @@ pub struct LimitOrderTranche { /// This is the price of the LimitOrder denominated in the opposite token. (ie. 1 TokenA with a maker_price of 10 is worth 10 TokenB ) #[prost(string, tag = "8")] pub maker_price: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub dec_reserves_maker_denom: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub dec_reserves_taker_denom: ::prost::alloc::string::String, + #[prost(string, tag = "11")] + pub dec_total_taker_denom: ::prost::alloc::string::String, } /// Params defines the parameters for the module. #[allow(clippy::derive_partial_eq_without_eq)] @@ -280,6 +297,24 @@ pub struct Params { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message(type_url = "/neutron.dex.PrecDecCoin")] +pub struct PrecDecCoin { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] #[proto_message(type_url = "/neutron.dex.DepositOptions")] pub struct DepositOptions { #[prost(bool, tag = "1")] @@ -288,6 +323,7 @@ pub struct DepositOptions { pub fail_tx_on_bel: bool, #[prost(bool, tag = "3")] pub swap_on_deposit: bool, + #[deprecated] #[prost(uint64, tag = "4")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -371,14 +407,22 @@ pub struct FailedDeposit { )] #[proto_message(type_url = "/neutron.dex.MsgDepositResponse")] pub struct MsgDepositResponse { + /// reserve0_deposited is DEPRECATED + #[deprecated] #[prost(string, repeated, tag = "1")] pub reserve0_deposited: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// reserve0_deposited is DEPRECATED + #[deprecated] #[prost(string, repeated, tag = "2")] pub reserve1_deposited: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, #[prost(message, repeated, tag = "3")] pub failed_deposits: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag = "4")] pub shares_issued: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "5")] + pub dec_reserve0_deposited: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "6")] + pub dec_reserve1_deposited: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -429,12 +473,20 @@ pub struct MsgWithdrawal { )] #[proto_message(type_url = "/neutron.dex.MsgWithdrawalResponse")] pub struct MsgWithdrawalResponse { + /// reserve0_withdrawn is DEPRECATED + #[deprecated] #[prost(string, tag = "1")] pub reserve0_withdrawn: ::prost::alloc::string::String, + /// reserve1_withdrawn is DEPRECATED + #[deprecated] #[prost(string, tag = "2")] pub reserve1_withdrawn: ::prost::alloc::string::String, #[prost(message, repeated, tag = "3")] pub shares_burned: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub dec_reserve0_withdrawn: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub dec_reserve1_withdrawn: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -482,9 +534,8 @@ pub struct MsgPlaceLimitOrder { #[prost(string, tag = "11")] #[prost(optional)] pub limit_sell_price: ::core::option::Option<::prost::alloc::string::String>, - /// min_average_sell_price is an optional parameter that sets a required minimum average price for the entire trade. - /// if the min_average_sell_price is not met the trade will fail. - /// If min_average_sell_price is omitted limit_sell_price will be used instead + /// min_average_sell_price is DEPRECATED + #[deprecated] #[prost(string, tag = "12")] #[prost(optional)] pub min_average_sell_price: ::core::option::Option<::prost::alloc::string::String>, @@ -507,15 +558,23 @@ pub struct MsgPlaceLimitOrderResponse { /// Total amount of coin used for the limit order #[prost(message, optional, tag = "2")] pub coin_in: ::core::option::Option, + /// taker_coin_out is DEPRECATED + #[deprecated] + #[prost(message, optional, tag = "3")] + pub taker_coin_out: ::core::option::Option, + /// taker_coin_in is DEPRECATED + #[deprecated] + #[prost(message, optional, tag = "4")] + pub taker_coin_in: ::core::option::Option, /// Total amount of coin received from the taker portion of the limit order /// This is the amount of coin immediately available in the users account after /// executing the limit order. It does not include any future proceeds from the /// maker portion which will have withdrawn in the future - #[prost(message, optional, tag = "3")] - pub taker_coin_out: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub dec_taker_coin_out: ::core::option::Option, /// Total amount of the token in that was immediately swapped for takerOutCoin - #[prost(message, optional, tag = "4")] - pub taker_coin_in: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub dec_taker_coin_in: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -548,12 +607,20 @@ pub struct MsgWithdrawFilledLimitOrder { )] #[proto_message(type_url = "/neutron.dex.MsgWithdrawFilledLimitOrderResponse")] pub struct MsgWithdrawFilledLimitOrderResponse { - /// Total amount of taker reserves that were withdrawn + /// taker_coin_out is DEPRECATED + #[deprecated] #[prost(message, optional, tag = "1")] pub taker_coin_out: ::core::option::Option, - /// Total amount of maker reserves that were withdrawn --only applies to inactive LimitOrders + /// maker_coin_out is DEPRECATED + #[deprecated] #[prost(message, optional, tag = "2")] pub maker_coin_out: ::core::option::Option, + /// Total amount of taker reserves that were withdrawn + #[prost(message, optional, tag = "3")] + pub dec_taker_coin_out: ::core::option::Option, + /// Total amount of maker reserves that were withdrawn --only applies to inactive LimitOrders + #[prost(message, optional, tag = "4")] + pub dec_maker_coin_out: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -586,12 +653,20 @@ pub struct MsgCancelLimitOrder { )] #[proto_message(type_url = "/neutron.dex.MsgCancelLimitOrderResponse")] pub struct MsgCancelLimitOrderResponse { - /// Total amount of taker reserves that were withdrawn + /// taker_coin_out is DEPRECATED + #[deprecated] #[prost(message, optional, tag = "1")] pub taker_coin_out: ::core::option::Option, - /// Total amount of maker reserves that were canceled + /// maker_coin_out is DEPRECATED + #[deprecated] #[prost(message, optional, tag = "2")] pub maker_coin_out: ::core::option::Option, + /// Total amount of taker reserves that were withdrawn + #[prost(message, optional, tag = "3")] + pub dec_taker_coin_out: ::core::option::Option, + /// Total amount of maker reserves that were canceled + #[prost(message, optional, tag = "4")] + pub dec_maker_coin_out: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -650,12 +725,20 @@ pub struct MsgMultiHopSwap { )] #[proto_message(type_url = "/neutron.dex.MsgMultiHopSwapResponse")] pub struct MsgMultiHopSwapResponse { + /// coin_out is DEPRECATED + #[deprecated] #[prost(message, optional, tag = "1")] pub coin_out: ::core::option::Option, #[prost(message, optional, tag = "2")] pub route: ::core::option::Option, + /// dust is DEPRECATED + #[deprecated] #[prost(message, repeated, tag = "3")] pub dust: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub dec_coin_out: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub dec_dust: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( diff --git a/proto-build/Cargo.toml b/proto-build/Cargo.toml index 291060a..ba1d3ae 100644 --- a/proto-build/Cargo.toml +++ b/proto-build/Cargo.toml @@ -17,14 +17,14 @@ log = "0.4.17" pretty_env_logger = "0.4.0" prettyplease = "0.1.16" proc-macro2 = "1.0.52" -prost = "0.12" -prost-build = "0.12" +prost = "0.14.1" +prost-build = "0.14.1" prost-types = { workspace = true } quote = "1.0.26" regex = "1" syn = { version = "1.0.98", features = ["full", "parsing", "extra-traits"] } -tonic = "0.10" -tonic-build = "0.10" +tonic = "0.14.1" +tonic-build = "0.14.1" walkdir = "2" serde-protobuf = "0.8.2" protobuf = "3.3.0" diff --git a/proto-build/src/main.rs b/proto-build/src/main.rs index ac35b66..1f5483a 100644 --- a/proto-build/src/main.rs +++ b/proto-build/src/main.rs @@ -17,18 +17,17 @@ const COMETBFT_REPO: &str = "https://github.com/cometbft/cometbft.git"; const IBC_GO_REPO: &str = "https://github.com/cosmos/ibc-go.git"; const ICS23_REPO: &str = "https://github.com/cosmos/ics23.git"; const FEEMARKET_REPO: &str = "https://github.com/neutron-org/feemarket.git"; -const SLINKY_REPO: &str = "https://github.com/skip-mev/slinky.git"; -const INTERCHAIN_SECURITY_REPO: &str = "https://github.com/cosmos/interchain-security.git"; +const SLINKY_REPO: &str = "https://github.com/neutron-org/connect.git"; const ADMIN_MODULE_REPO: &str = "https://github.com/neutron-org/admin-module.git"; /// The Cosmos SDK commit or tag to be cloned and used to build the proto files const COSMOS_SDK_REV: &str = "v0.50.13-neutron"; /// The Neutron commit or tag to be cloned and used to build the proto files -const NEUTRON_REV: &str = "09082cfc7a07a22218494277d68f30b7dd884a58"; +const NEUTRON_REV: &str = "v8.0.0-rc0"; /// The wasmd commit or tag to be cloned and used to build the proto files -const WASMD_REV: &str = "8ab684b5eff649e2e335a6e1b439ae8b72afd392"; +const WASMD_REV: &str = "v0.54.1-neutron"; /// The cometbft commit or tag to be cloned and used to build the proto files const COMETBFT_REV: &str = "v0.38.17"; @@ -41,12 +40,10 @@ const ICS23_REV: &str = "go/v0.11.0"; const FEEMARKET_REV: &str = "4ffcf3d434644a5499fff5a81d16ebea62e9eac1"; -const SLINKY_REV: &str = "v1.2.0"; +const SLINKY_REV: &str = "v1.2.1"; const ADMIN_MODULE_REV: &str = "v2.0.2"; -const INTERCHAIN_SECURITY_REV: &str = "v5.1.1"; - // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. @@ -65,9 +62,7 @@ const ICS23_DIR: &str = "../dependencies/ics23/"; /// Directory where the feemarket repo is located const FEEMARKET_DIR: &str = "../dependencies/feemarket/"; /// Directory where the slinky repo is located -const SLINKY_DIR: &str = "../dependencies/slinky/"; -/// Directory where the interchain-security repo is located -const INTERCHAIN_SECURITY_DIR: &str = "../dependencies/interchain-security/"; +const SLINKY_DIR: &str = "../dependencies/connect/"; /// Directory where the admin-module repo is located const ADMIN_MODULE_DIR: &str = "../dependencies/admin-module/"; @@ -92,11 +87,6 @@ pub fn generate() { git::clone_repo(ICS23_REPO, ICS23_DIR, ICS23_REV); git::clone_repo(FEEMARKET_REPO, FEEMARKET_DIR, FEEMARKET_REV); git::clone_repo(SLINKY_REPO, SLINKY_DIR, SLINKY_REV); - git::clone_repo( - INTERCHAIN_SECURITY_REPO, - INTERCHAIN_SECURITY_DIR, - INTERCHAIN_SECURITY_REV, - ); git::clone_repo(ADMIN_MODULE_REPO, ADMIN_MODULE_DIR, ADMIN_MODULE_REV); let tmp_build_dir: PathBuf = TMP_BUILD_DIR.parse().unwrap(); @@ -158,13 +148,6 @@ pub fn generate() { exclude_mods: vec![], }; - let interchain_security_project = CosmosProject { - name: "interchain-security".to_string(), - version: INTERCHAIN_SECURITY_REV.to_string(), - project_dir: INTERCHAIN_SECURITY_DIR.to_string(), - exclude_mods: vec![], - }; - let admin_project = CosmosProject { name: "admin".to_string(), version: ADMIN_MODULE_REV.to_string(), @@ -184,7 +167,6 @@ pub fn generate() { ics23_project, feemarket_project, slinky_project, - interchain_security_project, admin_project, ], );