From 5f6fe6fdd74a8f77abcda2b0096f29bcf254ff03 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 14 Nov 2022 18:22:42 +0700 Subject: [PATCH 001/142] add deprecation to specific struct & fns --- packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs | 4 ++++ packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index b6adfc40..99325bb5 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -875,6 +875,7 @@ pub struct QueryTotalSharesResponse { } /// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice /// query. +#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -940,6 +941,7 @@ pub struct QueryPoolsWithFilterResponse { } /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. +#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -1193,6 +1195,8 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { ) -> Result { QueryTotalSharesRequest { pool_id }.query(self.querier) } + + #[deprecated(since = "0.13.0", note = "use v2 instead")] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 251e4ebe..b30f61f1 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -98,6 +98,7 @@ pub struct GenesisState { #[prost(message, optional, tag = "2")] pub params: ::core::option::Option, } +#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -129,6 +130,7 @@ pub struct ArithmeticTwapRequest { #[prost(message, optional, tag = "5")] pub end_time: ::core::option::Option, } +#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -144,6 +146,8 @@ pub struct ArithmeticTwapResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, } + +#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -173,6 +177,8 @@ pub struct ArithmeticTwapToNowRequest { #[prost(message, optional, tag = "4")] pub start_time: ::core::option::Option, } + +#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -229,6 +235,8 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { pub fn params(&self) -> Result { ParamsRequest {}.query(self.querier) } + + #[deprecated(since = "0.13.0", note = "use v2 instead")] pub fn arithmetic_twap( &self, pool_id: u64, @@ -246,6 +254,8 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { } .query(self.querier) } + + #[deprecated(since = "0.13.0", note = "use v2 instead")] pub fn arithmetic_twap_to_now( &self, pool_id: u64, From b8bb07cbd2affe678595e93b482bce0ef687d2f4 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 15 Nov 2022 15:10:31 +0700 Subject: [PATCH 002/142] use transformer parse and append option as macro --- packages/proto-build/src/transformers.rs | 62 ++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/packages/proto-build/src/transformers.rs b/packages/proto-build/src/transformers.rs index 8ddc0288..84440e21 100644 --- a/packages/proto-build/src/transformers.rs +++ b/packages/proto-build/src/transformers.rs @@ -106,6 +106,8 @@ pub fn append_attrs(src: &Path, s: &ItemStruct, descriptor: &FileDescriptorSet) let query_services = extract_query_services(descriptor); let type_url = get_type_url(src, &s.ident, descriptor); + let deprecated = get_deprecation(src, &s.ident, descriptor); + s.attrs.append(&mut vec![ syn::parse_quote! { #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema, CosmwasmExt)] }, syn::parse_quote! { #[proto_message(type_url = #type_url)] }, @@ -115,6 +117,11 @@ pub fn append_attrs(src: &Path, s: &ItemStruct, descriptor: &FileDescriptorSet) s.attrs.append(&mut vec![attr]) } + if deprecated { + s.attrs + .append(&mut vec![syn::parse_quote! { #[deprecated] }]); + } + s } @@ -208,6 +215,53 @@ fn get_type_url(src: &Path, ident: &Ident, descriptor: &FileDescriptorSet) -> St format!("/{}.{}", type_path, name.unwrap()) } +fn get_deprecation(src: &Path, ident: &Ident, descriptor: &FileDescriptorSet) -> bool { + let type_path = src.file_stem().unwrap().to_str().unwrap(); + + let deprecation: Option = descriptor + .file + .clone() + .into_iter() + .filter(|f| f.package.to_owned().unwrap() == type_path) + .flat_map(|f| { + let target = ident.to_string(); + vec![ + extract_deprecation_from_enum(&target, &f.enum_type), + extract_deprecation_from_descriptor(&target, &f.message_type), + ] + }) + .find(|r| r.is_some()) + .flatten(); + + deprecation.unwrap_or(false) +} + +fn extract_deprecation_from_descriptor( + target: &str, + message_type: &[DescriptorProto], +) -> Option { + message_type.iter().find_map(|descriptor| { + let message_name = descriptor.name.to_owned().unwrap(); + + if message_name.to_upper_camel_case() == target { + descriptor.clone().options?.deprecated + } else if let Some(deprecated) = + extract_deprecation_from_descriptor(target, &descriptor.nested_type) + { + Some(deprecated) + } else { + extract_deprecation_from_enum(target, &descriptor.enum_type) + } + }) +} + +fn extract_deprecation_from_enum(target: &str, enum_type: &[EnumDescriptorProto]) -> Option { + enum_type + .iter() + .find(|e| e.name.to_owned().unwrap().to_upper_camel_case() == target) + .and_then(|e| e.clone().options?.deprecated) +} + fn extract_type_path_from_descriptor( target: &str, message_type: &[DescriptorProto], @@ -297,6 +351,13 @@ pub fn append_querier( return quote! {}; } + let deprecated = method_desc.clone().options.map(|opt| opt.deprecated.unwrap_or(false) ).unwrap_or(false); + let deprecated_macro = if deprecated { + quote!(#[deprecated]) + } else { + quote!() + }; + let method_desc = method_desc.clone(); let name = format_ident!("{}", method_desc.name.unwrap().as_str().to_snake_case()); @@ -324,6 +385,7 @@ pub fn append_querier( let arg_ty = req_args.unwrap().into_iter().map(|arg| arg.ty).collect::>(); quote! { + #deprecated_macro pub fn #name( &self, #(#arg_idents : #arg_ty),* ) -> Result<#res_type, cosmwasm_std::StdError> { #req_type { #(#arg_idents),* }.query(self.querier) } From 660ba88d381dacb89fdcacdb44274566429ca56e Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 29 Nov 2022 09:55:55 +0700 Subject: [PATCH 003/142] update deps to osmosis v13.0.0-rc4 --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../src/types/cosmos/bank/v1beta1.rs | 1 + .../src/types/osmosis/gamm/v1beta1.rs | 59 ++++- .../src/types/osmosis/ibcratelimit/v1beta1.rs | 47 +++- packages/osmosis-std/src/types/osmosis/mod.rs | 1 - .../src/types/osmosis/twap/v1beta1.rs | 16 +- .../types/osmosis/validatorpreference/mod.rs | 1 - .../osmosis/validatorpreference/v1beta1.rs | 240 ------------------ .../osmosis-testing/libosmosistesting/go.mod | 66 +++-- .../osmosis-testing/libosmosistesting/go.sum | 217 +++++----------- .../libosmosistesting/testenv/setup.go | 2 +- packages/proto-build/src/main.rs | 4 +- 13 files changed, 207 insertions(+), 451 deletions(-) delete mode 100644 packages/osmosis-std/src/types/osmosis/validatorpreference/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/validatorpreference/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index 28eaeb69..a47aba1b 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 28eaeb69a822cd391c52dc4b4805720141f9b511 +Subproject commit a47aba1b4ac0404345c64c451952e0090279c7c8 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 4bfc733e..16de5f38 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v13.0.0-rc2 \ No newline at end of file +v13.0.0-rc4 \ No newline at end of file diff --git a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs index 9c17570d..4d4a193c 100644 --- a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs @@ -86,6 +86,7 @@ pub struct Output { CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.Supply")] +#[deprecated] pub struct Supply { #[prost(message, repeated, tag = "1")] pub total: ::prost::alloc::vec::Vec, diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index 99325bb5..4e7614a5 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -873,9 +873,51 @@ pub struct QueryTotalSharesResponse { #[prost(message, optional, tag = "1")] pub total_shares: ::core::option::Option, } +///=============================== CalcJoinPoolNoSwapShares +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesRequest")] +#[proto_query( + path = "/osmosis.gamm.v1beta1.Query/CalcJoinPoolNoSwapShares", + response_type = QueryCalcJoinPoolNoSwapSharesResponse +)] +pub struct QueryCalcJoinPoolNoSwapSharesRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(message, repeated, tag = "2")] + pub tokens_in: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesResponse")] +pub struct QueryCalcJoinPoolNoSwapSharesResponse { + #[prost(message, repeated, tag = "1")] + pub tokens_out: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub shares_out: ::prost::alloc::string::String, +} /// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice /// query. -#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -891,6 +933,7 @@ pub struct QueryTotalSharesResponse { path = "/osmosis.gamm.v1beta1.Query/SpotPrice", response_type = QuerySpotPriceResponse )] +#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde( @@ -941,7 +984,6 @@ pub struct QueryPoolsWithFilterResponse { } /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. -#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -953,6 +995,7 @@ pub struct QueryPoolsWithFilterResponse { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySpotPriceResponse")] +#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -975,6 +1018,7 @@ pub struct QuerySpotPriceResponse { response_type = QuerySwapExactAmountInResponse )] pub struct QuerySwapExactAmountInRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -1020,6 +1064,7 @@ pub struct QuerySwapExactAmountInResponse { response_type = QuerySwapExactAmountOutResponse )] pub struct QuerySwapExactAmountOutRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -1159,6 +1204,13 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn pool_type(&self, pool_id: u64) -> Result { QueryPoolTypeRequest { pool_id }.query(self.querier) } + pub fn calc_join_pool_no_swap_shares( + &self, + pool_id: u64, + tokens_in: ::prost::alloc::vec::Vec, + ) -> Result { + QueryCalcJoinPoolNoSwapSharesRequest { pool_id, tokens_in }.query(self.querier) + } pub fn calc_join_pool_shares( &self, pool_id: u64, @@ -1195,8 +1247,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { ) -> Result { QueryTotalSharesRequest { pool_id }.query(self.querier) } - - #[deprecated(since = "0.13.0", note = "use v2 instead")] + #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs index d8d3f393..03f9dc99 100644 --- a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs @@ -1,5 +1,5 @@ use osmosis_std_derive::CosmwasmExt; -/// Params defines the parameters for the ibc-rate-limiting module. +/// Params defines the parameters for the ibc-rate-limit module. #[derive( Clone, PartialEq, @@ -15,3 +15,48 @@ pub struct Params { #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, } +/// QueryParamsRequest is the request type for the Query/Params RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.ibcratelimit.v1beta1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +/// QueryParamsResponse is the response type for the Query/Params RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +pub struct IbcratelimitQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> IbcratelimitQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index e59c93a7..3278da3e 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -10,4 +10,3 @@ pub mod superfluid; pub mod tokenfactory; pub mod twap; pub mod txfees; -pub mod validatorpreference; diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index b30f61f1..3963b891 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -98,7 +98,6 @@ pub struct GenesisState { #[prost(message, optional, tag = "2")] pub params: ::core::option::Option, } -#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -114,6 +113,7 @@ pub struct GenesisState { path = "/osmosis.twap.v1beta1.Query/ArithmeticTwap", response_type = ArithmeticTwapResponse )] +#[deprecated] pub struct ArithmeticTwapRequest { #[prost(uint64, tag = "1")] #[serde( @@ -130,7 +130,6 @@ pub struct ArithmeticTwapRequest { #[prost(message, optional, tag = "5")] pub end_time: ::core::option::Option, } -#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -142,12 +141,11 @@ pub struct ArithmeticTwapRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapResponse")] +#[deprecated] pub struct ArithmeticTwapResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, } - -#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -163,6 +161,7 @@ pub struct ArithmeticTwapResponse { path = "/osmosis.twap.v1beta1.Query/ArithmeticTwapToNow", response_type = ArithmeticTwapToNowResponse )] +#[deprecated] pub struct ArithmeticTwapToNowRequest { #[prost(uint64, tag = "1")] #[serde( @@ -177,8 +176,6 @@ pub struct ArithmeticTwapToNowRequest { #[prost(message, optional, tag = "4")] pub start_time: ::core::option::Option, } - -#[deprecated(since = "0.13.0", note = "use v2 instead")] #[derive( Clone, PartialEq, @@ -190,6 +187,7 @@ pub struct ArithmeticTwapToNowRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowResponse")] +#[deprecated] pub struct ArithmeticTwapToNowResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, @@ -235,8 +233,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { pub fn params(&self) -> Result { ParamsRequest {}.query(self.querier) } - - #[deprecated(since = "0.13.0", note = "use v2 instead")] + #[deprecated] pub fn arithmetic_twap( &self, pool_id: u64, @@ -254,8 +251,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { } .query(self.querier) } - - #[deprecated(since = "0.13.0", note = "use v2 instead")] + #[deprecated] pub fn arithmetic_twap_to_now( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/validatorpreference/mod.rs b/packages/osmosis-std/src/types/osmosis/validatorpreference/mod.rs deleted file mode 100644 index 9f64fc82..00000000 --- a/packages/osmosis-std/src/types/osmosis/validatorpreference/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/validatorpreference/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/validatorpreference/v1beta1.rs deleted file mode 100644 index 519c00c8..00000000 --- a/packages/osmosis-std/src/types/osmosis/validatorpreference/v1beta1.rs +++ /dev/null @@ -1,240 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// ValidatorPreference defines the message structure for -/// CreateValidatorSetPreference. It allows a user to set {val_addr, weight} in -/// state. If a user does not have a validator set preference list set, and has -/// staked, make their preference list default to their current staking -/// distribution. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.ValidatorPreference")] -pub struct ValidatorPreference { - /// val_oper_address holds the validator address the user wants to delegate - /// funds to. - #[prost(string, tag = "1")] - pub val_oper_address: ::prost::alloc::string::String, - /// weight is decimal between 0 and 1, and they all sum to 1. - #[prost(string, tag = "2")] - pub weight: ::prost::alloc::string::String, -} -/// ValidatorSetPreferences defines a delegator's validator set preference. -/// It contains a list of (validator, percent_allocation) pairs. -/// The percent allocation are arranged in decimal notation from 0 to 1 and must -/// add up to 1. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.ValidatorSetPreferences")] -pub struct ValidatorSetPreferences { - /// preference holds {valAddr, weight} for the user who created it. - #[prost(message, repeated, tag = "2")] - pub preferences: ::prost::alloc::vec::Vec, -} -/// MsgCreateValidatorSetPreference is a list that holds validator-set. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.MsgSetValidatorSetPreference")] -pub struct MsgSetValidatorSetPreference { - /// delegator is the user who is trying to create a validator-set. - #[prost(string, tag = "1")] - pub delegator: ::prost::alloc::string::String, - /// list of {valAddr, weight} to delegate to - #[prost(message, repeated, tag = "2")] - pub preferences: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.validatorpreference.v1beta1.MsgSetValidatorSetPreferenceResponse" -)] -pub struct MsgSetValidatorSetPreferenceResponse {} -/// MsgDelegateToValidatorSet allows users to delegate to an existing -/// validator-set -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.MsgDelegateToValidatorSet")] -pub struct MsgDelegateToValidatorSet { - /// delegator is the user who is trying to delegate. - #[prost(string, tag = "1")] - pub delegator: ::prost::alloc::string::String, - /// the amount of tokens the user is trying to delegate. - /// For ex: delegate 10osmo with validator-set {ValA -> 0.5, ValB -> 0.3, ValC - /// -> 0.2} our staking logic would attempt to delegate 5osmo to A , 3osmo to - /// B, 2osmo to C. - #[prost(message, optional, tag = "2")] - pub coin: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.validatorpreference.v1beta1.MsgDelegateToValidatorSetResponse" -)] -pub struct MsgDelegateToValidatorSetResponse {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.MsgUndelegateFromValidatorSet")] -pub struct MsgUndelegateFromValidatorSet { - /// delegator is the user who is trying to undelegate. - #[prost(string, tag = "1")] - pub delegator: ::prost::alloc::string::String, - /// the amount the user wants to undelegate - /// For ex: Undelegate 10osmo with validator-set {ValA -> 0.5, ValB -> 0.3, - /// ValC - /// -> 0.2} our undelegate logic would attempt to undelegate 5osmo from A , - /// 3osmo from B, 2osmo from C - #[prost(message, optional, tag = "3")] - pub coin: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.validatorpreference.v1beta1.MsgUndelegateFromValidatorSetResponse" -)] -pub struct MsgUndelegateFromValidatorSetResponse {} -/// MsgWithdrawDelegationRewards allows user to claim staking rewards from the -/// validator set. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.MsgWithdrawDelegationRewards")] -pub struct MsgWithdrawDelegationRewards { - /// delegator is the user who is trying to claim staking rewards. - #[prost(string, tag = "1")] - pub delegator: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.validatorpreference.v1beta1.MsgWithdrawDelegationRewardsResponse" -)] -pub struct MsgWithdrawDelegationRewardsResponse {} -/// Request type for UserValidatorPreferences. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.validatorpreference.v1beta1.QueryUserValidatorPreferences")] -#[proto_query( - path = "/osmosis.validatorpreference.v1beta1.Query/UserValidatorPreferences", - response_type = QueryUserValidatorPreferenceResponse -)] -pub struct QueryUserValidatorPreferences { - /// user account address - #[prost(string, tag = "1")] - pub user: ::prost::alloc::string::String, -} -/// Response type the QueryUserValidatorPreferences query request -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.validatorpreference.v1beta1.QueryUserValidatorPreferenceResponse" -)] -pub struct QueryUserValidatorPreferenceResponse { - #[prost(message, repeated, tag = "1")] - pub preferences: ::prost::alloc::vec::Vec, -} -pub struct ValidatorpreferenceQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> ValidatorpreferenceQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn user_validator_preferences( - &self, - user: ::prost::alloc::string::String, - ) -> Result { - QueryUserValidatorPreferences { user }.query(self.querier) - } -} diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index 73d84316..0ca841af 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -3,13 +3,10 @@ module github.com/osmosis-labs/osmosis-rust/osmosis-testing go 1.19 replace ( - // branch: v0.28.0x-osmo-v12, current tag: v0.28.0-osmo-v12.1 - github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.28.0-osmo-v12.1 - // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk/tree/v0.45.0x-osmo-v12 - // last commit: https://github.com/osmosis-labs/cosmos-sdk/tree/3c4d30596acce8ca30cacbc173de2431a04b8a3b - github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20220921135931-3c4d30596acc - // Use Osmosis fast iavl - github.com/cosmos/iavl => github.com/osmosis-labs/iavl v0.17.3-osmo-v7 + github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 + // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk, current branch: v13.x. Direct commit link: https://github.com/osmosis-labs/cosmos-sdk/commit/8757a61551aa1ea993c85a523e18094ab555b1d7 + // tag: https://github.com/osmosis-labs/cosmos-sdk/releases/tag/sdk-v13.0.0-rc2 + github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221122041228-bf54b8d65262 // fix dependabot alert: https://github.com/osmosis-labs/osmosis-rust/security/dependabot/1 github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 @@ -21,11 +18,11 @@ replace ( require ( github.com/CosmWasm/wasmd v0.28.0-osmo-v12 - github.com/cosmos/cosmos-sdk v0.46.1 + github.com/cosmos/cosmos-sdk v0.46.6 github.com/golang/protobuf v1.5.2 - github.com/osmosis-labs/osmosis/v12 v12.0.0 + github.com/osmosis-labs/osmosis/v13 v13.0.0-rc4 github.com/pkg/errors v0.9.1 - github.com/tendermint/tendermint v0.34.21 + github.com/tendermint/tendermint v0.34.22 github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b ) @@ -34,7 +31,7 @@ require ( github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.0.0 // indirect + github.com/CosmWasm/wasmvm v1.1.1 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/armon/go-metrics v0.4.0 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -46,11 +43,12 @@ require ( github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect github.com/confio/ics23/go v0.7.0 // indirect github.com/cosmos/btcutil v1.0.4 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha7 // indirect + github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect + github.com/cosmos/gogoproto v1.4.2 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.1 // indirect - github.com/cosmos/ibc-go/v3 v3.3.0 // indirect + github.com/cosmos/iavl v0.19.4 // indirect + github.com/cosmos/ibc-go/v3 v3.4.0 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.3 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect @@ -62,7 +60,7 @@ require ( github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.5.4 // indirect + github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect @@ -71,8 +69,8 @@ require ( github.com/gogo/protobuf v1.3.3 // indirect github.com/golang/glog v1.0.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/snappy v0.0.3 // indirect - github.com/google/btree v1.0.0 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/btree v1.1.2 // indirect github.com/google/flatbuffers v1.12.1 // indirect github.com/google/gofuzz v1.2.0 // indirect github.com/google/orderedcode v0.0.1 // indirect @@ -89,7 +87,7 @@ require ( github.com/hashicorp/hcl v1.0.0 // indirect github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/klauspost/compress v1.15.9 // indirect github.com/lib/pq v1.10.6 // indirect @@ -98,7 +96,7 @@ require ( github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.16 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect + github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect @@ -106,23 +104,23 @@ require ( github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.13.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/client_golang v1.14.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.37.0 // indirect github.com/prometheus/procfs v0.8.0 // indirect github.com/rakyll/statik v0.1.7 // indirect - github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rs/cors v1.8.2 // indirect github.com/rs/zerolog v1.27.0 // indirect - github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect - github.com/spf13/afero v1.8.2 // indirect + github.com/sasha-s/go-deadlock v0.3.1 // indirect + github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.5.0 // indirect + github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.13.0 // indirect - github.com/stretchr/testify v1.8.0 // indirect + github.com/spf13/viper v1.14.0 // indirect + github.com/stretchr/testify v1.8.1 // indirect github.com/subosito/gotenv v1.4.1 // indirect github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect github.com/tendermint/btcd v0.1.1 // indirect @@ -131,14 +129,14 @@ require ( github.com/zondax/hid v0.9.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.23.0 // indirect - golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa // indirect + golang.org/x/crypto v0.1.0 // indirect golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.0.0-20220726230323-06994584191e // indirect - golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect - golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect - golang.org/x/text v0.3.7 // indirect - google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b // indirect - google.golang.org/grpc v1.49.0 // indirect + golang.org/x/net v0.1.0 // indirect + golang.org/x/sys v0.1.0 // indirect + golang.org/x/term v0.1.0 // indirect + golang.org/x/text v0.4.0 // indirect + google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect + google.golang.org/grpc v1.50.1 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/packages/osmosis-testing/libosmosistesting/go.sum b/packages/osmosis-testing/libosmosistesting/go.sum index 321fa627..f85dda8e 100644 --- a/packages/osmosis-testing/libosmosistesting/go.sum +++ b/packages/osmosis-testing/libosmosistesting/go.sum @@ -24,7 +24,6 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -45,9 +44,7 @@ github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwR github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= -github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= @@ -62,17 +59,14 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CosmWasm/wasmvm v1.0.0 h1:NRmnHe3xXsKn2uEcB1F5Ha323JVAhON+BI6L177dlKc= -github.com/CosmWasm/wasmvm v1.0.0/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= +github.com/CosmWasm/wasmvm v1.1.1 h1:0xtdrmmsP9fibe+x42WcMkp5aQ738BICgcH3FNVLzm4= +github.com/CosmWasm/wasmvm v1.1.1/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.5.0/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= -github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -81,11 +75,9 @@ github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrU github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.52/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA= github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= -github.com/adlio/schema v1.1.13/go.mod h1:L5Z7tw+7lRK1Fnpi/LT/ooCP1elkXn0krMWBQHUhEDE= github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= @@ -116,8 +108,6 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= @@ -152,11 +142,9 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= @@ -166,35 +154,30 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:z github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= -github.com/confio/ics23/go v0.6.6/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8= github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= -github.com/containerd/continuity v0.0.0-20190827140505-75bee3e2ccb6/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= -github.com/cosmos/cosmos-proto v1.0.0-alpha7 h1:yqYUOHF2jopwZh4dVQp3xgqwftE5/2hkrwIV6vkUbO0= -github.com/cosmos/cosmos-proto v1.0.0-alpha7/go.mod h1:dosO4pSAbJF8zWCzCoTWP7nNsjcvSUBQmniFxDg5daw= +github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= +github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= +github.com/cosmos/gogoproto v1.4.2 h1:UeGRcmFW41l0G0MiefWhkPEVEwvu78SZsHBvI78dAYw= +github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/ibc-go/v3 v3.3.0 h1:r8gYUvQreMQrf4R5RgedK9gcbjLk4uE2q6fuZGjf4n0= -github.com/cosmos/ibc-go/v3 v3.3.0/go.mod h1:VUWLHw0C3USmTQZnTdkuXXdUdLbW8zsK3lV1Ieposog= +github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= +github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= +github.com/cosmos/ibc-go/v3 v3.4.0 h1:ha3cqEG36pqMWqA1D+kxDWBTZXpeFMd/aZIQF7I0xro= +github.com/cosmos/ibc-go/v3 v3.4.0/go.mod h1:VwB/vWu4ysT5DN2aF78d17LYmx3omSAdq6gpKvM7XRA= github.com/cosmos/interchain-accounts v0.1.0 h1:QmuwNsf1Hxl3P5GSGt7Z+JeuHPiZw4Z34R/038P5T6s= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= @@ -203,12 +186,10 @@ github.com/cosmos/ledger-go v0.9.3 h1:WGyZK4ikuLIkbxJm3lEr1tdQYDdTdveTwoVla7hqfh github.com/cosmos/ledger-go v0.9.3/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -234,9 +215,7 @@ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8 github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -253,11 +232,8 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= -github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052/go.mod h1:UbMTZqLaRiH3MsBH8va0n7s1pQYcu3uTb8G4tygF4Zg= -github.com/facebookgo/subset v0.0.0-20150612182917-8dac2c3c4870/go.mod h1:5tD+neXqOorC30/tWg0LCSkrqj/AR6gu8yY8/fpw1q0= github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= @@ -266,15 +242,13 @@ github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8S github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= +github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -324,7 +298,6 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfU github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -337,7 +310,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -359,11 +331,13 @@ github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= +github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= @@ -377,8 +351,7 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -417,19 +390,15 @@ github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB7 github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= @@ -440,9 +409,7 @@ github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= @@ -482,8 +449,9 @@ github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1: github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= @@ -526,7 +494,6 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -534,17 +501,14 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM= github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= @@ -569,9 +533,9 @@ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5 github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= +github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= +github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -585,7 +549,6 @@ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -593,7 +556,6 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -622,23 +584,17 @@ github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1 github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -648,15 +604,12 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= -github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20220921135931-3c4d30596acc h1:WPsgSEDb4RsdUxhy7qmKU++kZ07mMHFVMeSl8Hp808w= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20220921135931-3c4d30596acc/go.mod h1:uUkGXyCWol+CHoaMxZA0nKglvlN5uHBCMbMSsZoGSAs= -github.com/osmosis-labs/iavl v0.17.3-osmo-v7 h1:6KcADC/WhL7yDmNQxUIJt2XmzNt4FfRmq9gRke45w74= -github.com/osmosis-labs/iavl v0.17.3-osmo-v7/go.mod h1:lJEOIlsd3sVO0JDyXWIXa9/Ur5FBscP26zJx0KxHjto= -github.com/osmosis-labs/osmosis/v12 v12.0.0 h1:2I0NVpMvQKxzQvrfdE9hDR9v7IQxSH3TE9rIOz3BwuQ= -github.com/osmosis-labs/osmosis/v12 v12.0.0/go.mod h1:fvcSb7uUM+NoDezBKUCM564hAw1LXVIuT6nXv9z3DJ0= -github.com/osmosis-labs/wasmd v0.28.0-osmo-v12.1 h1:CZJSa65banZjQNyDhp+nGPr9MRYrIfOU/aO3ww2V1Rg= -github.com/osmosis-labs/wasmd v0.28.0-osmo-v12.1/go.mod h1:7YWBfoD6zPuu6pmqnq/kMNpc+xqOaxEtolJ5/7xHzB8= +github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221122041228-bf54b8d65262 h1:LLgHdPT4sKUpyr7BtFfeC6hjyX0KNNbVL8KGF7lwse0= +github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221122041228-bf54b8d65262/go.mod h1:rud0OaBIuq3+qOqtwT4SR7Q7iSzRp7w41fjninTjfnQ= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc4 h1:pTAge5P/JfDCZkf+3LnpQ2MpilWX9rTyK3xzENcLf48= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc4/go.mod h1:IS/FR35Oelft8s93NTRRP9bTJLTbBQvIeE4Dqztq4H0= +github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 h1:HvxAks1ctB3nBx1cXqcmfA0g0BKe7Og77OA2j2rxaJk= +github.com/osmosis-labs/wasmd v0.29.2-osmo-v13/go.mod h1:UlLBU5vuHncwQUM9W8lw+2mEptEMFxxfVWupZ6sXtn4= github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= @@ -687,31 +640,28 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= -github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= +github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= @@ -719,23 +669,20 @@ github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8 github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ= -github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= @@ -758,39 +705,34 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa h1:0U2s5loxrTy6/VgfVoLuVLFJcURKLH49ie0zSch7gh4= -github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= +github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= +github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= -github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= +github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= -github.com/spf13/cobra v1.5.0 h1:X+jTBEBqF0bHN+9cSMgmfuvv2VHJ9ezmFNf9Y/XstYU= -github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -799,10 +741,8 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.13.0 h1:BWSJ/M+f+3nmdz9bxB+bWX28kkALN2ok11D0rSo8EJU= -github.com/spf13/viper v1.13.0/go.mod h1:Icm2xNL3/8uyh/wFuB1jI7TiTNKp8632Nwegu+zgdYw= +github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= +github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= @@ -811,8 +751,9 @@ github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3 github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -820,25 +761,21 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c/go.mod h1:ahpPrc7HpcfEWDQRZEmnXMzHY03mLDYMCxeDzy46i+8= github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.14/go.mod h1:FrwVm3TvsVicI9Z7FlucHV6Znfd5KBc/Lpp69cCwtk0= -github.com/tendermint/tendermint v0.34.21 h1:UiGGnBFHVrZhoQVQ7EfwSOLuCtarqCSsRf8VrklqB7s= -github.com/tendermint/tendermint v0.34.21/go.mod h1:XDvfg6U7grcFTDx7VkzxnhazQ/bspGJAn4DZ6DcLLjQ= -github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= +github.com/tendermint/tendermint v0.34.22 h1:XMhtC8s8QqJO4l/dn+TkQvevTRSow3Vixjclr41o+2Q= +github.com/tendermint/tendermint v0.34.22/go.mod h1:YpP5vBEAKUT4g6oyfjKgFeZmdB/GjkJAxfF+cgmJg6Y= github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b h1:Y3ZPG6gdDCAV2sdGkD759ji/09GzaNu1X3qKTmZIbTo= github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b/go.mod h1:ADqbS9NOSnBRK9R2RtYC61CdsHmVMD/yXAzcMuPexbU= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= @@ -847,7 +784,6 @@ github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= @@ -859,8 +795,6 @@ github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= @@ -871,12 +805,9 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= @@ -915,12 +846,10 @@ golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa h1:zuSxTR4o9y82ebqCUJYNGJbGPo6sKVl54f/TVDObg1c= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -947,7 +876,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= @@ -960,7 +888,6 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -982,7 +909,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1007,14 +933,12 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210903162142-ad29c8ab022f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220726230323-06994584191e h1:wOQNKh1uuDGRnmgF0jDxh7ctgGy/3P4rYWQRVJD4/Yg= -golang.org/x/net v0.0.0-20220726230323-06994584191e/go.mod h1:AaygXjzTFtRAg2ttMY5RMuhpJ3cNnI0XpyFJD1iQRSM= +golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1036,7 +960,6 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1053,17 +976,14 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1093,46 +1013,40 @@ golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc= -golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1154,7 +1068,6 @@ golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1192,13 +1105,11 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1268,9 +1179,8 @@ google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b h1:SfSkJugek6xm7lWywqth4r2iTrYLpD8lOj1nMIIhMNM= -google.golang.org/genproto v0.0.0-20220725144611-272f38e5d71b/go.mod h1:iHe1svFLAZg9VWz891+QbRMwUv9O/1Ww+/mngYeThbc= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -1285,7 +1195,6 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= @@ -1298,7 +1207,6 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= @@ -1332,7 +1240,6 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/packages/osmosis-testing/libosmosistesting/testenv/setup.go b/packages/osmosis-testing/libosmosistesting/testenv/setup.go index 0f390cb7..6b626b31 100644 --- a/packages/osmosis-testing/libosmosistesting/testenv/setup.go +++ b/packages/osmosis-testing/libosmosistesting/testenv/setup.go @@ -29,7 +29,7 @@ import ( wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" // osmosis - "github.com/osmosis-labs/osmosis/v12/app" + "github.com/osmosis-labs/osmosis/v13/app" ) type TestEnv struct { diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 40359c6f..925a0649 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -11,10 +11,10 @@ use proto_build::{ }; /// The Cosmos SDK commit or tag to be cloned and used to build the proto files -const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc1"; +const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v13.0.0-rc2"; +const OSMOSIS_REV: &str = "v13.0.0-rc4"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From d2f5e09fb2c1585496fa75b99650a33ac5e377a9 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 11 Nov 2022 16:25:55 +0700 Subject: [PATCH 004/142] twap example --- .../osmosis-std-cosmwasm-test/src/contract.rs | 10 +-- tests/osmosis-std-cosmwasm-test/src/msg.rs | 4 ++ .../tests/integration_test.rs | 71 ++++++++++++++++++- 3 files changed, 77 insertions(+), 8 deletions(-) diff --git a/tests/osmosis-std-cosmwasm-test/src/contract.rs b/tests/osmosis-std-cosmwasm-test/src/contract.rs index 2b524931..5a987361 100644 --- a/tests/osmosis-std-cosmwasm-test/src/contract.rs +++ b/tests/osmosis-std-cosmwasm-test/src/contract.rs @@ -14,6 +14,7 @@ use osmosis_std::types::osmosis::gamm::v1beta1::{ QueryNumPoolsRequest, QueryNumPoolsResponse, QueryPoolParamsRequest, QueryPoolParamsResponse, QueryPoolRequest, QueryPoolResponse, }; +use osmosis_std::types::osmosis::twap::v1beta1::ArithmeticTwapToNowResponse; use serde::de::DeserializeOwned; use serde::Serialize; @@ -90,11 +91,10 @@ pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> StdResult { } QueryMsg::QueryPoolParams { pool_id } => { query_and_debug::(&deps, QueryPoolParamsRequest { pool_id }) - } // Find matched incoming message variant and query them your custom logic - // and then construct your query response with the type usually defined - // `msg.rs` alongside with the query message itself. - // - // use `cosmwasm_std::to_binary` to serialize query response to json binary. + } + QueryMsg::QueryArithmeticTwapToNow(arithmetic_twap_request) => { + query_and_debug::(&deps, arithmetic_twap_request) + }, } } diff --git a/tests/osmosis-std-cosmwasm-test/src/msg.rs b/tests/osmosis-std-cosmwasm-test/src/msg.rs index 7bb54c4a..a1a116c8 100644 --- a/tests/osmosis-std-cosmwasm-test/src/msg.rs +++ b/tests/osmosis-std-cosmwasm-test/src/msg.rs @@ -3,6 +3,7 @@ pub use osmosis_std::types::osmosis::epochs::v1beta1::QueryEpochsInfoResponse; pub use osmosis_std::types::osmosis::gamm::v1beta1::{ QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; +pub use osmosis_std::types::osmosis::twap::v1beta1::{ArithmeticTwapToNowRequest,ArithmeticTwapToNowResponse}; /// Message type for `instantiate` entry_point #[cw_serde] @@ -33,4 +34,7 @@ pub enum QueryMsg { #[returns(QueryPoolParamsResponse)] QueryPoolParams { pool_id: u64 }, + + #[returns(ArithmeticTwapToNowResponse)] + QueryArithmeticTwapToNow(ArithmeticTwapToNowRequest) } diff --git a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs index a2bbb102..85d30ec5 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs @@ -1,13 +1,24 @@ mod helpers; +use core::time; +use std::time::{SystemTime, UNIX_EPOCH}; + +use cosmwasm_std::Coin; use helpers::with_env_setup; use osmosis_std::{ shim::{Duration, Timestamp}, - types::osmosis::epochs::v1beta1::EpochInfo, + types::osmosis::{ + epochs::v1beta1::EpochInfo, + gamm::{ + self, + v1beta1::{MsgSwapExactAmountInResponse, SwapAmountInRoute}, + }, + }, }; use osmosis_std_cosmwasm_test::msg::{ - QueryEpochsInfoResponse, QueryMsg, QueryNumPoolsResponse, QueryPoolParamsResponse, - QueryPoolResponse, + ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, QueryEpochsInfoResponse, QueryMsg, + QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; +use osmosis_testing::{Account, Runner}; #[test] fn test_u64_response_deser() { @@ -161,3 +172,57 @@ fn test_any_balancer_pool_params_response_deser() { false, ); } + +#[test] +fn test_twap_query() { + with_env_setup( + |app, wasm, signer, _code_id, contract_addr| { + let pools = helpers::setup_pools(app, &signer); + let pool_id = pools[0]; + + let swap = || { + app.execute::<_, MsgSwapExactAmountInResponse>( + gamm::v1beta1::MsgSwapExactAmountIn { + sender: signer.address(), + routes: vec![SwapAmountInRoute { + pool_id, + token_out_denom: "uion".to_string(), + }], + token_in: Some(Coin::new(30, "uosmo").into()), + token_out_min_amount: "1".to_string(), + }, + gamm::v1beta1::MsgSwapExactAmountIn::TYPE_URL, + &signer, + ) + .unwrap() + }; + + swap(); + swap(); + + let time = SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .checked_add(time::Duration::from_secs(30)) + .unwrap(); + + let res: ArithmeticTwapToNowResponse = wasm + .query( + &contract_addr, + &QueryMsg::QueryArithmeticTwapToNow(ArithmeticTwapToNowRequest { + pool_id, + base_asset: "uosmo".to_string(), + quote_asset: "uion".to_string(), + start_time: Some(Timestamp { + seconds: time.as_secs() as i64, + nanos: 0, + }), + }), + ) + .unwrap(); + + dbg!(res); + }, + true, + ); +} From fb79d48810cfa80f1f74dffc1e04f0775fe1e152 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 1 Dec 2022 09:42:38 +0700 Subject: [PATCH 005/142] update to osmosis v13.0.0-rc5 --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../src/types/osmosis/gamm/v1beta1.rs | 11 ++ .../src/types/osmosis/superfluid/mod.rs | 34 +++++ .../src/types/osmosis/superfluid/v1beta1.rs | 23 +++ .../osmosis-std/src/types/osmosis/twap/mod.rs | 1 - .../src/types/osmosis/twap/v1beta1.rs | 5 - .../osmosis-std/src/types/osmosis/twap/v2.rs | 131 ------------------ .../osmosis-testing/libosmosistesting/go.mod | 9 +- .../osmosis-testing/libosmosistesting/go.sum | 8 +- packages/proto-build/src/main.rs | 2 +- .../tests/integration_test.rs | 5 +- 12 files changed, 83 insertions(+), 150 deletions(-) delete mode 100644 packages/osmosis-std/src/types/osmosis/twap/v2.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index a47aba1b..73785c7a 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit a47aba1b4ac0404345c64c451952e0090279c7c8 +Subproject commit 73785c7a9567ef89cf4aa3d0e282a9a696a14b72 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 16de5f38..b5955724 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v13.0.0-rc4 \ No newline at end of file +v13.0.0-rc5 \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index 4e7614a5..7aa42b52 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -966,6 +966,9 @@ pub struct QueryPoolsWithFilterRequest { pub min_liquidity: ::prost::alloc::vec::Vec, #[prost(string, tag = "2")] pub pool_type: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub pagination: + ::core::option::Option, } #[derive( Clone, @@ -981,6 +984,10 @@ pub struct QueryPoolsWithFilterRequest { pub struct QueryPoolsWithFilterResponse { #[prost(message, repeated, tag = "1")] pub pools: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, } /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. @@ -1191,10 +1198,14 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { &self, min_liquidity: ::prost::alloc::vec::Vec, pool_type: ::prost::alloc::string::String, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, ) -> Result { QueryPoolsWithFilterRequest { min_liquidity, pool_type, + pagination, } .query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index d257f24e..8ee76373 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -915,6 +915,37 @@ pub struct QueryTotalDelegationByDelegatorResponse { pub total_equivalent_staked_amount: ::core::option::Option, } +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistRequest")] +#[proto_query( + path = "/osmosis.superfluid.Query/UnpoolWhitelist", + response_type = QueryUnpoolWhitelistResponse +)] +pub struct QueryUnpoolWhitelistRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistResponse")] +pub struct QueryUnpoolWhitelistResponse { + #[prost(uint64, repeated, tag = "1")] + pub pool_ids: ::prost::alloc::vec::Vec, +} /// GenesisState defines the module's genesis state. #[derive( Clone, @@ -1053,4 +1084,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> SuperfluidQuerier<'a, Q> { ) -> Result { QueryTotalDelegationByDelegatorRequest { delegator_address }.query(self.querier) } + pub fn unpool_whitelist(&self) -> Result { + QueryUnpoolWhitelistRequest {}.query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs index 0c159468..008bfe39 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs @@ -41,3 +41,26 @@ pub struct RemoveSuperfluidAssetsProposal { #[prost(string, repeated, tag = "3")] pub superfluid_asset_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +/// UpdateUnpoolWhiteListProposal is a gov Content type to update the +/// allowed list of pool ids. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.v1beta1.UpdateUnpoolWhiteListProposal")] +pub struct UpdateUnpoolWhiteListProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(uint64, repeated, tag = "3")] + pub ids: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_overwrite: bool, +} diff --git a/packages/osmosis-std/src/types/osmosis/twap/mod.rs b/packages/osmosis-std/src/types/osmosis/twap/mod.rs index c2072cf0..9f64fc82 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/mod.rs @@ -1,2 +1 @@ pub mod v1beta1; -pub mod v2; diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 3963b891..83f7053f 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -113,7 +113,6 @@ pub struct GenesisState { path = "/osmosis.twap.v1beta1.Query/ArithmeticTwap", response_type = ArithmeticTwapResponse )] -#[deprecated] pub struct ArithmeticTwapRequest { #[prost(uint64, tag = "1")] #[serde( @@ -141,7 +140,6 @@ pub struct ArithmeticTwapRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapResponse")] -#[deprecated] pub struct ArithmeticTwapResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, @@ -161,7 +159,6 @@ pub struct ArithmeticTwapResponse { path = "/osmosis.twap.v1beta1.Query/ArithmeticTwapToNow", response_type = ArithmeticTwapToNowResponse )] -#[deprecated] pub struct ArithmeticTwapToNowRequest { #[prost(uint64, tag = "1")] #[serde( @@ -187,7 +184,6 @@ pub struct ArithmeticTwapToNowRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowResponse")] -#[deprecated] pub struct ArithmeticTwapToNowResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, @@ -233,7 +229,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { pub fn params(&self) -> Result { ParamsRequest {}.query(self.querier) } - #[deprecated] pub fn arithmetic_twap( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/twap/v2.rs b/packages/osmosis-std/src/types/osmosis/twap/v2.rs deleted file mode 100644 index 8fa000bc..00000000 --- a/packages/osmosis-std/src/types/osmosis/twap/v2.rs +++ /dev/null @@ -1,131 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v2.ArithmeticTwapRequest")] -#[proto_query( - path = "/osmosis.twap.v2.Query/ArithmeticTwap", - response_type = ArithmeticTwapResponse -)] -pub struct ArithmeticTwapRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub end_time: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v2.ArithmeticTwapResponse")] -pub struct ArithmeticTwapResponse { - #[prost(string, tag = "1")] - pub arithmetic_twap: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v2.ArithmeticTwapToNowRequest")] -#[proto_query( - path = "/osmosis.twap.v2.Query/ArithmeticTwapToNow", - response_type = ArithmeticTwapToNowResponse -)] -pub struct ArithmeticTwapToNowRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v2.ArithmeticTwapToNowResponse")] -pub struct ArithmeticTwapToNowResponse { - #[prost(string, tag = "1")] - pub arithmetic_twap: ::prost::alloc::string::String, -} -pub struct TwapQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn arithmetic_twap( - &self, - pool_id: u64, - base_asset: ::prost::alloc::string::String, - quote_asset: ::prost::alloc::string::String, - start_time: ::core::option::Option, - end_time: ::core::option::Option, - ) -> Result { - ArithmeticTwapRequest { - pool_id, - base_asset, - quote_asset, - start_time, - end_time, - } - .query(self.querier) - } - pub fn arithmetic_twap_to_now( - &self, - pool_id: u64, - base_asset: ::prost::alloc::string::String, - quote_asset: ::prost::alloc::string::String, - start_time: ::core::option::Option, - ) -> Result { - ArithmeticTwapToNowRequest { - pool_id, - base_asset, - quote_asset, - start_time, - } - .query(self.querier) - } -} diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index 0ca841af..cf4b290d 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -6,21 +6,20 @@ replace ( github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk, current branch: v13.x. Direct commit link: https://github.com/osmosis-labs/cosmos-sdk/commit/8757a61551aa1ea993c85a523e18094ab555b1d7 // tag: https://github.com/osmosis-labs/cosmos-sdk/releases/tag/sdk-v13.0.0-rc2 - github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221122041228-bf54b8d65262 - - // fix dependabot alert: https://github.com/osmosis-labs/osmosis-rust/security/dependabot/1 - github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 + github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e // use cosmos-compatible protobufs github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 // use grpc compatible with cosmos protobufs google.golang.org/grpc => google.golang.org/grpc v1.33.2 + // fix dependabot alert: https://github.com/osmosis-labs/osmosis-rust/security/dependabot/1 + github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 ) require ( github.com/CosmWasm/wasmd v0.28.0-osmo-v12 github.com/cosmos/cosmos-sdk v0.46.6 github.com/golang/protobuf v1.5.2 - github.com/osmosis-labs/osmosis/v13 v13.0.0-rc4 + github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5 github.com/pkg/errors v0.9.1 github.com/tendermint/tendermint v0.34.22 github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b diff --git a/packages/osmosis-testing/libosmosistesting/go.sum b/packages/osmosis-testing/libosmosistesting/go.sum index f85dda8e..36e5ffcd 100644 --- a/packages/osmosis-testing/libosmosistesting/go.sum +++ b/packages/osmosis-testing/libosmosistesting/go.sum @@ -604,10 +604,10 @@ github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJ github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221122041228-bf54b8d65262 h1:LLgHdPT4sKUpyr7BtFfeC6hjyX0KNNbVL8KGF7lwse0= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221122041228-bf54b8d65262/go.mod h1:rud0OaBIuq3+qOqtwT4SR7Q7iSzRp7w41fjninTjfnQ= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc4 h1:pTAge5P/JfDCZkf+3LnpQ2MpilWX9rTyK3xzENcLf48= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc4/go.mod h1:IS/FR35Oelft8s93NTRRP9bTJLTbBQvIeE4Dqztq4H0= +github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e h1:A3byMZpvq21iI7yWJUNdHw0nf8jVAbVUsWY9twnXSXE= +github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e/go.mod h1:rud0OaBIuq3+qOqtwT4SR7Q7iSzRp7w41fjninTjfnQ= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5 h1:QMOf2nuECkUZwYUMl0c/u4SVWmcYceCpZa6HJpFisYQ= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5/go.mod h1:kmUewgpH8PSQmVFiI/6s8/VA1s9UC4fkj9VpxZEluFQ= github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 h1:HvxAks1ctB3nBx1cXqcmfA0g0BKe7Og77OA2j2rxaJk= github.com/osmosis-labs/wasmd v0.29.2-osmo-v13/go.mod h1:UlLBU5vuHncwQUM9W8lw+2mEptEMFxxfVWupZ6sXtn4= github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 925a0649..2b8f8fe6 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v13.0.0-rc4"; +const OSMOSIS_REV: &str = "v13.0.0-rc5"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. diff --git a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs index 85d30ec5..71ef5836 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs @@ -221,7 +221,10 @@ fn test_twap_query() { ) .unwrap(); - dbg!(res); + assert_eq!( + res.arithmetic_twap.chars().take(4).collect::(), + "0.94" + ); }, true, ); From 819a8cc2ecf0b50f107b1570e6f8d23b1ec41c84 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 8 Dec 2022 15:19:15 +0700 Subject: [PATCH 006/142] update to v13.1.1 --- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- packages/osmosis-testing/Cargo.toml | 2 +- .../osmosis-testing/libosmosistesting/go.mod | 7 ++-- .../osmosis-testing/libosmosistesting/go.sum | 10 +++--- packages/proto-build/src/main.rs | 2 +- tests/osmosis-std-cosmwasm-test/Cargo.toml | 2 +- .../osmosis-std-cosmwasm-test/src/contract.rs | 19 ++++++----- tests/osmosis-std-cosmwasm-test/src/msg.rs | 18 ++++++++-- tests/osmosis-std-cosmwasm-test/src/state.rs | 5 ++- .../tests/integration_test.rs | 34 +++++++++++++++++-- 10 files changed, 75 insertions(+), 26 deletions(-) diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index b5955724..bcc9a469 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v13.0.0-rc5 \ No newline at end of file +v13.1.1 \ No newline at end of file diff --git a/packages/osmosis-testing/Cargo.toml b/packages/osmosis-testing/Cargo.toml index 96f68ec6..5e69edae 100644 --- a/packages/osmosis-testing/Cargo.toml +++ b/packages/osmosis-testing/Cargo.toml @@ -3,7 +3,7 @@ description = "CosmWasm integration testing for Osmosis" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-testing" -version = "0.12.0" +version = "0.13.1" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index cf4b290d..f5e02da5 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -3,7 +3,10 @@ module github.com/osmosis-labs/osmosis-rust/osmosis-testing go 1.19 replace ( + // osmosis-patched wasmd github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 + // dragonberry + github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk, current branch: v13.x. Direct commit link: https://github.com/osmosis-labs/cosmos-sdk/commit/8757a61551aa1ea993c85a523e18094ab555b1d7 // tag: https://github.com/osmosis-labs/cosmos-sdk/releases/tag/sdk-v13.0.0-rc2 github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e @@ -11,12 +14,10 @@ replace ( github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 // use grpc compatible with cosmos protobufs google.golang.org/grpc => google.golang.org/grpc v1.33.2 - // fix dependabot alert: https://github.com/osmosis-labs/osmosis-rust/security/dependabot/1 - github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 ) require ( - github.com/CosmWasm/wasmd v0.28.0-osmo-v12 + github.com/CosmWasm/wasmd v0.29.2-osmo-v13 github.com/cosmos/cosmos-sdk v0.46.6 github.com/golang/protobuf v1.5.2 github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5 diff --git a/packages/osmosis-testing/libosmosistesting/go.sum b/packages/osmosis-testing/libosmosistesting/go.sum index 36e5ffcd..cd7549d2 100644 --- a/packages/osmosis-testing/libosmosistesting/go.sum +++ b/packages/osmosis-testing/libosmosistesting/go.sum @@ -154,8 +154,6 @@ github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:z github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= -github.com/confio/ics23/go v0.7.0 h1:00d2kukk7sPoHWL4zZBZwzxnpA2pec1NPdwbSokJ5w8= -github.com/confio/ics23/go v0.7.0/go.mod h1:E45NqnlpxGnpfTWL/xauN7MRwEE28T4Dd4uraToOaKg= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= @@ -167,6 +165,8 @@ github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= +github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= +github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= @@ -253,8 +253,8 @@ github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.7.0 h1:jGB9xAJQ12AIGNB4HguylppmDK1Am9ppF7XnGXXJuoU= -github.com/gin-gonic/gin v1.7.0/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY= +github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= +github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -278,8 +278,8 @@ github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8c github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= +github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= -github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 2b8f8fe6..e8941615 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v13.0.0-rc5"; +const OSMOSIS_REV: &str = "v13.1.1"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. diff --git a/tests/osmosis-std-cosmwasm-test/Cargo.toml b/tests/osmosis-std-cosmwasm-test/Cargo.toml index 3cd9bb23..3d601f85 100644 --- a/tests/osmosis-std-cosmwasm-test/Cargo.toml +++ b/tests/osmosis-std-cosmwasm-test/Cargo.toml @@ -43,7 +43,7 @@ optimize = """docker run --rm -v "$(pwd)":/code \ cosmwasm-schema = "1.1.2" cosmwasm-std = "1.1.2" cosmwasm-storage = "1.1.2" -cw-storage-plus = "0.13.2" +cw-storage-plus = "0.15" cw2 = "0.13.2" jsonformat = "2.0.0" osmosis-std = {path = "../../packages/osmosis-std"} diff --git a/tests/osmosis-std-cosmwasm-test/src/contract.rs b/tests/osmosis-std-cosmwasm-test/src/contract.rs index 5a987361..7df9603a 100644 --- a/tests/osmosis-std-cosmwasm-test/src/contract.rs +++ b/tests/osmosis-std-cosmwasm-test/src/contract.rs @@ -19,8 +19,8 @@ use serde::de::DeserializeOwned; use serde::Serialize; use crate::error::ContractError; -use crate::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMsg}; -use crate::state::DEBUG; +use crate::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMapResponse, QueryMsg}; +use crate::state::{DEBUG, MAP}; // version info for migration info const CONTRACT_NAME: &str = "crates.io:osmosis-std-cosmwasm-test"; @@ -63,16 +63,16 @@ pub fn migrate(_deps: DepsMut, _env: Env, msg: MigrateMsg) -> Result Result { match msg { - // Find matched incoming message variant and execute them with your custom logic. - // - // With `Response` type, it is possible to dispatch message to invoke external logic. - // See: https://github.com/CosmWasm/cosmwasm/blob/main/SEMANTICS.md#dispatching-messages + ExecuteMsg::SetMap { key, value } => { + MAP.save(deps.storage, key, &value)?; + Ok(Response::new().add_attribute("method", "set_map")) + } } } @@ -94,7 +94,10 @@ pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> StdResult { } QueryMsg::QueryArithmeticTwapToNow(arithmetic_twap_request) => { query_and_debug::(&deps, arithmetic_twap_request) - }, + } + QueryMsg::QueryMap { key } => to_binary(&QueryMapResponse { + value: MAP.load(deps.storage, key)?, + }), } } diff --git a/tests/osmosis-std-cosmwasm-test/src/msg.rs b/tests/osmosis-std-cosmwasm-test/src/msg.rs index a1a116c8..2d6e1e98 100644 --- a/tests/osmosis-std-cosmwasm-test/src/msg.rs +++ b/tests/osmosis-std-cosmwasm-test/src/msg.rs @@ -3,7 +3,9 @@ pub use osmosis_std::types::osmosis::epochs::v1beta1::QueryEpochsInfoResponse; pub use osmosis_std::types::osmosis::gamm::v1beta1::{ QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; -pub use osmosis_std::types::osmosis::twap::v1beta1::{ArithmeticTwapToNowRequest,ArithmeticTwapToNowResponse}; +pub use osmosis_std::types::osmosis::twap::v1beta1::{ + ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, +}; /// Message type for `instantiate` entry_point #[cw_serde] @@ -13,7 +15,9 @@ pub struct InstantiateMsg { /// Message type for `execute` entry_point #[cw_serde] -pub enum ExecuteMsg {} +pub enum ExecuteMsg { + SetMap { key: String, value: String }, +} /// Message type for `migrate` entry_point #[cw_serde] @@ -36,5 +40,13 @@ pub enum QueryMsg { QueryPoolParams { pool_id: u64 }, #[returns(ArithmeticTwapToNowResponse)] - QueryArithmeticTwapToNow(ArithmeticTwapToNowRequest) + QueryArithmeticTwapToNow(ArithmeticTwapToNowRequest), + + #[returns(QueryMapResponse)] + QueryMap { key: String }, +} + +#[cw_serde] +pub struct QueryMapResponse { + pub value: String, } diff --git a/tests/osmosis-std-cosmwasm-test/src/state.rs b/tests/osmosis-std-cosmwasm-test/src/state.rs index 665d294b..581164e1 100644 --- a/tests/osmosis-std-cosmwasm-test/src/state.rs +++ b/tests/osmosis-std-cosmwasm-test/src/state.rs @@ -1,3 +1,6 @@ -use cw_storage_plus::Item; +use cw_storage_plus::{Item, Map}; pub const DEBUG: Item = Item::new("debug"); + +/// for testing cosmwasm vm / storage-plus compatibility +pub const MAP: Map = Map::new("map"); diff --git a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs index 71ef5836..0518a86d 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs @@ -15,8 +15,8 @@ use osmosis_std::{ }, }; use osmosis_std_cosmwasm_test::msg::{ - ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, QueryEpochsInfoResponse, QueryMsg, - QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, + ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, ExecuteMsg, QueryEpochsInfoResponse, + QueryMapResponse, QueryMsg, QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; use osmosis_testing::{Account, Runner}; @@ -229,3 +229,33 @@ fn test_twap_query() { true, ); } + +#[test] +fn test_cosmwasm_vm_storage_plus_compatability() { + with_env_setup( + |_app, wasm, signer, _code_id, contract_addr| { + wasm.execute( + &contract_addr, + &ExecuteMsg::SetMap { + key: "key".to_string(), + value: "value".to_string(), + }, + &[], + &signer, + ) + .unwrap(); + + let res: QueryMapResponse = wasm + .query( + &contract_addr, + &QueryMsg::QueryMap { + key: "key".to_string(), + }, + ) + .unwrap(); + + assert_eq!(res.value, "value".to_string()); + }, + true, + ); +} From 41a77781ab6407d68866f7a2a720a439286dff9e Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 9 Dec 2022 12:47:59 +0700 Subject: [PATCH 007/142] fix wrong NulError report --- packages/osmosis-testing/src/runner/result.rs | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/osmosis-testing/src/runner/result.rs b/packages/osmosis-testing/src/runner/result.rs index dbdf6601..d90507b4 100644 --- a/packages/osmosis-testing/src/runner/result.rs +++ b/packages/osmosis-testing/src/runner/result.rs @@ -89,6 +89,7 @@ where /// 2 -> ExecuteError /// /// The rest are undefined and remaining spaces are reserved for future use. +#[derive(Debug)] pub struct RawResult(Result, RunnerError>); impl RawResult { @@ -105,9 +106,7 @@ impl RawResult { let content = &bytes[1..]; if code == 0 { - let res = CString::new(content).unwrap().into_bytes(); - - Some(Self(Ok(res))) + Some(Self(Ok(content.to_vec()))) } else { let content_string = CString::new(content) .unwrap() @@ -230,4 +229,19 @@ mod tests { } ) } + + #[test] + fn test_raw_result_ptr_with_0_bytes_in_content_should_not_error() { + let base64_string = base64::encode(vec![vec![0u8], vec![0u8]].concat()); + let res = RawResult::from_ptr( + CString::new(base64_string.as_bytes().to_vec()) + .unwrap() + .into_raw(), + ) + .unwrap() + .into_result() + .unwrap(); + + assert_eq!(res, vec![0u8]); + } } From 5221273543c5669642266cb196b35189535652db Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 9 Dec 2022 13:40:42 +0700 Subject: [PATCH 008/142] update deps --- dependencies/osmosis | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/osmosis b/dependencies/osmosis index 73785c7a..7568297f 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 73785c7a9567ef89cf4aa3d0e282a9a696a14b72 +Subproject commit 7568297f11160cb8b09cdb99dd737b953648b242 From 52b564b720136d688b8ac6f69bec131aa5273324 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 9 Dec 2022 13:43:16 +0700 Subject: [PATCH 009/142] bump to v0.13.2 --- packages/osmosis-std-derive/Cargo.toml | 2 +- packages/osmosis-std/Cargo.toml | 4 ++-- packages/osmosis-testing/Cargo.toml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/osmosis-std-derive/Cargo.toml b/packages/osmosis-std-derive/Cargo.toml index 8b45c823..e5a95436 100644 --- a/packages/osmosis-std-derive/Cargo.toml +++ b/packages/osmosis-std-derive/Cargo.toml @@ -3,7 +3,7 @@ description = "Procedural macro for osmosis-std" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-std-derive" -version = "0.12.0" +version = "0.13.2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/osmosis-std/Cargo.toml b/packages/osmosis-std/Cargo.toml index 135cf785..ba8995a1 100644 --- a/packages/osmosis-std/Cargo.toml +++ b/packages/osmosis-std/Cargo.toml @@ -3,14 +3,14 @@ description = "Standard library for Osmosis with CosmWasm support included" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-std" -version = "0.12.0" +version = "0.13.2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] chrono = {version = "0.4.22", default-features = false} cosmwasm-std = {version = "1.1.2", features = ["stargate"]} -osmosis-std-derive = {version = "0.12.0", path = "../osmosis-std-derive"} +osmosis-std-derive = {version = "0.13.2", path = "../osmosis-std-derive"} prost = {version = "0.11.0", default-features = false, features = ["prost-derive"]} prost-types = {version = "0.11.1", default-features = false} schemars = "0.8.8" diff --git a/packages/osmosis-testing/Cargo.toml b/packages/osmosis-testing/Cargo.toml index 5e69edae..33c897a3 100644 --- a/packages/osmosis-testing/Cargo.toml +++ b/packages/osmosis-testing/Cargo.toml @@ -3,7 +3,7 @@ description = "CosmWasm integration testing for Osmosis" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-testing" -version = "0.13.1" +version = "0.13.2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -11,7 +11,7 @@ version = "0.13.1" base64 = "0.13.0" cosmrs = {version = "0.9.0", features = ["cosmwasm"]} cosmwasm-std = "1.1.2" -osmosis-std = {version = "0.12.0", path = "../osmosis-std"} +osmosis-std = {version = "0.13.2", path = "../osmosis-std"} prost = "0.11.0" serde = "1.0.144" serde_json = "1.0.85" From 9d7a711782ad8abdb3b793e8d6074d66a346916a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 12:48:48 +0700 Subject: [PATCH 010/142] test gh workflow --- .github/workflows/update-version.yaml | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/update-version.yaml diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml new file mode 100644 index 00000000..e51cc6fa --- /dev/null +++ b/.github/workflows/update-version.yaml @@ -0,0 +1,33 @@ +on: + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug + tags: + description: "Test scenario tags" + required: false + type: boolean + environment: + description: "Environment to run tests against" + type: environment + required: true + +jobs: + log-the-inputs: + runs-on: ubuntu-latest + steps: + - run: | + echo "Log level: $LEVEL" + echo "Tags: $TAGS" + echo "Environment: $ENVIRONMENT" + env: + LEVEL: ${{ inputs.logLevel }} + TAGS: ${{ inputs.tags }} + ENVIRONMENT: ${{ inputs.environment }} From 5640195878fe1492cdc84b0e9b546764de16d5e8 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 12:50:22 +0700 Subject: [PATCH 011/142] update workflows --- .github/workflows/update-version.yaml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index e51cc6fa..8f9f87fb 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -14,10 +14,6 @@ on: description: "Test scenario tags" required: false type: boolean - environment: - description: "Environment to run tests against" - type: environment - required: true jobs: log-the-inputs: @@ -26,8 +22,6 @@ jobs: - run: | echo "Log level: $LEVEL" echo "Tags: $TAGS" - echo "Environment: $ENVIRONMENT" env: LEVEL: ${{ inputs.logLevel }} TAGS: ${{ inputs.tags }} - ENVIRONMENT: ${{ inputs.environment }} From 59c7b595b8bdf4d3e5a6f6c872f6f0c1695824a7 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 13:07:10 +0700 Subject: [PATCH 012/142] make version choice --- .github/workflows/update-version.yaml | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index 8f9f87fb..8d5cc0f9 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -1,27 +1,20 @@ on: workflow_dispatch: + name: update and rebuild inputs: - logLevel: - description: "Log level" + version: + description: "Osmosis version" required: true - default: "warning" type: choice options: - - info - - warning - - debug - tags: - description: "Test scenario tags" - required: false - type: boolean - + - main + - v13 + - v14 jobs: log-the-inputs: runs-on: ubuntu-latest steps: - run: | - echo "Log level: $LEVEL" - echo "Tags: $TAGS" + echo "version: $VERSION" env: - LEVEL: ${{ inputs.logLevel }} - TAGS: ${{ inputs.tags }} + VERSION: ${{ inputs.version }} From 0bba18aeb5334457052aaaa2a62508992f09ffb6 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 13:17:27 +0700 Subject: [PATCH 013/142] run proto build on workflow --- .github/workflows/update-version.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index 8d5cc0f9..d453eaa5 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -1,3 +1,4 @@ +name: update and rebuild on: workflow_dispatch: name: update and rebuild @@ -8,13 +9,13 @@ on: type: choice options: - main - - v13 - - v14 + - v13.x + - v13.1.2 jobs: - log-the-inputs: + build: runs-on: ubuntu-latest steps: - run: | - echo "version: $VERSION" + cd packages/proto-build && cargo run -- --update-deps env: VERSION: ${{ inputs.version }} From b8789e0a6988abfd32ea539e49cf8f68f67172e1 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 13:22:30 +0700 Subject: [PATCH 014/142] checkout before run --- .github/workflows/update-version.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index d453eaa5..48f4efa2 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -11,11 +11,18 @@ on: - main - v13.x - v13.1.2 + command: + type: string + jobs: build: runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@v3 + - run: | - cd packages/proto-build && cargo run -- --update-deps + ls && cd packages/proto-build && cargo run -- --update-deps env: VERSION: ${{ inputs.version }} + COMMAND: ${{ inputs.version }} From 3c17a1e708802cc739a9766cce7ab8c0a7217c6b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 13:32:34 +0700 Subject: [PATCH 015/142] [workflow] remove ls --- .github/workflows/update-version.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index 48f4efa2..b44d771f 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@v3 - run: | - ls && cd packages/proto-build && cargo run -- --update-deps + cd packages/proto-build && cargo run -- --update-deps env: VERSION: ${{ inputs.version }} COMMAND: ${{ inputs.version }} From 6c217d93aa2b82380f4b0302f01fc54d762161f4 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 13:37:48 +0700 Subject: [PATCH 016/142] [workflow] setup cargo cache --- .github/workflows/update-version.yaml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index b44d771f..a07464c6 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -14,6 +14,9 @@ on: command: type: string +env: + CARGO_TERM_COLORS: always + jobs: build: runs-on: ubuntu-latest @@ -21,8 +24,21 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - name: Set up cargo cache + uses: actions/cache@v3 + continue-on-error: false + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} + restore-keys: ${{ runner.os }}-cargo- + - run: | cd packages/proto-build && cargo run -- --update-deps env: VERSION: ${{ inputs.version }} - COMMAND: ${{ inputs.version }} + COMMAND: ${{ inputs.command }} From abe3c8acb16ee390ac882c153852dbd421d34aa8 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 14:56:14 +0700 Subject: [PATCH 017/142] rebuild with 7568297 --- .github/workflows/update-version.yaml | 3 +-- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- packages/proto-build/src/main.rs | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index a07464c6..14528815 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -38,7 +38,6 @@ jobs: restore-keys: ${{ runner.os }}-cargo- - run: | - cd packages/proto-build && cargo run -- --update-deps + ./scripts/update-and-rebuild.sh "$VERSION" env: VERSION: ${{ inputs.version }} - COMMAND: ${{ inputs.command }} diff --git a/dependencies/osmosis b/dependencies/osmosis index 7568297f..28234a55 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 7568297f11160cb8b09cdb99dd737b953648b242 +Subproject commit 28234a55c3cfc98f19b8b7c81902cb9e43f8e261 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index bcc9a469..5a42443e 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v13.1.1 \ No newline at end of file +v13.1.2 \ No newline at end of file diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index e8941615..3c76e75d 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v13.1.1"; +const OSMOSIS_REV: &str = "v13.1.2"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From 02d4ea44a59d33a09d6c0ec47676577e32877c7a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 14:56:39 +0700 Subject: [PATCH 018/142] rebuild with 28234a5 --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../osmosis-std/src/types/osmosis/gamm/mod.rs | 2 +- .../gamm/poolmodels/stableswap/v1beta1.rs | 8 +- .../src/types/osmosis/gamm/v1beta1.rs | 257 ------------------ .../osmosis-std/src/types/osmosis/gamm/v2.rs | 69 ----- .../src/types/osmosis/ibcratelimit/mod.rs | 1 - .../src/types/osmosis/ibcratelimit/v1beta1.rs | 62 ----- .../src/types/osmosis/incentives.rs | 37 +++ .../osmosis-std/src/types/osmosis/lockup.rs | 90 ------ packages/osmosis-std/src/types/osmosis/mod.rs | 1 - .../types/osmosis/poolincentives/v1beta1.rs | 44 --- .../src/types/osmosis/superfluid/mod.rs | 93 ------- .../src/types/osmosis/superfluid/v1beta1.rs | 23 -- .../src/types/osmosis/twap/v1beta1.rs | 194 +------------ packages/proto-build/src/main.rs | 2 +- 16 files changed, 45 insertions(+), 842 deletions(-) delete mode 100644 packages/osmosis-std/src/types/osmosis/gamm/v2.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index 28234a55..4176b287 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 28234a55c3cfc98f19b8b7c81902cb9e43f8e261 +Subproject commit 4176b287d48338870bfda3029bfa20a6e45ac126 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 5a42443e..88d050b1 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v13.1.2 \ No newline at end of file +main \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/gamm/mod.rs b/packages/osmosis-std/src/types/osmosis/gamm/mod.rs index fe6fd9d7..c9c92916 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/mod.rs @@ -1,3 +1,3 @@ pub mod poolmodels; +pub mod twap; pub mod v1beta1; -pub mod v2; diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index 6221ef56..60d2aee4 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -63,10 +63,10 @@ pub struct Pool { ::prost::alloc::vec::Vec, /// for calculation amognst assets with different precisions #[prost(uint64, repeated, packed = "false", tag = "7")] - pub scaling_factors: ::prost::alloc::vec::Vec, - /// scaling_factor_controller is the address can adjust pool scaling factors + pub scaling_factor: ::prost::alloc::vec::Vec, + /// scaling_factor_governor is the address can adjust pool scaling factors #[prost(string, tag = "8")] - pub scaling_factor_controller: ::prost::alloc::string::String, + pub scaling_factor_governor: ::prost::alloc::string::String, } /// ===================== MsgCreatePool #[derive( @@ -92,8 +92,6 @@ pub struct MsgCreateStableswapPool { pub scaling_factors: ::prost::alloc::vec::Vec, #[prost(string, tag = "5")] pub future_pool_governor: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub scaling_factor_controller: ::prost::alloc::string::String, } /// Returns a poolID with custom poolName. #[derive( diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index 7aa42b52..16856428 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -633,129 +633,6 @@ pub struct QueryNumPoolsResponse { )] pub num_pools: u64, } -///=============================== PoolType -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolTypeRequest")] -#[proto_query( - path = "/osmosis.gamm.v1beta1.Query/PoolType", - response_type = QueryPoolTypeResponse -)] -pub struct QueryPoolTypeRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolTypeResponse")] -pub struct QueryPoolTypeResponse { - #[prost(string, tag = "1")] - pub pool_type: ::prost::alloc::string::String, -} -///=============================== CalcJoinPoolShares -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolSharesRequest")] -#[proto_query( - path = "/osmosis.gamm.v1beta1.Query/CalcJoinPoolShares", - response_type = QueryCalcJoinPoolSharesResponse -)] -pub struct QueryCalcJoinPoolSharesRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(message, repeated, tag = "2")] - pub tokens_in: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolSharesResponse")] -pub struct QueryCalcJoinPoolSharesResponse { - #[prost(string, tag = "1")] - pub share_out_amount: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub tokens_out: ::prost::alloc::vec::Vec, -} -///=============================== CalcExitPoolCoinsFromShares -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcExitPoolCoinsFromSharesRequest")] -#[proto_query( - path = "/osmosis.gamm.v1beta1.Query/CalcExitPoolCoinsFromShares", - response_type = QueryCalcExitPoolCoinsFromSharesResponse -)] -pub struct QueryCalcExitPoolCoinsFromSharesRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub share_in_amount: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcExitPoolCoinsFromSharesResponse")] -pub struct QueryCalcExitPoolCoinsFromSharesResponse { - #[prost(message, repeated, tag = "1")] - pub tokens_out: ::prost::alloc::vec::Vec, -} ///=============================== PoolParams #[derive( Clone, @@ -873,49 +750,6 @@ pub struct QueryTotalSharesResponse { #[prost(message, optional, tag = "1")] pub total_shares: ::core::option::Option, } -///=============================== CalcJoinPoolNoSwapShares -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesRequest")] -#[proto_query( - path = "/osmosis.gamm.v1beta1.Query/CalcJoinPoolNoSwapShares", - response_type = QueryCalcJoinPoolNoSwapSharesResponse -)] -pub struct QueryCalcJoinPoolNoSwapSharesRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(message, repeated, tag = "2")] - pub tokens_in: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesResponse")] -pub struct QueryCalcJoinPoolNoSwapSharesResponse { - #[prost(message, repeated, tag = "1")] - pub tokens_out: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub shares_out: ::prost::alloc::string::String, -} /// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice /// query. #[derive( @@ -933,7 +767,6 @@ pub struct QueryCalcJoinPoolNoSwapSharesResponse { path = "/osmosis.gamm.v1beta1.Query/SpotPrice", response_type = QuerySpotPriceResponse )] -#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde( @@ -946,49 +779,6 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsWithFilterRequest")] -#[proto_query( - path = "/osmosis.gamm.v1beta1.Query/PoolsWithFilter", - response_type = QueryPoolsWithFilterResponse -)] -pub struct QueryPoolsWithFilterRequest { - #[prost(message, repeated, tag = "1")] - pub min_liquidity: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub pool_type: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub pagination: - ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsWithFilterResponse")] -pub struct QueryPoolsWithFilterResponse { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: - ::core::option::Option, -} /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. #[derive( @@ -1002,7 +792,6 @@ pub struct QueryPoolsWithFilterResponse { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySpotPriceResponse")] -#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -1025,7 +814,6 @@ pub struct QuerySpotPriceResponse { response_type = QuerySwapExactAmountInResponse )] pub struct QuerySwapExactAmountInRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -1071,7 +859,6 @@ pub struct QuerySwapExactAmountInResponse { response_type = QuerySwapExactAmountOutResponse )] pub struct QuerySwapExactAmountOutRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -1194,52 +981,9 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn total_liquidity(&self) -> Result { QueryTotalLiquidityRequest {}.query(self.querier) } - pub fn pools_with_filter( - &self, - min_liquidity: ::prost::alloc::vec::Vec, - pool_type: ::prost::alloc::string::String, - pagination: ::core::option::Option< - super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - ) -> Result { - QueryPoolsWithFilterRequest { - min_liquidity, - pool_type, - pagination, - } - .query(self.querier) - } pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } - pub fn pool_type(&self, pool_id: u64) -> Result { - QueryPoolTypeRequest { pool_id }.query(self.querier) - } - pub fn calc_join_pool_no_swap_shares( - &self, - pool_id: u64, - tokens_in: ::prost::alloc::vec::Vec, - ) -> Result { - QueryCalcJoinPoolNoSwapSharesRequest { pool_id, tokens_in }.query(self.querier) - } - pub fn calc_join_pool_shares( - &self, - pool_id: u64, - tokens_in: ::prost::alloc::vec::Vec, - ) -> Result { - QueryCalcJoinPoolSharesRequest { pool_id, tokens_in }.query(self.querier) - } - pub fn calc_exit_pool_coins_from_shares( - &self, - pool_id: u64, - share_in_amount: ::prost::alloc::string::String, - ) -> Result { - QueryCalcExitPoolCoinsFromSharesRequest { - pool_id, - share_in_amount, - } - .query(self.querier) - } pub fn pool_params( &self, pool_id: u64, @@ -1258,7 +1002,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { ) -> Result { QueryTotalSharesRequest { pool_id }.query(self.querier) } - #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs deleted file mode 100644 index 2159599c..00000000 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ /dev/null @@ -1,69 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice -/// query. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceRequest")] -#[proto_query( - path = "/osmosis.gamm.v2.Query/SpotPrice", - response_type = QuerySpotPriceResponse -)] -pub struct QuerySpotPriceRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset_denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset_denom: ::prost::alloc::string::String, -} -/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice -/// query. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] -pub struct QuerySpotPriceResponse { - /// String of the Dec. Ex) 10.203uatom - #[prost(string, tag = "1")] - pub spot_price: ::prost::alloc::string::String, -} -pub struct GammQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn spot_price( - &self, - pool_id: u64, - base_asset_denom: ::prost::alloc::string::String, - quote_asset_denom: ::prost::alloc::string::String, - ) -> Result { - QuerySpotPriceRequest { - pool_id, - base_asset_denom, - quote_asset_denom, - } - .query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs b/packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs deleted file mode 100644 index 9f64fc82..00000000 --- a/packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs deleted file mode 100644 index 03f9dc99..00000000 --- a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs +++ /dev/null @@ -1,62 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// Params defines the parameters for the ibc-rate-limit module. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.Params")] -pub struct Params { - #[prost(string, tag = "1")] - pub contract_address: ::prost::alloc::string::String, -} -/// QueryParamsRequest is the request type for the Query/Params RPC method. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsRequest")] -#[proto_query( - path = "/osmosis.ibcratelimit.v1beta1.Query/Params", - response_type = QueryParamsResponse -)] -pub struct QueryParamsRequest {} -/// QueryParamsResponse is the response type for the Query/Params RPC method. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsResponse")] -pub struct QueryParamsResponse { - /// params defines the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -pub struct IbcratelimitQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> IbcratelimitQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/incentives.rs b/packages/osmosis-std/src/types/osmosis/incentives.rs index 54ee89ed..c9a1638c 100644 --- a/packages/osmosis-std/src/types/osmosis/incentives.rs +++ b/packages/osmosis-std/src/types/osmosis/incentives.rs @@ -210,6 +210,38 @@ pub struct ModuleToDistributeCoinsResponse { schemars::JsonSchema, CosmwasmExt, )] +#[proto_message(type_url = "/osmosis.incentives.ModuleDistributedCoinsRequest")] +#[proto_query( + path = "/osmosis.incentives.Query/ModuleDistributedCoins", + response_type = ModuleDistributedCoinsResponse +)] +pub struct ModuleDistributedCoinsRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.incentives.ModuleDistributedCoinsResponse")] +pub struct ModuleDistributedCoinsResponse { + /// Coins that have been distributed already + #[prost(message, repeated, tag = "1")] + pub coins: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] #[proto_message(type_url = "/osmosis.incentives.GaugeByIDRequest")] #[proto_query( path = "/osmosis.incentives.Query/GaugeByID", @@ -586,6 +618,11 @@ impl<'a, Q: cosmwasm_std::CustomQuery> IncentivesQuerier<'a, Q> { ) -> Result { ModuleToDistributeCoinsRequest {}.query(self.querier) } + pub fn module_distributed_coins( + &self, + ) -> Result { + ModuleDistributedCoinsRequest {}.query(self.querier) + } pub fn gauge_by_id(&self, id: u64) -> Result { GaugeByIdRequest { id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index fe0984f6..b5017f5b 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -272,62 +272,6 @@ pub struct MsgExtendLockupResponse { #[prost(bool, tag = "1")] pub success: bool, } -/// MsgForceUnlock unlocks locks immediately for -/// addresses registered via governance. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlock")] -pub struct MsgForceUnlock { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// Amount of unlocking coins. Unlock all if not set. - #[prost(message, repeated, tag = "3")] - pub coins: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlockResponse")] -pub struct MsgForceUnlockResponse { - #[prost(bool, tag = "1")] - pub success: bool, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.Params")] -pub struct Params { - #[prost(string, repeated, tag = "1")] - pub force_unlock_allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} #[derive( Clone, PartialEq, @@ -893,37 +837,6 @@ pub struct AccountLockedLongerDurationDenomResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.QueryParamsRequest")] -#[proto_query( - path = "/osmosis.lockup.Query/Params", - response_type = QueryParamsResponse -)] -pub struct QueryParamsRequest {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.QueryParamsResponse")] -pub struct QueryParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} /// GenesisState defines the lockup module's genesis state. #[derive( Clone, @@ -1065,7 +978,4 @@ impl<'a, Q: cosmwasm_std::CustomQuery> LockupQuerier<'a, Q> { } .query(self.querier) } - pub fn params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } } diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 3278da3e..c51b48c1 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,6 +1,5 @@ pub mod epochs; pub mod gamm; -pub mod ibcratelimit; pub mod incentives; pub mod lockup; pub mod mint; diff --git a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs index 57b4ec97..c74617b4 100644 --- a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs @@ -71,48 +71,6 @@ pub struct DistrRecord { #[prost(string, tag = "2")] pub weight: ::prost::alloc::string::String, } -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauge")] -pub struct PoolToGauge { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub gauge_id: u64, - #[prost(message, optional, tag = "3")] - pub duration: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauges")] -pub struct PoolToGauges { - #[prost(message, repeated, tag = "2")] - pub pool_to_gauge: ::prost::alloc::vec::Vec, -} /// ReplacePoolIncentivesProposal is a gov Content type for updating the pool /// incentives. If a ReplacePoolIncentivesProposal passes, the proposal’s records /// override the existing DistrRecords set in the module. Each record has a @@ -435,8 +393,6 @@ pub struct GenesisState { pub lockable_durations: ::prost::alloc::vec::Vec, #[prost(message, optional, tag = "3")] pub distr_info: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub pool_to_gauges: ::core::option::Option, } pub struct PoolincentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index 8ee76373..9f110a76 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -605,59 +605,6 @@ pub struct ConnectedIntermediaryAccountResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByValidatorForDenomRequest")] -#[proto_query( - path = "/osmosis.superfluid.Query/TotalDelegationByValidatorForDenom", - response_type = QueryTotalDelegationByValidatorForDenomResponse -)] -pub struct QueryTotalDelegationByValidatorForDenomRequest { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByValidatorForDenomResponse")] -pub struct QueryTotalDelegationByValidatorForDenomResponse { - #[prost(message, repeated, tag = "1")] - pub assets: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.Delegations")] -pub struct Delegations { - #[prost(string, tag = "1")] - pub val_addr: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount_sfsd: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub osmo_equivalent: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] #[proto_message(type_url = "/osmosis.superfluid.TotalSuperfluidDelegationsRequest")] #[proto_query( path = "/osmosis.superfluid.Query/TotalSuperfluidDelegations", @@ -915,37 +862,6 @@ pub struct QueryTotalDelegationByDelegatorResponse { pub total_equivalent_staked_amount: ::core::option::Option, } -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistRequest")] -#[proto_query( - path = "/osmosis.superfluid.Query/UnpoolWhitelist", - response_type = QueryUnpoolWhitelistResponse -)] -pub struct QueryUnpoolWhitelistRequest {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistResponse")] -pub struct QueryUnpoolWhitelistResponse { - #[prost(uint64, repeated, tag = "1")] - pub pool_ids: ::prost::alloc::vec::Vec, -} /// GenesisState defines the module's genesis state. #[derive( Clone, @@ -1014,12 +930,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> SuperfluidQuerier<'a, Q> { ) -> Result { ConnectedIntermediaryAccountRequest { lock_id }.query(self.querier) } - pub fn total_delegation_by_validator_for_denom( - &self, - denom: ::prost::alloc::string::String, - ) -> Result { - QueryTotalDelegationByValidatorForDenomRequest { denom }.query(self.querier) - } pub fn total_superfluid_delegations( &self, ) -> Result { @@ -1084,7 +994,4 @@ impl<'a, Q: cosmwasm_std::CustomQuery> SuperfluidQuerier<'a, Q> { ) -> Result { QueryTotalDelegationByDelegatorRequest { delegator_address }.query(self.querier) } - pub fn unpool_whitelist(&self) -> Result { - QueryUnpoolWhitelistRequest {}.query(self.querier) - } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs index 008bfe39..0c159468 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs @@ -41,26 +41,3 @@ pub struct RemoveSuperfluidAssetsProposal { #[prost(string, repeated, tag = "3")] pub superfluid_asset_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -/// UpdateUnpoolWhiteListProposal is a gov Content type to update the -/// allowed list of pool ids. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.v1beta1.UpdateUnpoolWhiteListProposal")] -pub struct UpdateUnpoolWhiteListProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(uint64, repeated, tag = "3")] - pub ids: ::prost::alloc::vec::Vec, - #[prost(bool, tag = "4")] - pub is_overwrite: bool, -} diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 83f7053f..ccf82611 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -54,31 +54,8 @@ pub struct TwapRecord { /// (gogoproto.nullable) = false]; #[prost(string, tag = "9")] pub p1_arithmetic_twap_accumulator: ::prost::alloc::string::String, - /// This field contains the time in which the last spot price error occured. - /// It is used to alert the caller if they are getting a potentially erroneous - /// TWAP, due to an unforeseen underlying error. - #[prost(message, optional, tag = "11")] - pub last_error_time: ::core::option::Option, } -/// Params holds parameters for the twap module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.Params")] -pub struct Params { - #[prost(string, tag = "1")] - pub prune_epoch_identifier: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub record_history_keep_period: ::core::option::Option, -} -/// GenesisState defines the twap module's genesis state. +/// GenesisState defines the gamm module's genesis state. #[derive( Clone, PartialEq, @@ -91,175 +68,6 @@ pub struct Params { )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GenesisState")] pub struct GenesisState { - /// twaps is the collection of all twap records. #[prost(message, repeated, tag = "1")] pub twaps: ::prost::alloc::vec::Vec, - /// params is the container of twap parameters. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapRequest")] -#[proto_query( - path = "/osmosis.twap.v1beta1.Query/ArithmeticTwap", - response_type = ArithmeticTwapResponse -)] -pub struct ArithmeticTwapRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub end_time: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapResponse")] -pub struct ArithmeticTwapResponse { - #[prost(string, tag = "1")] - pub arithmetic_twap: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowRequest")] -#[proto_query( - path = "/osmosis.twap.v1beta1.Query/ArithmeticTwapToNow", - response_type = ArithmeticTwapToNowResponse -)] -pub struct ArithmeticTwapToNowRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowResponse")] -pub struct ArithmeticTwapToNowResponse { - #[prost(string, tag = "1")] - pub arithmetic_twap: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsRequest")] -#[proto_query( - path = "/osmosis.twap.v1beta1.Query/Params", - response_type = ParamsResponse -)] -pub struct ParamsRequest {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsResponse")] -pub struct ParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -pub struct TwapQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn params(&self) -> Result { - ParamsRequest {}.query(self.querier) - } - pub fn arithmetic_twap( - &self, - pool_id: u64, - base_asset: ::prost::alloc::string::String, - quote_asset: ::prost::alloc::string::String, - start_time: ::core::option::Option, - end_time: ::core::option::Option, - ) -> Result { - ArithmeticTwapRequest { - pool_id, - base_asset, - quote_asset, - start_time, - end_time, - } - .query(self.querier) - } - #[deprecated] - pub fn arithmetic_twap_to_now( - &self, - pool_id: u64, - base_asset: ::prost::alloc::string::String, - quote_asset: ::prost::alloc::string::String, - start_time: ::core::option::Option, - ) -> Result { - ArithmeticTwapToNowRequest { - pool_id, - base_asset, - quote_asset, - start_time, - } - .query(self.querier) - } } diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 3c76e75d..bccab819 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v13.1.2"; +const OSMOSIS_REV: &str = "main"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From dff64136e8cd3534664a74b5e31841b5f2c2b957 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 15:50:23 +0700 Subject: [PATCH 019/142] update script to be more robust --- scripts/update-and-rebuild.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 scripts/update-and-rebuild.sh diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh new file mode 100755 index 00000000..506d49f4 --- /dev/null +++ b/scripts/update-and-rebuild.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +OSMOSIS_REV=${1:-main} + +# update revision in proto-build main.rs +PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" + +sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee "$PROTO_BUILD_MAIN_RS" + +cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps + + + +# dirty or untracked file exists +if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then + git add "$SCRIPT_DIR/.." + git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" + git push +else + echo '[CLEAN] No update needed for this build' +fi \ No newline at end of file From e3efadd704004ee7b8b8201816ba41766812c004 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 16:02:49 +0700 Subject: [PATCH 020/142] rebuild with 4176b28 --- .../src/types/osmosis/gamm/twap/mod.rs | 1 + .../src/types/osmosis/gamm/twap/v1beta1.rs | 72 +++++++++++++++++++ scripts/update-and-rebuild.sh | 14 ++-- 3 files changed, 81 insertions(+), 6 deletions(-) create mode 100644 packages/osmosis-std/src/types/osmosis/gamm/twap/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs diff --git a/packages/osmosis-std/src/types/osmosis/gamm/twap/mod.rs b/packages/osmosis-std/src/types/osmosis/gamm/twap/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/gamm/twap/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs new file mode 100644 index 00000000..3631dfb8 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs @@ -0,0 +1,72 @@ +use osmosis_std_derive::CosmwasmExt; +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.twap.v1beta1.GetArithmeticTwapRequest")] +#[proto_query( + path = "/osmosis.gamm.twap.v1beta1.Query/GetArithmeticTwap", + response_type = GetArithmeticTwapResponse +)] +pub struct GetArithmeticTwapRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub end_time: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.twap.v1beta1.GetArithmeticTwapResponse")] +pub struct GetArithmeticTwapResponse { + #[prost(string, tag = "1")] + pub arithmetic_twap: ::prost::alloc::string::String, +} +pub struct TwapQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn get_arithmetic_twap( + &self, + pool_id: u64, + base_asset: ::prost::alloc::string::String, + quote_asset: ::prost::alloc::string::String, + start_time: ::core::option::Option, + end_time: ::core::option::Option, + ) -> Result { + GetArithmeticTwapRequest { + pool_id, + base_asset, + quote_asset, + start_time, + end_time, + } + .query(self.querier) + } +} diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 506d49f4..a29384e8 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -7,18 +7,20 @@ OSMOSIS_REV=${1:-main} # update revision in proto-build main.rs PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" - sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee "$PROTO_BUILD_MAIN_RS" +# rebuild osmosis-std cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps - - -# dirty or untracked file exists +# if dirty or untracked file exists if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then + # add, commit and push git add "$SCRIPT_DIR/.." git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" - git push + + BRANCH="autobuild-$OSMOSIS_REV" + git checkout -b "$BRANCH" + git push -uf origin "$BRANCH" else echo '[CLEAN] No update needed for this build' -fi \ No newline at end of file +fi From f36896a8cde61cd37bf6ad9387875e5d5a89df07 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 16:29:21 +0700 Subject: [PATCH 021/142] [workdlow][debug] cat main.rs --- scripts/update-and-rebuild.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index a29384e8..fdb0b24d 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -9,8 +9,10 @@ OSMOSIS_REV=${1:-main} PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee "$PROTO_BUILD_MAIN_RS" +cat "$PROTO_BUILD_MAIN_RS" + # rebuild osmosis-std -cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +# cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps # if dirty or untracked file exists if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then From e33487894b945ea70d5e024f54caaee5fc8a9c34 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 16:33:41 +0700 Subject: [PATCH 022/142] [workdlow][debug] ignore sigint on tee --- scripts/update-and-rebuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index fdb0b24d..bbadbb53 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -7,7 +7,7 @@ OSMOSIS_REV=${1:-main} # update revision in proto-build main.rs PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" -sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee "$PROTO_BUILD_MAIN_RS" +sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee -i "$PROTO_BUILD_MAIN_RS" cat "$PROTO_BUILD_MAIN_RS" From 596aa7ad11457f8a9837b4148fcd5492835c6c98 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 16:45:01 +0700 Subject: [PATCH 023/142] [workdlow][debug] remove cat --- scripts/update-and-rebuild.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index bbadbb53..124e6290 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -9,10 +9,8 @@ OSMOSIS_REV=${1:-main} PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee -i "$PROTO_BUILD_MAIN_RS" -cat "$PROTO_BUILD_MAIN_RS" - # rebuild osmosis-std -# cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps # if dirty or untracked file exists if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then From 8f8b8aa4490ab371caaa4fef09dd165241d49ede Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 16:58:50 +0700 Subject: [PATCH 024/142] [workdlow][debug] diff --- scripts/update-and-rebuild.sh | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 124e6290..8c6d16b1 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -9,18 +9,20 @@ OSMOSIS_REV=${1:-main} PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee -i "$PROTO_BUILD_MAIN_RS" -# rebuild osmosis-std -cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +git diff -# if dirty or untracked file exists -if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then - # add, commit and push - git add "$SCRIPT_DIR/.." - git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" +# # rebuild osmosis-std +# cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps - BRANCH="autobuild-$OSMOSIS_REV" - git checkout -b "$BRANCH" - git push -uf origin "$BRANCH" -else - echo '[CLEAN] No update needed for this build' -fi +# # if dirty or untracked file exists +# if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then +# # add, commit and push +# git add "$SCRIPT_DIR/.." +# git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" + +# BRANCH="autobuild-$OSMOSIS_REV" +# git checkout -b "$BRANCH" +# git push -uf origin "$BRANCH" +# else +# echo '[CLEAN] No update needed for this build' +# fi From 2809fcb0c7f9588f32b1305a4838e998d2c6e7eb Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 17:00:53 +0700 Subject: [PATCH 025/142] [workdlow][debug] sed -i --- scripts/testpush.sh | 15 +++++++++++++++ scripts/update-and-rebuild.sh | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100755 scripts/testpush.sh diff --git a/scripts/testpush.sh b/scripts/testpush.sh new file mode 100755 index 00000000..d44e4a15 --- /dev/null +++ b/scripts/testpush.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +OSMOSIS_REV=${1:-main} + + + +git add "$SCRIPT_DIR/.." +git commit -m "build" + +BRANCH="autobuild-$OSMOSIS_REV" +git checkout -b "$BRANCH" +git push -uf origin "$BRANCH" diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 8c6d16b1..7f970354 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -7,7 +7,7 @@ OSMOSIS_REV=${1:-main} # update revision in proto-build main.rs PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" -sed "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" | tee -i "$PROTO_BUILD_MAIN_RS" +sed -i "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" git diff From 6b34be067364b5feb45a1d3d030ce3a35d620799 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 13 Dec 2022 17:09:31 +0700 Subject: [PATCH 026/142] [workdlow][debug] add git config for bot --- .github/workflows/update-version.yaml | 17 +++++++---------- scripts/testpush.sh | 15 --------------- scripts/update-and-rebuild.sh | 26 +++++++++++++------------- 3 files changed, 20 insertions(+), 38 deletions(-) delete mode 100755 scripts/testpush.sh diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-version.yaml index 14528815..b8179333 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-version.yaml @@ -3,15 +3,9 @@ on: workflow_dispatch: name: update and rebuild inputs: - version: - description: "Osmosis version" + osmosis_rev: + description: "Osmosis revision" required: true - type: choice - options: - - main - - v13.x - - v13.1.2 - command: type: string env: @@ -38,6 +32,9 @@ jobs: restore-keys: ${{ runner.os }}-cargo- - run: | - ./scripts/update-and-rebuild.sh "$VERSION" + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + ./scripts/update-and-rebuild.sh "$OSMOSIS_REV" + env: - VERSION: ${{ inputs.version }} + OSMOSIS_REV: ${{ inputs.osmosis_rev }} diff --git a/scripts/testpush.sh b/scripts/testpush.sh deleted file mode 100755 index d44e4a15..00000000 --- a/scripts/testpush.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -set -euxo pipefail - -SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -OSMOSIS_REV=${1:-main} - - - -git add "$SCRIPT_DIR/.." -git commit -m "build" - -BRANCH="autobuild-$OSMOSIS_REV" -git checkout -b "$BRANCH" -git push -uf origin "$BRANCH" diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 7f970354..ef714168 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -11,18 +11,18 @@ sed -i "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOS git diff -# # rebuild osmosis-std -# cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +# rebuild osmosis-std +cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps -# # if dirty or untracked file exists -# if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then -# # add, commit and push -# git add "$SCRIPT_DIR/.." -# git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" +# if dirty or untracked file exists +if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then + # add, commit and push + git add "$SCRIPT_DIR/.." + git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" -# BRANCH="autobuild-$OSMOSIS_REV" -# git checkout -b "$BRANCH" -# git push -uf origin "$BRANCH" -# else -# echo '[CLEAN] No update needed for this build' -# fi + BRANCH="autobuild-$OSMOSIS_REV" + git checkout -b "$BRANCH" + git push -uf origin "$BRANCH" +else + echo '[CLEAN] No update needed for this build' +fi From f925bd81c7d18a4e5a3fe041f16fa94a0331a2ab Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 12:15:57 +0700 Subject: [PATCH 027/142] [workflow] rename and add workflow call --- .../{update-version.yaml => update-and-rebuild.yaml} | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) rename .github/workflows/{update-version.yaml => update-and-rebuild.yaml} (86%) diff --git a/.github/workflows/update-version.yaml b/.github/workflows/update-and-rebuild.yaml similarity index 86% rename from .github/workflows/update-version.yaml rename to .github/workflows/update-and-rebuild.yaml index b8179333..2c9b676e 100644 --- a/.github/workflows/update-version.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -1,10 +1,15 @@ name: update and rebuild on: - workflow_dispatch: + - workflow_dispatch: name: update and rebuild inputs: osmosis_rev: - description: "Osmosis revision" + description: "osmosis revision" + required: true + type: string + - workflow_call: + inputs: + osmosis_rev: required: true type: string From 6f9c0fb165bdf109d7c5f6311b594d744429877a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 16:08:19 +0700 Subject: [PATCH 028/142] [workflow] check updates --- .github/workflows/schedule-check.yaml | 18 ++++++++++++++++++ scripts/check-updates.sh | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 .github/workflows/schedule-check.yaml create mode 100755 scripts/check-updates.sh diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml new file mode 100644 index 00000000..cfd9b918 --- /dev/null +++ b/.github/workflows/schedule-check.yaml @@ -0,0 +1,18 @@ +name: schedule check +on: + - workflow_dispatch: + name: manual trigger + - schedule: + - cron: "5 * * * *" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + name: osmosis/osmosis + + - run: | + ./scripts/check-updates.sh diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh new file mode 100755 index 00000000..00310aea --- /dev/null +++ b/scripts/check-updates.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -euxo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +TEMP="$SCRIPT_DIR/../tmp" + +mkdir -p "$TEMP/tmp" + +# list all branches with: +# ` ` +git branch -r --format="%(refname:short) %(objectname)" --list origin/main > "$TEMP/branches" + + +# diff file / input stream +# if there is a diff, change From 3753963d410f6c6133c1f4c998c31f8bcc55fcee Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 16:09:52 +0700 Subject: [PATCH 029/142] [workflow] add fix --- .github/workflows/schedule-check.yaml | 7 ++++--- .github/workflows/update-and-rebuild.yaml | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml index cfd9b918..68cd5363 100644 --- a/.github/workflows/schedule-check.yaml +++ b/.github/workflows/schedule-check.yaml @@ -1,9 +1,10 @@ name: schedule check on: - - workflow_dispatch: + workflow_dispatch: name: manual trigger - - schedule: - - cron: "5 * * * *" + + schedule: + - cron: "5 * * * *" jobs: build: diff --git a/.github/workflows/update-and-rebuild.yaml b/.github/workflows/update-and-rebuild.yaml index 2c9b676e..c48e22a0 100644 --- a/.github/workflows/update-and-rebuild.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -1,13 +1,14 @@ name: update and rebuild on: - - workflow_dispatch: + workflow_dispatch: name: update and rebuild inputs: osmosis_rev: description: "osmosis revision" required: true type: string - - workflow_call: + + workflow_call: inputs: osmosis_rev: required: true From 5a6f0810d48852fac71be837421946c721c7d524 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 16:12:17 +0700 Subject: [PATCH 030/142] fix --- .github/workflows/schedule-check.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml index 68cd5363..cf8d991a 100644 --- a/.github/workflows/schedule-check.yaml +++ b/.github/workflows/schedule-check.yaml @@ -16,4 +16,5 @@ jobs: name: osmosis/osmosis - run: | + ls .. ./scripts/check-updates.sh From b54797b6c3f5b80eeb6c9fad07c575526b69014f Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 16:13:42 +0700 Subject: [PATCH 031/142] fix2 --- .github/workflows/schedule-check.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml index cf8d991a..998043da 100644 --- a/.github/workflows/schedule-check.yaml +++ b/.github/workflows/schedule-check.yaml @@ -13,7 +13,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - name: osmosis/osmosis + repository: osmosis/osmosis - run: | ls .. From 4537949f4ca9aef43f7cd754d35ef126429132e2 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 16:17:14 +0700 Subject: [PATCH 032/142] clone via shell --- .github/workflows/schedule-check.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml index 998043da..ba908bae 100644 --- a/.github/workflows/schedule-check.yaml +++ b/.github/workflows/schedule-check.yaml @@ -12,9 +12,12 @@ jobs: steps: - name: Checkout uses: actions/checkout@v3 - with: - repository: osmosis/osmosis + + - name: Clone Osmosis repo + run: | + git config --global url.https://github.com/.insteadOf git://github.com/ + git clone https://github.com/osmosis/osmosis.git - run: | - ls .. + ls ./scripts/check-updates.sh From 1a2502ad5d256afb38a79cd23e920ce424e4bc68 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 16:19:13 +0700 Subject: [PATCH 033/142] fix --- .github/workflows/schedule-check.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml index ba908bae..e39e6ede 100644 --- a/.github/workflows/schedule-check.yaml +++ b/.github/workflows/schedule-check.yaml @@ -15,7 +15,6 @@ jobs: - name: Clone Osmosis repo run: | - git config --global url.https://github.com/.insteadOf git://github.com/ git clone https://github.com/osmosis/osmosis.git - run: | From 13420ce39a951dde307cb7fe40ce0aedcbbfac22 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:03:05 +0700 Subject: [PATCH 034/142] try check using submodule --- .github/workflows/schedule-check.yaml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml index e39e6ede..952ed22c 100644 --- a/.github/workflows/schedule-check.yaml +++ b/.github/workflows/schedule-check.yaml @@ -13,10 +13,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 - - name: Clone Osmosis repo - run: | - git clone https://github.com/osmosis/osmosis.git - - run: | - ls - ./scripts/check-updates.sh + git submodule update --init --recursive + cd dependencies/osmosis + git branch -r --format="%(refname:short) %(objectname)" --list origin/main From 357fd0475a6613210bfa0d80c01e1a67f12ef3c9 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:23:59 +0700 Subject: [PATCH 035/142] specific for main build --- .github/workflows/schedule-check.yaml | 19 ------------------- .github/workflows/schedule-rebuild-main.yaml | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 19 deletions(-) delete mode 100644 .github/workflows/schedule-check.yaml create mode 100644 .github/workflows/schedule-rebuild-main.yaml diff --git a/.github/workflows/schedule-check.yaml b/.github/workflows/schedule-check.yaml deleted file mode 100644 index 952ed22c..00000000 --- a/.github/workflows/schedule-check.yaml +++ /dev/null @@ -1,19 +0,0 @@ -name: schedule check -on: - workflow_dispatch: - name: manual trigger - - schedule: - - cron: "5 * * * *" - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - run: | - git submodule update --init --recursive - cd dependencies/osmosis - git branch -r --format="%(refname:short) %(objectname)" --list origin/main diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml new file mode 100644 index 00000000..2b2baade --- /dev/null +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -0,0 +1,15 @@ +name: update and rebuild [main] +on: + workflow_dispatch: + name: manula trigger + schedule: + - cron: "5 * * * *" + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Run update-and-rebuild + uses: ./.github/update-and-rebuild.yaml + with: + osmosis_rev: main From 7cd204b8cd4ff1daa3dcb9247973e13d1b6fc227 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:25:09 +0700 Subject: [PATCH 036/142] check --- .github/workflows/schedule-rebuild-main.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index 2b2baade..9b6f231c 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -9,7 +9,10 @@ jobs: build: runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Run update-and-rebuild - uses: ./.github/update-and-rebuild.yaml + uses: ./.github/workflows/update-and-rebuild.yaml with: osmosis_rev: main From 75b460dffbc3bef5580758943a0ead286cbc34c6 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:27:53 +0700 Subject: [PATCH 037/142] follow doc --- .github/workflows/schedule-rebuild-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index 9b6f231c..5326212f 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -13,6 +13,6 @@ jobs: uses: actions/checkout@v3 - name: Run update-and-rebuild - uses: ./.github/workflows/update-and-rebuild.yaml + uses: osmosis/osmosis-rust/.github/workflows/update-and-rebuild.yaml@main with: osmosis_rev: main From 4465b9230a0c547db02ad1c05ff71bfc4882b738 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:29:47 +0700 Subject: [PATCH 038/142] fix --- .github/workflows/schedule-rebuild-main.yaml | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index 5326212f..686b122b 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -6,13 +6,7 @@ on: - cron: "5 * * * *" jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Run update-and-rebuild - uses: osmosis/osmosis-rust/.github/workflows/update-and-rebuild.yaml@main - with: - osmosis_rev: main + call-update-and-rebuild: + uses: osmosis/osmosis-rust/.github/workflows/update-and-rebuild.yaml@main + with: + osmosis_rev: main From 15cae9e1101777822c993da09a55a93fff7e6635 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:30:55 +0700 Subject: [PATCH 039/142] fix --- .github/workflows/schedule-rebuild-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index 686b122b..baa4a2b8 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -7,6 +7,6 @@ on: jobs: call-update-and-rebuild: - uses: osmosis/osmosis-rust/.github/workflows/update-and-rebuild.yaml@main + uses: ./.github/workflows/update-and-rebuild.yaml with: osmosis_rev: main From 22442402d47321f6bb7156dcf5971d88e2cae23f Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 14 Dec 2022 17:32:00 +0700 Subject: [PATCH 040/142] change cron from 5mins to 1 hr --- .github/workflows/schedule-rebuild-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index baa4a2b8..643c0b1c 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -3,7 +3,7 @@ on: workflow_dispatch: name: manula trigger schedule: - - cron: "5 * * * *" + - cron: "* 1 * * *" jobs: call-update-and-rebuild: From 6d1b34f1c377b9536c6a2e1a6af1636aeb29e41b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 15:22:56 +0700 Subject: [PATCH 041/142] [workflow] test dynamic matrix --- .github/workflows/schedule-rebuild-main.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index 643c0b1c..0d25f35b 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -6,7 +6,18 @@ on: - cron: "* 1 * * *" jobs: + populate-matrix: + runs-on: ubuntu-latest + outputs: + matrix: ${{ steps.set-matrix.outputs.matrix }} + steps: + - id: set-matrix + run: echo "::set-output name=matrix::{\"target\":[\"main\",\"v13.x\"]}" + call-update-and-rebuild: + needs: populate-matrix + strategy: + matrix: ${{fromJson(needs.job1.outputs.matrix)}} uses: ./.github/workflows/update-and-rebuild.yaml with: - osmosis_rev: main + osmosis_rev: ${{ matrix.target }} From b18b06b0b6d1a9a3decde3d5af64ad4be1938047 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 15:25:47 +0700 Subject: [PATCH 042/142] [workflow] fix output scope --- .github/workflows/schedule-rebuild-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index 0d25f35b..ce32c20f 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -17,7 +17,7 @@ jobs: call-update-and-rebuild: needs: populate-matrix strategy: - matrix: ${{fromJson(needs.job1.outputs.matrix)}} + matrix: ${{fromJson(needs.populate-matrix.outputs.matrix)}} uses: ./.github/workflows/update-and-rebuild.yaml with: osmosis_rev: ${{ matrix.target }} From 28706260fcae68f8b239934fa82a805334462fec Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 15:27:56 +0700 Subject: [PATCH 043/142] [workflow] update from deprecated set-output --- .github/workflows/schedule-rebuild-main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-rebuild-main.yaml index ce32c20f..c8e0e3dd 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-rebuild-main.yaml @@ -12,7 +12,7 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - id: set-matrix - run: echo "::set-output name=matrix::{\"target\":[\"main\",\"v13.x\"]}" + run: echo "matrix={\"target\":[\"main\",\"v13.x\"]}" >> $GITHUB_OUTPUT call-update-and-rebuild: needs: populate-matrix From 08e2c2f6b92f79f67abc229dec0cfb3c6709eb6e Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 18:41:20 +0700 Subject: [PATCH 044/142] [workflow] checks for new stuffs after latest tag --- ....yaml => schedule-check-and-dispatch.yaml} | 7 +++-- scripts/check-updates.sh | 30 +++++++++++++++---- scripts/update-and-rebuild.sh | 6 +++- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 1 + 4 files changed, 35 insertions(+), 9 deletions(-) rename .github/workflows/{schedule-rebuild-main.yaml => schedule-check-and-dispatch.yaml} (66%) create mode 100644 workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP diff --git a/.github/workflows/schedule-rebuild-main.yaml b/.github/workflows/schedule-check-and-dispatch.yaml similarity index 66% rename from .github/workflows/schedule-rebuild-main.yaml rename to .github/workflows/schedule-check-and-dispatch.yaml index c8e0e3dd..4b3000ac 100644 --- a/.github/workflows/schedule-rebuild-main.yaml +++ b/.github/workflows/schedule-check-and-dispatch.yaml @@ -1,4 +1,4 @@ -name: update and rebuild [main] +name: schedule check and dispatch on: workflow_dispatch: name: manula trigger @@ -12,7 +12,10 @@ jobs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: - id: set-matrix - run: echo "matrix={\"target\":[\"main\",\"v13.x\"]}" >> $GITHUB_OUTPUT + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + ./scripts/check-updates.sh call-update-and-rebuild: needs: populate-matrix diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index 00310aea..2913360c 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -4,14 +4,32 @@ set -euxo pipefail SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -TEMP="$SCRIPT_DIR/../tmp" -mkdir -p "$TEMP/tmp" +# get latest osmosis tag timestamp from workflow state +LATEST_OSMOSIS_TAG_TIMESTAMP_PATH="$SCRIPT_DIR/../workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP" +LATEST_OSMOSIS_TAG_TIMESTAMP=$(cat "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" || echo 0) -# list all branches with: +# list all branches/tags with: # ` ` -git branch -r --format="%(refname:short) %(objectname)" --list origin/main > "$TEMP/branches" +FORMAT="%(refname:short) %(committerdate:unix)" +cd dependencies/osmosis +# get all related revisions +REVS="$(git branch -r --format="$FORMAT" --list origin/main && \ + git branch -r --format="$FORMAT" --list origin/v* && \ + git tag --format="$FORMAT" --list v*)" -# diff file / input stream -# if there is a diff, change +# filter only rev that's greater than latest tag +MATRIX=$(echo "$REVS" | awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 > latest_tag_timestamp { print $1 }' | jq -RMrnc '{ "target": [inputs] }') + +# update latest tag timestmap +rm -f "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" +LATEST_OSMOSIS_TAG_TIMESTAMP="$(git tag --format="$FORMAT" | awk '{ print $2 }' | sort -nr | head -n 1)" +echo "$LATEST_OSMOSIS_TAG_TIMESTAMP" > "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" + +git add "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" +git commit -m "Update latest osmosis tag timestamp to $LATEST_OSMOSIS_TAG_TIMESTAMP" +git push + +# pass along target rev matrix +echo "matrix=$MATRIX" >> $GITHUB_OUTPUT \ No newline at end of file diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index ef714168..6f51c167 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -7,7 +7,9 @@ OSMOSIS_REV=${1:-main} # update revision in proto-build main.rs PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" -sed -i "s/const OSMOSIS_REV: \&str = \".*\";/const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";/g" "$PROTO_BUILD_MAIN_RS" + +# use @ as a separator to avoid confusion on input like "origin/main" +sed -i "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" git diff @@ -20,6 +22,8 @@ if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) git add "$SCRIPT_DIR/.." git commit -m "rebuild with $(git rev-parse --short HEAD:dependencies/osmosis)" + # remove "origin/" + OSMOSIS_REV=$(echo "$OSMOSIS_REV" | sed "s/^origin\///") BRANCH="autobuild-$OSMOSIS_REV" git checkout -b "$BRANCH" git push -uf origin "$BRANCH" diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP new file mode 100644 index 00000000..4a7567eb --- /dev/null +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -0,0 +1 @@ +1670616193 From 1594ae74df2d49ad38650376aa1f66283cd2fa5d Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 18:43:22 +0700 Subject: [PATCH 045/142] [workflow] checkout before run --- .github/workflows/schedule-check-and-dispatch.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/schedule-check-and-dispatch.yaml b/.github/workflows/schedule-check-and-dispatch.yaml index 4b3000ac..6c0ba524 100644 --- a/.github/workflows/schedule-check-and-dispatch.yaml +++ b/.github/workflows/schedule-check-and-dispatch.yaml @@ -11,6 +11,9 @@ jobs: outputs: matrix: ${{ steps.set-matrix.outputs.matrix }} steps: + - name: Checkout + uses: actions/checkout@v3 + - id: set-matrix run: | git config --global user.name "github-actions[bot]" From 188450f0781a1486d29f444e2d555cb610404d1f Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 18:44:56 +0700 Subject: [PATCH 046/142] [workflow] init submodule --- scripts/check-updates.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index 2913360c..ba810988 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -9,10 +9,13 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) LATEST_OSMOSIS_TAG_TIMESTAMP_PATH="$SCRIPT_DIR/../workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP" LATEST_OSMOSIS_TAG_TIMESTAMP=$(cat "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" || echo 0) + +git submodule update --init --recursive +cd dependencies/osmosis + # list all branches/tags with: # ` ` FORMAT="%(refname:short) %(committerdate:unix)" -cd dependencies/osmosis # get all related revisions REVS="$(git branch -r --format="$FORMAT" --list origin/main && \ From cc40037cf5eac223d1413a6894a4acabd636a710 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 18:47:34 +0700 Subject: [PATCH 047/142] [workflow] cd back to root before commit --- scripts/check-updates.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index ba810988..b02a25e4 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -3,6 +3,7 @@ set -euxo pipefail SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) +ROOT_DIR="$SCRIPT_DIR/.." # get latest osmosis tag timestamp from workflow state @@ -30,6 +31,7 @@ rm -f "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" LATEST_OSMOSIS_TAG_TIMESTAMP="$(git tag --format="$FORMAT" | awk '{ print $2 }' | sort -nr | head -n 1)" echo "$LATEST_OSMOSIS_TAG_TIMESTAMP" > "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" +cd "$ROOT_DIR" git add "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" git commit -m "Update latest osmosis tag timestamp to $LATEST_OSMOSIS_TAG_TIMESTAMP" git push From 97c5724f3836a226057c842df011403c6ae79452 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Thu, 15 Dec 2022 18:54:26 +0700 Subject: [PATCH 048/142] [workflow] check diff before trying to commit --- scripts/check-updates.sh | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index b02a25e4..36207a33 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -32,9 +32,13 @@ LATEST_OSMOSIS_TAG_TIMESTAMP="$(git tag --format="$FORMAT" | awk '{ print $2 }' echo "$LATEST_OSMOSIS_TAG_TIMESTAMP" > "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" cd "$ROOT_DIR" -git add "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" -git commit -m "Update latest osmosis tag timestamp to $LATEST_OSMOSIS_TAG_TIMESTAMP" -git push + +# if dirty or untracked file exists +if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then + git add "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" + git commit -m "Update latest osmosis tag timestamp to $LATEST_OSMOSIS_TAG_TIMESTAMP" + git push +fi # pass along target rev matrix echo "matrix=$MATRIX" >> $GITHUB_OUTPUT \ No newline at end of file From 6540d2a096b74dc80fe2ddafd96c0f5d1d71147a Mon Sep 17 00:00:00 2001 From: Supanat Date: Thu, 15 Dec 2022 19:00:42 +0700 Subject: [PATCH 049/142] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 25671db8..01f2d9c3 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +> :information_desk_person: If you want to use latest update from osmosis' main branch, checkout `autobuild-main` branch. + # osmosis-rust Rust libraries for Osmosis. The following table shows every published crates maintained in this repository: From 6188054dc732e50517c9ce96f2fe72be4fda0bb1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 16 Dec 2022 02:06:40 +0000 Subject: [PATCH 050/142] rebuild with 4176b28 --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../src/types/cosmos/bank/v1beta1.rs | 182 +++--- .../{gamm/twap => downtimedetector}/mod.rs | 0 .../types/osmosis/downtimedetector/v1beta1.rs | 130 ++++ .../osmosis-std/src/types/osmosis/gamm/mod.rs | 2 +- .../gamm/poolmodels/stableswap/v1beta1.rs | 8 +- .../src/types/osmosis/gamm/twap/v1beta1.rs | 72 --- .../src/types/osmosis/gamm/v1beta1.rs | 341 +++++++++-- .../osmosis-std/src/types/osmosis/gamm/v2.rs | 69 +++ .../src/types/osmosis/ibcratelimit/mod.rs | 1 + .../src/types/osmosis/ibcratelimit/v1beta1.rs | 62 ++ .../src/types/osmosis/incentives.rs | 139 ++--- .../osmosis-std/src/types/osmosis/lockup.rs | 116 +++- .../src/types/osmosis/mint/v1beta1.rs | 56 +- packages/osmosis-std/src/types/osmosis/mod.rs | 5 + .../types/osmosis/poolincentives/v1beta1.rs | 86 ++- .../src/types/osmosis/protorev/mod.rs | 1 + .../src/types/osmosis/protorev/v1beta1.rs | 554 ++++++++++++++++++ .../src/types/osmosis/superfluid/mod.rs | 173 ++++-- .../src/types/osmosis/superfluid/v1beta1.rs | 23 + .../src/types/osmosis/swaprouter/mod.rs | 1 + .../src/types/osmosis/swaprouter/v1beta1.rs | 399 +++++++++++++ .../src/types/osmosis/tokenfactory/v1beta1.rs | 150 ++--- .../src/types/osmosis/twap/v1beta1.rs | 199 ++++++- .../src/types/osmosis/txfees/v1beta1.rs | 36 +- .../src/types/osmosis/valsetpref/mod.rs | 1 + .../src/types/osmosis/valsetpref/v1beta1.rs | 230 ++++++++ packages/proto-build/src/main.rs | 2 +- 29 files changed, 2543 insertions(+), 499 deletions(-) rename packages/osmosis-std/src/types/osmosis/{gamm/twap => downtimedetector}/mod.rs (100%) create mode 100644 packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/gamm/v2.rs create mode 100644 packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/protorev/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/swaprouter/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/valsetpref/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index 4176b287..1c6c3c04 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 4176b287d48338870bfda3029bfa20a6e45ac126 +Subproject commit 1c6c3c04e1d4d47837ea984e5bbe0df18be76c33 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 88d050b1..1a99750f 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -main \ No newline at end of file +origin/main \ No newline at end of file diff --git a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs index 4d4a193c..7907c13e 100644 --- a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs @@ -161,6 +161,97 @@ pub struct Metadata { #[prost(string, tag = "6")] pub symbol: ::prost::alloc::string::String, } +/// SendAuthorization allows the grantee to spend up to spend_limit coins from +/// the granter's account. +/// +/// Since: cosmos-sdk 0.43 +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.SendAuthorization")] +pub struct SendAuthorization { + #[prost(message, repeated, tag = "1")] + pub spend_limit: ::prost::alloc::vec::Vec, +} +/// GenesisState defines the bank module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// balances is an array containing the balances of all the accounts. + #[prost(message, repeated, tag = "2")] + pub balances: ::prost::alloc::vec::Vec, + /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided + /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. + #[prost(message, repeated, tag = "3")] + pub supply: ::prost::alloc::vec::Vec, + /// denom_metadata defines the metadata of the differents coins. + #[prost(message, repeated, tag = "4")] + pub denom_metadata: ::prost::alloc::vec::Vec, + /// supply_offsets defines the amount of supply offset. + #[prost(message, repeated, tag = "5")] + pub supply_offsets: ::prost::alloc::vec::Vec, +} +/// Balance defines an account address and balance pair used in the bank module's +/// genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Balance")] +pub struct Balance { + /// address is the address of the balance holder. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// coins defines the different coins this balance holds. + #[prost(message, repeated, tag = "2")] + pub coins: ::prost::alloc::vec::Vec, +} +/// GenesisSupplyOffset encodes the supply offsets, just for genesis. +/// The offsets are serialized directly by denom in state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisSupplyOffset")] +pub struct GenesisSupplyOffset { + /// Denom + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// SupplyOffset + #[prost(string, tag = "2")] + pub offset: ::prost::alloc::string::String, +} /// MsgSend represents a message to send coins from one account to another. #[derive( Clone, @@ -631,97 +722,6 @@ pub struct QueryBaseDenomResponse { #[prost(string, tag = "1")] pub base_denom: ::prost::alloc::string::String, } -/// SendAuthorization allows the grantee to spend up to spend_limit coins from -/// the granter's account. -/// -/// Since: cosmos-sdk 0.43 -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.SendAuthorization")] -pub struct SendAuthorization { - #[prost(message, repeated, tag = "1")] - pub spend_limit: ::prost::alloc::vec::Vec, -} -/// GenesisState defines the bank module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines all the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// balances is an array containing the balances of all the accounts. - #[prost(message, repeated, tag = "2")] - pub balances: ::prost::alloc::vec::Vec, - /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided - /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. - #[prost(message, repeated, tag = "3")] - pub supply: ::prost::alloc::vec::Vec, - /// denom_metadata defines the metadata of the differents coins. - #[prost(message, repeated, tag = "4")] - pub denom_metadata: ::prost::alloc::vec::Vec, - /// supply_offsets defines the amount of supply offset. - #[prost(message, repeated, tag = "5")] - pub supply_offsets: ::prost::alloc::vec::Vec, -} -/// Balance defines an account address and balance pair used in the bank module's -/// genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Balance")] -pub struct Balance { - /// address is the address of the balance holder. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// coins defines the different coins this balance holds. - #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, -} -/// GenesisSupplyOffset encodes the supply offsets, just for genesis. -/// The offsets are serialized directly by denom in state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisSupplyOffset")] -pub struct GenesisSupplyOffset { - /// Denom - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - /// SupplyOffset - #[prost(string, tag = "2")] - pub offset: ::prost::alloc::string::String, -} pub struct BankQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/twap/mod.rs b/packages/osmosis-std/src/types/osmosis/downtimedetector/mod.rs similarity index 100% rename from packages/osmosis-std/src/types/osmosis/gamm/twap/mod.rs rename to packages/osmosis-std/src/types/osmosis/downtimedetector/mod.rs diff --git a/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs new file mode 100644 index 00000000..a73d777d --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs @@ -0,0 +1,130 @@ +use osmosis_std_derive::CosmwasmExt; +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum Downtime { + Duration30s = 0, + Duration1m = 1, + Duration2m = 2, + Duration3m = 3, + Duration4m = 4, + Duration5m = 5, + Duration10m = 6, + Duration20m = 7, + Duration30m = 8, + Duration40m = 9, + Duration50m = 10, + Duration1h = 11, + Duration15h = 12, + Duration2h = 13, + Duration25h = 14, + Duration3h = 15, + Duration4h = 16, + Duration5h = 17, + Duration6h = 18, + Duration9h = 19, + Duration12h = 20, + Duration18h = 21, + Duration24h = 22, + Duration36h = 23, + Duration48h = 24, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.downtimedetector.v1beta1.GenesisDowntimeEntry")] +pub struct GenesisDowntimeEntry { + #[prost(enumeration = "Downtime", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub duration: i32, + #[prost(message, optional, tag = "2")] + pub last_downtime: ::core::option::Option, +} +/// GenesisState defines the twap module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.downtimedetector.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub downtimes: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub last_block_time: ::core::option::Option, +} +/// Query for has it been at least $RECOVERY_DURATION units of time, +/// since the chain has been down for $DOWNTIME_DURATION. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.downtimedetector.v1beta1.RecoveredSinceDowntimeOfLengthRequest" +)] +#[proto_query( + path = "/osmosis.downtimedetector.v1beta1.Query/RecoveredSinceDowntimeOfLength", + response_type = RecoveredSinceDowntimeOfLengthResponse +)] +pub struct RecoveredSinceDowntimeOfLengthRequest { + #[prost(enumeration = "Downtime", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub downtime: i32, + #[prost(message, optional, tag = "2")] + pub recovery: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.downtimedetector.v1beta1.RecoveredSinceDowntimeOfLengthResponse" +)] +pub struct RecoveredSinceDowntimeOfLengthResponse { + #[prost(bool, tag = "1")] + pub succesfully_recovered: bool, +} +pub struct DowntimedetectorQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> DowntimedetectorQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn recovered_since_downtime_of_length( + &self, + downtime: i32, + recovery: ::core::option::Option, + ) -> Result { + RecoveredSinceDowntimeOfLengthRequest { downtime, recovery }.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/mod.rs b/packages/osmosis-std/src/types/osmosis/gamm/mod.rs index c9c92916..fe6fd9d7 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/mod.rs @@ -1,3 +1,3 @@ pub mod poolmodels; -pub mod twap; pub mod v1beta1; +pub mod v2; diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index 60d2aee4..6221ef56 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -63,10 +63,10 @@ pub struct Pool { ::prost::alloc::vec::Vec, /// for calculation amognst assets with different precisions #[prost(uint64, repeated, packed = "false", tag = "7")] - pub scaling_factor: ::prost::alloc::vec::Vec, - /// scaling_factor_governor is the address can adjust pool scaling factors + pub scaling_factors: ::prost::alloc::vec::Vec, + /// scaling_factor_controller is the address can adjust pool scaling factors #[prost(string, tag = "8")] - pub scaling_factor_governor: ::prost::alloc::string::String, + pub scaling_factor_controller: ::prost::alloc::string::String, } /// ===================== MsgCreatePool #[derive( @@ -92,6 +92,8 @@ pub struct MsgCreateStableswapPool { pub scaling_factors: ::prost::alloc::vec::Vec, #[prost(string, tag = "5")] pub future_pool_governor: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub scaling_factor_controller: ::prost::alloc::string::String, } /// Returns a poolID with custom poolName. #[derive( diff --git a/packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs deleted file mode 100644 index 3631dfb8..00000000 --- a/packages/osmosis-std/src/types/osmosis/gamm/twap/v1beta1.rs +++ /dev/null @@ -1,72 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.twap.v1beta1.GetArithmeticTwapRequest")] -#[proto_query( - path = "/osmosis.gamm.twap.v1beta1.Query/GetArithmeticTwap", - response_type = GetArithmeticTwapResponse -)] -pub struct GetArithmeticTwapRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub end_time: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.twap.v1beta1.GetArithmeticTwapResponse")] -pub struct GetArithmeticTwapResponse { - #[prost(string, tag = "1")] - pub arithmetic_twap: ::prost::alloc::string::String, -} -pub struct TwapQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn get_arithmetic_twap( - &self, - pool_id: u64, - base_asset: ::prost::alloc::string::String, - quote_asset: ::prost::alloc::string::String, - start_time: ::core::option::Option, - end_time: ::core::option::Option, - ) -> Result { - GetArithmeticTwapRequest { - pool_id, - base_asset, - quote_asset, - start_time, - end_time, - } - .query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index 16856428..deeec561 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -143,6 +143,48 @@ pub struct Pool { #[prost(string, tag = "7")] pub total_weight: ::prost::alloc::string::String, } +/// Params holds parameters for the incentives module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub pool_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the gamm module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// will be renamed to next_pool_id in an upcoming version + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_pool_number: u64, + #[prost(message, optional, tag = "3")] + pub params: ::core::option::Option, +} /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap #[derive( @@ -633,6 +675,129 @@ pub struct QueryNumPoolsResponse { )] pub num_pools: u64, } +///=============================== PoolType +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolTypeRequest")] +#[proto_query( + path = "/osmosis.gamm.v1beta1.Query/PoolType", + response_type = QueryPoolTypeResponse +)] +pub struct QueryPoolTypeRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolTypeResponse")] +pub struct QueryPoolTypeResponse { + #[prost(string, tag = "1")] + pub pool_type: ::prost::alloc::string::String, +} +///=============================== CalcJoinPoolShares +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolSharesRequest")] +#[proto_query( + path = "/osmosis.gamm.v1beta1.Query/CalcJoinPoolShares", + response_type = QueryCalcJoinPoolSharesResponse +)] +pub struct QueryCalcJoinPoolSharesRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(message, repeated, tag = "2")] + pub tokens_in: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolSharesResponse")] +pub struct QueryCalcJoinPoolSharesResponse { + #[prost(string, tag = "1")] + pub share_out_amount: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub tokens_out: ::prost::alloc::vec::Vec, +} +///=============================== CalcExitPoolCoinsFromShares +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcExitPoolCoinsFromSharesRequest")] +#[proto_query( + path = "/osmosis.gamm.v1beta1.Query/CalcExitPoolCoinsFromShares", + response_type = QueryCalcExitPoolCoinsFromSharesResponse +)] +pub struct QueryCalcExitPoolCoinsFromSharesRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub share_in_amount: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcExitPoolCoinsFromSharesResponse")] +pub struct QueryCalcExitPoolCoinsFromSharesResponse { + #[prost(message, repeated, tag = "1")] + pub tokens_out: ::prost::alloc::vec::Vec, +} ///=============================== PoolParams #[derive( Clone, @@ -750,6 +915,49 @@ pub struct QueryTotalSharesResponse { #[prost(message, optional, tag = "1")] pub total_shares: ::core::option::Option, } +///=============================== CalcJoinPoolNoSwapShares +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesRequest")] +#[proto_query( + path = "/osmosis.gamm.v1beta1.Query/CalcJoinPoolNoSwapShares", + response_type = QueryCalcJoinPoolNoSwapSharesResponse +)] +pub struct QueryCalcJoinPoolNoSwapSharesRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(message, repeated, tag = "2")] + pub tokens_in: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesResponse")] +pub struct QueryCalcJoinPoolNoSwapSharesResponse { + #[prost(message, repeated, tag = "1")] + pub tokens_out: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub shares_out: ::prost::alloc::string::String, +} /// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice /// query. #[derive( @@ -767,6 +975,7 @@ pub struct QueryTotalSharesResponse { path = "/osmosis.gamm.v1beta1.Query/SpotPrice", response_type = QuerySpotPriceResponse )] +#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde( @@ -779,6 +988,49 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsWithFilterRequest")] +#[proto_query( + path = "/osmosis.gamm.v1beta1.Query/PoolsWithFilter", + response_type = QueryPoolsWithFilterResponse +)] +pub struct QueryPoolsWithFilterRequest { + #[prost(message, repeated, tag = "1")] + pub min_liquidity: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub pool_type: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub pagination: + ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsWithFilterResponse")] +pub struct QueryPoolsWithFilterResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. #[derive( @@ -792,6 +1044,7 @@ pub struct QuerySpotPriceRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySpotPriceResponse")] +#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -814,6 +1067,7 @@ pub struct QuerySpotPriceResponse { response_type = QuerySwapExactAmountInResponse )] pub struct QuerySwapExactAmountInRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -859,6 +1113,7 @@ pub struct QuerySwapExactAmountInResponse { response_type = QuerySwapExactAmountOutResponse )] pub struct QuerySwapExactAmountOutRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -918,48 +1173,6 @@ pub struct QueryTotalLiquidityResponse { #[prost(message, repeated, tag = "1")] pub liquidity: ::prost::alloc::vec::Vec, } -/// Params holds parameters for the incentives module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub pool_creation_fee: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the gamm module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// will be renamed to next_pool_id in an upcoming version - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_pool_number: u64, - #[prost(message, optional, tag = "3")] - pub params: ::core::option::Option, -} pub struct GammQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -981,9 +1194,52 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn total_liquidity(&self) -> Result { QueryTotalLiquidityRequest {}.query(self.querier) } + pub fn pools_with_filter( + &self, + min_liquidity: ::prost::alloc::vec::Vec, + pool_type: ::prost::alloc::string::String, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryPoolsWithFilterRequest { + min_liquidity, + pool_type, + pagination, + } + .query(self.querier) + } pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } + pub fn pool_type(&self, pool_id: u64) -> Result { + QueryPoolTypeRequest { pool_id }.query(self.querier) + } + pub fn calc_join_pool_no_swap_shares( + &self, + pool_id: u64, + tokens_in: ::prost::alloc::vec::Vec, + ) -> Result { + QueryCalcJoinPoolNoSwapSharesRequest { pool_id, tokens_in }.query(self.querier) + } + pub fn calc_join_pool_shares( + &self, + pool_id: u64, + tokens_in: ::prost::alloc::vec::Vec, + ) -> Result { + QueryCalcJoinPoolSharesRequest { pool_id, tokens_in }.query(self.querier) + } + pub fn calc_exit_pool_coins_from_shares( + &self, + pool_id: u64, + share_in_amount: ::prost::alloc::string::String, + ) -> Result { + QueryCalcExitPoolCoinsFromSharesRequest { + pool_id, + share_in_amount, + } + .query(self.querier) + } pub fn pool_params( &self, pool_id: u64, @@ -1002,6 +1258,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { ) -> Result { QueryTotalSharesRequest { pool_id }.query(self.querier) } + #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs new file mode 100644 index 00000000..2159599c --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -0,0 +1,69 @@ +use osmosis_std_derive::CosmwasmExt; +/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice +/// query. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceRequest")] +#[proto_query( + path = "/osmosis.gamm.v2.Query/SpotPrice", + response_type = QuerySpotPriceResponse +)] +pub struct QuerySpotPriceRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset_denom: ::prost::alloc::string::String, +} +/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice +/// query. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] +pub struct QuerySpotPriceResponse { + /// String of the Dec. Ex) 10.203uatom + #[prost(string, tag = "1")] + pub spot_price: ::prost::alloc::string::String, +} +pub struct GammQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn spot_price( + &self, + pool_id: u64, + base_asset_denom: ::prost::alloc::string::String, + quote_asset_denom: ::prost::alloc::string::String, + ) -> Result { + QuerySpotPriceRequest { + pool_id, + base_asset_denom, + quote_asset_denom, + } + .query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs b/packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/ibcratelimit/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs new file mode 100644 index 00000000..03f9dc99 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs @@ -0,0 +1,62 @@ +use osmosis_std_derive::CosmwasmExt; +/// Params defines the parameters for the ibc-rate-limit module. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.Params")] +pub struct Params { + #[prost(string, tag = "1")] + pub contract_address: ::prost::alloc::string::String, +} +/// QueryParamsRequest is the request type for the Query/Params RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.ibcratelimit.v1beta1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +/// QueryParamsResponse is the response type for the Query/Params RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +pub struct IbcratelimitQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> IbcratelimitQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/incentives.rs b/packages/osmosis-std/src/types/osmosis/incentives.rs index c9a1638c..94b9ef49 100644 --- a/packages/osmosis-std/src/types/osmosis/incentives.rs +++ b/packages/osmosis-std/src/types/osmosis/incentives.rs @@ -1,4 +1,22 @@ use osmosis_std_derive::CosmwasmExt; +/// Params holds parameters for the incentives module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.incentives.Params")] +pub struct Params { + /// distr_epoch_identifier is what epoch type distribution will be triggered by + /// (day, week, etc.) + #[prost(string, tag = "1")] + pub distr_epoch_identifier: ::prost::alloc::string::String, +} /// Gauge is an object that stores and distributes yields to recipients who /// satisfy certain conditions. Currently gauges support conditions around the /// duration for which a given denom is locked. @@ -75,6 +93,39 @@ pub struct LockableDurationsInfo { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } +/// GenesisState defines the incentives module's various parameters when first +/// initialized +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.incentives.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// gauges are all gauges that should exist at genesis + #[prost(message, repeated, tag = "2")] + pub gauges: ::prost::alloc::vec::Vec, + /// lockable_durations are all lockup durations that gauges can be locked for + /// in order to recieve incentives + #[prost(message, repeated, tag = "3")] + pub lockable_durations: ::prost::alloc::vec::Vec, + /// last_gauge_id is what the gauge number will increment from when creating + /// the next gauge after genesis + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub last_gauge_id: u64, +} /// MsgCreateGauge creates a gague to distribute rewards to users #[derive( Clone, @@ -210,38 +261,6 @@ pub struct ModuleToDistributeCoinsResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.incentives.ModuleDistributedCoinsRequest")] -#[proto_query( - path = "/osmosis.incentives.Query/ModuleDistributedCoins", - response_type = ModuleDistributedCoinsResponse -)] -pub struct ModuleDistributedCoinsRequest {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.incentives.ModuleDistributedCoinsResponse")] -pub struct ModuleDistributedCoinsResponse { - /// Coins that have been distributed already - #[prost(message, repeated, tag = "1")] - pub coins: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] #[proto_message(type_url = "/osmosis.incentives.GaugeByIDRequest")] #[proto_query( path = "/osmosis.incentives.Query/GaugeByID", @@ -555,57 +574,6 @@ pub struct QueryLockableDurationsResponse { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } -/// Params holds parameters for the incentives module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.incentives.Params")] -pub struct Params { - /// distr_epoch_identifier is what epoch type distribution will be triggered by - /// (day, week, etc.) - #[prost(string, tag = "1")] - pub distr_epoch_identifier: ::prost::alloc::string::String, -} -/// GenesisState defines the incentives module's various parameters when first -/// initialized -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.incentives.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// gauges are all gauges that should exist at genesis - #[prost(message, repeated, tag = "2")] - pub gauges: ::prost::alloc::vec::Vec, - /// lockable_durations are all lockup durations that gauges can be locked for - /// in order to recieve incentives - #[prost(message, repeated, tag = "3")] - pub lockable_durations: ::prost::alloc::vec::Vec, - /// last_gauge_id is what the gauge number will increment from when creating - /// the next gauge after genesis - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub last_gauge_id: u64, -} pub struct IncentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -618,11 +586,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> IncentivesQuerier<'a, Q> { ) -> Result { ModuleToDistributeCoinsRequest {}.query(self.querier) } - pub fn module_distributed_coins( - &self, - ) -> Result { - ModuleDistributedCoinsRequest {}.query(self.querier) - } pub fn gauge_by_id(&self, id: u64) -> Result { GaugeByIdRequest { id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index b5017f5b..446c5d9c 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -133,6 +133,45 @@ pub enum LockQueryType { schemars::JsonSchema, CosmwasmExt, )] +#[proto_message(type_url = "/osmosis.lockup.Params")] +pub struct Params { + #[prost(string, repeated, tag = "1")] + pub force_unlock_allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// GenesisState defines the lockup module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.GenesisState")] +pub struct GenesisState { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub last_lock_id: u64, + #[prost(message, repeated, tag = "2")] + pub locks: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub synthetic_locks: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] #[proto_message(type_url = "/osmosis.lockup.MsgLockTokens")] pub struct MsgLockTokens { #[prost(string, tag = "1")] @@ -272,6 +311,47 @@ pub struct MsgExtendLockupResponse { #[prost(bool, tag = "1")] pub success: bool, } +/// MsgForceUnlock unlocks locks immediately for +/// addresses registered via governance. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlock")] +pub struct MsgForceUnlock { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of unlocking coins. Unlock all if not set. + #[prost(message, repeated, tag = "3")] + pub coins: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlockResponse")] +pub struct MsgForceUnlockResponse { + #[prost(bool, tag = "1")] + pub success: bool, +} #[derive( Clone, PartialEq, @@ -837,7 +917,6 @@ pub struct AccountLockedLongerDurationDenomResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } -/// GenesisState defines the lockup module's genesis state. #[derive( Clone, PartialEq, @@ -848,18 +927,26 @@ pub struct AccountLockedLongerDurationDenomResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.lockup.GenesisState")] -pub struct GenesisState { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub last_lock_id: u64, - #[prost(message, repeated, tag = "2")] - pub locks: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub synthetic_locks: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/osmosis.lockup.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.lockup.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.QueryParamsResponse")] +pub struct QueryParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, } pub struct LockupQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, @@ -978,4 +1065,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> LockupQuerier<'a, Q> { } .query(self.querier) } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs index f17f5bc2..07e2fbc2 100644 --- a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs @@ -122,6 +122,34 @@ pub struct Params { )] pub minting_rewards_distribution_start_epoch: i64, } +/// GenesisState defines the mint module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.mint.v1beta1.GenesisState")] +pub struct GenesisState { + /// minter is an abstraction for holding current rewards information. + #[prost(message, optional, tag = "1")] + pub minter: ::core::option::Option, + /// params defines all the paramaters of the mint module. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, + /// reduction_started_epoch is the first epoch in which the reduction of mint + /// begins. + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub reduction_started_epoch: i64, +} /// QueryParamsRequest is the request type for the Query/Params RPC method. #[derive( Clone, @@ -192,34 +220,6 @@ pub struct QueryEpochProvisionsResponse { #[prost(bytes = "vec", tag = "1")] pub epoch_provisions: ::prost::alloc::vec::Vec, } -/// GenesisState defines the mint module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.mint.v1beta1.GenesisState")] -pub struct GenesisState { - /// minter is an abstraction for holding current rewards information. - #[prost(message, optional, tag = "1")] - pub minter: ::core::option::Option, - /// params defines all the paramaters of the mint module. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, - /// reduction_started_epoch is the first epoch in which the reduction of mint - /// begins. - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub reduction_started_epoch: i64, -} pub struct MintQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index c51b48c1..87d154eb 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,11 +1,16 @@ +pub mod downtimedetector; pub mod epochs; pub mod gamm; +pub mod ibcratelimit; pub mod incentives; pub mod lockup; pub mod mint; pub mod poolincentives; +pub mod protorev; pub mod store; pub mod superfluid; +pub mod swaprouter; pub mod tokenfactory; pub mod twap; pub mod txfees; +pub mod valsetpref; diff --git a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs index c74617b4..1e213cb9 100644 --- a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs @@ -71,6 +71,48 @@ pub struct DistrRecord { #[prost(string, tag = "2")] pub weight: ::prost::alloc::string::String, } +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauge")] +pub struct PoolToGauge { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub gauge_id: u64, + #[prost(message, optional, tag = "3")] + pub duration: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauges")] +pub struct PoolToGauges { + #[prost(message, repeated, tag = "2")] + pub pool_to_gauge: ::prost::alloc::vec::Vec, +} /// ReplacePoolIncentivesProposal is a gov Content type for updating the pool /// incentives. If a ReplacePoolIncentivesProposal passes, the proposal’s records /// override the existing DistrRecords set in the module. Each record has a @@ -123,6 +165,29 @@ pub struct UpdatePoolIncentivesProposal { #[prost(message, repeated, tag = "3")] pub records: ::prost::alloc::vec::Vec, } +/// GenesisState defines the pool incentives module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub lockable_durations: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub distr_info: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub pool_to_gauges: ::core::option::Option, +} #[derive( Clone, PartialEq, @@ -373,27 +438,6 @@ pub struct QueryExternalIncentiveGaugesResponse { #[prost(message, repeated, tag = "1")] pub data: ::prost::alloc::vec::Vec, } -/// GenesisState defines the pool incentives module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines all the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub lockable_durations: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub distr_info: ::core::option::Option, -} pub struct PoolincentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/protorev/mod.rs b/packages/osmosis-std/src/types/osmosis/protorev/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/protorev/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs new file mode 100644 index 00000000..d40dea38 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs @@ -0,0 +1,554 @@ +use osmosis_std_derive::CosmwasmExt; +/// Params defines the parameters for the module. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.Params")] +pub struct Params { + /// Boolean whether the module is going to be enabled + #[prost(bool, tag = "1")] + pub enabled: bool, +} +/// TokenPairArbRoutes tracks all of the hot routes for a given pair of tokens +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.TokenPairArbRoutes")] +pub struct TokenPairArbRoutes { + /// Stores all of the possible hot paths for a given pair of tokens + #[prost(message, repeated, tag = "1")] + pub arb_routes: ::prost::alloc::vec::Vec, + /// Token denomination of the first asset + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + /// Token denomination of the second asset + #[prost(string, tag = "3")] + pub token_out: ::prost::alloc::string::String, +} +/// Route is a hot route for a given pair of tokens +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.Route")] +pub struct Route { + /// The pool IDs that are travered in the directed cyclic graph (traversed left + /// -> right) + #[prost(message, repeated, tag = "1")] + pub trades: ::prost::alloc::vec::Vec, +} +/// Trade is a single trade in a route +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.Trade")] +pub struct Trade { + /// The pool IDs that are travered in the directed cyclic graph (traversed left + /// -> right) + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool: u64, + /// The denom of token A that is traded + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + /// The denom of token B that is traded + #[prost(string, tag = "3")] + pub token_out: ::prost::alloc::string::String, +} +/// PoolStatistics contains the number of trades the module has executed after a +/// swap on a given pool and the profits from the trades +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.PoolStatistics")] +pub struct PoolStatistics { + /// profits is the total profit from all trades on this pool + #[prost(message, repeated, tag = "1")] + pub profits: ::prost::alloc::vec::Vec, + /// number_of_trades is the number of trades the module has executed + #[prost(string, tag = "2")] + pub number_of_trades: ::prost::alloc::string::String, + /// pool_id is the id of the pool + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +/// SetProtoRevEnabledProposal is a gov Content type to update whether the +/// protorev module is enabled +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevEnabledProposal")] +pub struct SetProtoRevEnabledProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub enabled: bool, +} +/// SetProtoRevAdminAccountProposal is a gov Content type to set the admin +/// account that will receive permissions to alter hot routes and set the +/// developer address that will be receiving a share of profits from the module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevAdminAccountProposal")] +pub struct SetProtoRevAdminAccountProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub account: ::prost::alloc::string::String, +} +/// GenesisState defines the protorev module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.GenesisState")] +pub struct GenesisState { + /// Module Parameters + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// Hot routes that are configured on genesis + #[prost(message, repeated, tag = "2")] + pub token_pairs: ::prost::alloc::vec::Vec, +} +/// MsgSetHotRoutes defines the Msg/SetHotRoutes request type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetHotRoutes")] +pub struct MsgSetHotRoutes { + /// admin is the account that is authorized to set the hot routes. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// hot_routes is the list of hot routes to set. + #[prost(message, repeated, tag = "2")] + pub hot_routes: ::prost::alloc::vec::Vec, +} +/// MsgSetHotRoutesResponse defines the Msg/SetHotRoutes response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetHotRoutesResponse")] +pub struct MsgSetHotRoutesResponse {} +/// MsgSetDeveloperAccount defines the Msg/SetDeveloperAccount request type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccount")] +pub struct MsgSetDeveloperAccount { + /// admin is the account that is authorized to set the developer account. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// developer_account is the account that will receive a portion of the profits + /// from the protorev module. + #[prost(string, tag = "2")] + pub developer_account: ::prost::alloc::string::String, +} +/// MsgSetDeveloperAccountResponse defines the Msg/SetDeveloperAccount response +/// type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccountResponse")] +pub struct MsgSetDeveloperAccountResponse {} +/// QueryParamsRequest is request type for the Query/Params RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +/// QueryParamsResponse is response type for the Query/Params RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + /// params holds all the parameters of this module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// QueryGetProtoRevNumberOfTradesRequest is request type for the +/// Query/GetProtoRevNumberOfTrades RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevNumberOfTradesRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevNumberOfTrades", + response_type = QueryGetProtoRevNumberOfTradesResponse +)] +pub struct QueryGetProtoRevNumberOfTradesRequest {} +/// QueryGetProtoRevNumberOfTradesResponse is response type for the +/// Query/GetProtoRevNumberOfTrades RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevNumberOfTradesResponse")] +pub struct QueryGetProtoRevNumberOfTradesResponse { + /// number_of_trades is the number of trades the module has executed + #[prost(string, tag = "1")] + pub number_of_trades: ::prost::alloc::string::String, +} +/// QueryGetProtoRevProfitsByDenomRequest is request type for the +/// Query/GetProtoRevProfitsByDenom RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevProfitsByDenomRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevProfitsByDenom", + response_type = QueryGetProtoRevProfitsByDenomResponse +)] +pub struct QueryGetProtoRevProfitsByDenomRequest { + /// denom is the denom to query profits by + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +/// QueryGetProtoRevProfitsByDenomResponse is response type for the +/// Query/GetProtoRevProfitsByDenom RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevProfitsByDenomResponse")] +pub struct QueryGetProtoRevProfitsByDenomResponse { + /// profit is the profits of the module by the selected denom + #[prost(message, optional, tag = "1")] + pub profit: ::core::option::Option, +} +/// QueryGetProtoRevAllProfitsRequest is request type for the +/// Query/GetProtoRevAllProfits RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllProfitsRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevAllProfits", + response_type = QueryGetProtoRevAllProfitsResponse +)] +pub struct QueryGetProtoRevAllProfitsRequest {} +/// QueryGetProtoRevAllProfitsResponse is response type for the +/// Query/GetProtoRevAllProfits RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllProfitsResponse")] +pub struct QueryGetProtoRevAllProfitsResponse { + /// profits is a list of all of the profits from the module + #[prost(message, repeated, tag = "1")] + pub profits: ::prost::alloc::vec::Vec, +} +/// QueryGetProtoRevStatisticsByPoolRequest is request type for the +/// Query/GetProtoRevStatisticsByPool RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByPoolRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevStatisticsByPool", + response_type = QueryGetProtoRevStatisticsByPoolResponse +)] +pub struct QueryGetProtoRevStatisticsByPoolRequest { + /// pool_id is the pool id to query statistics by + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +/// QueryGetProtoRevStatisticsByPoolResponse is response type for the +/// Query/GetProtoRevStatisticsByPool RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByPoolResponse")] +pub struct QueryGetProtoRevStatisticsByPoolResponse { + /// statistics contains the number of trades the module has executed after a + /// swap on a given pool and the profits from the trades + #[prost(message, optional, tag = "1")] + pub statistics: ::core::option::Option, +} +/// QueryGetProtoRevAllStatisticsRequest is request type for the +/// Query/GetProtoRevAllStatistics RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllStatisticsRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevAllStatistics", + response_type = QueryGetProtoRevAllStatisticsResponse +)] +pub struct QueryGetProtoRevAllStatisticsRequest {} +/// QueryGetProtoRevAllStatisticsResponse is response type for the +/// Query/GetProtoRevAllStatistics RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllStatisticsResponse")] +pub struct QueryGetProtoRevAllStatisticsResponse { + /// statistics contains the number of trades the module has executed after a + /// swap on a given pool and the profits from the trades for all pools + #[prost(message, repeated, tag = "1")] + pub statistics: ::prost::alloc::vec::Vec, +} +/// QueryGetProtoRevTokenPairArbRoutesRequest is request type for the +/// Query/GetProtoRevTokenPairArbRoutes RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevTokenPairArbRoutesRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevTokenPairArbRoutes", + response_type = QueryGetProtoRevTokenPairArbRoutesResponse +)] +pub struct QueryGetProtoRevTokenPairArbRoutesRequest {} +/// QueryGetProtoRevTokenPairArbRoutesResponse is response type for the +/// Query/GetProtoRevTokenPairArbRoutes RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevTokenPairArbRoutesResponse")] +pub struct QueryGetProtoRevTokenPairArbRoutesResponse { + /// routes is a list of all of the hot routes that the module is currently + /// arbitraging + #[prost(message, repeated, tag = "1")] + pub routes: ::prost::alloc::vec::Vec, +} +pub struct ProtorevQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> ProtorevQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } + pub fn get_proto_rev_number_of_trades( + &self, + ) -> Result { + QueryGetProtoRevNumberOfTradesRequest {}.query(self.querier) + } + pub fn get_proto_rev_profits_by_denom( + &self, + denom: ::prost::alloc::string::String, + ) -> Result { + QueryGetProtoRevProfitsByDenomRequest { denom }.query(self.querier) + } + pub fn get_proto_rev_all_profits( + &self, + ) -> Result { + QueryGetProtoRevAllProfitsRequest {}.query(self.querier) + } + pub fn get_proto_rev_statistics_by_pool( + &self, + pool_id: u64, + ) -> Result { + QueryGetProtoRevStatisticsByPoolRequest { pool_id }.query(self.querier) + } + pub fn get_proto_rev_all_statistics( + &self, + ) -> Result { + QueryGetProtoRevAllStatisticsRequest {}.query(self.querier) + } + pub fn get_proto_rev_token_pair_arb_routes( + &self, + ) -> Result { + QueryGetProtoRevTokenPairArbRoutesRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index 9f110a76..d506fb8a 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1,5 +1,25 @@ pub mod v1beta1; use osmosis_std_derive::CosmwasmExt; +/// Params holds parameters for the superfluid module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.Params")] +pub struct Params { + /// minimum_risk_factor is to be cut on OSMO equivalent value of lp tokens for + /// superfluid staking, default: 5%. The minimum risk factor works + /// to counter-balance the staked amount on chain's exposure to various asset + /// volatilities, and have base staking be 'resistant' to volatility. + #[prost(string, tag = "1")] + pub minimum_risk_factor: ::prost::alloc::string::String, +} /// SuperfluidAsset stores the pair of superfluid asset type and denom pair #[derive( Clone, @@ -154,6 +174,37 @@ pub enum SuperfluidAssetType { /// SuperfluidAssetTypeLendingShare = 2; // for now not exist LpShare = 1, } +/// GenesisState defines the module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.GenesisState")] +pub struct GenesisState { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// superfluid_assets defines the registered superfluid assets that have been + /// registered via governance. + #[prost(message, repeated, tag = "2")] + pub superfluid_assets: ::prost::alloc::vec::Vec, + /// osmo_equivalent_multipliers is the records of osmo equivalent amount of + /// each superfluid registered pool, updated every epoch. + #[prost(message, repeated, tag = "3")] + pub osmo_equivalent_multipliers: ::prost::alloc::vec::Vec, + /// intermediary_accounts is a secondary account for superfluid staking that + /// plays an intermediary role between validators and the delegators. + #[prost(message, repeated, tag = "4")] + pub intermediary_accounts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub intemediary_account_connections: + ::prost::alloc::vec::Vec, +} #[derive( Clone, PartialEq, @@ -340,26 +391,6 @@ pub struct MsgUnPoolWhitelistedPoolResponse { #[prost(uint64, repeated, tag = "1")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } -/// Params holds parameters for the superfluid module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.Params")] -pub struct Params { - /// minimum_risk_factor is to be cut on OSMO equivalent value of lp tokens for - /// superfluid staking, default: 5%. The minimum risk factor works - /// to counter-balance the staked amount on chain's exposure to various asset - /// volatilities, and have base staking be 'resistant' to volatility. - #[prost(string, tag = "1")] - pub minimum_risk_factor: ::prost::alloc::string::String, -} #[derive( Clone, PartialEq, @@ -605,6 +636,59 @@ pub struct ConnectedIntermediaryAccountResponse { schemars::JsonSchema, CosmwasmExt, )] +#[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByValidatorForDenomRequest")] +#[proto_query( + path = "/osmosis.superfluid.Query/TotalDelegationByValidatorForDenom", + response_type = QueryTotalDelegationByValidatorForDenomResponse +)] +pub struct QueryTotalDelegationByValidatorForDenomRequest { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByValidatorForDenomResponse")] +pub struct QueryTotalDelegationByValidatorForDenomResponse { + #[prost(message, repeated, tag = "1")] + pub assets: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.Delegations")] +pub struct Delegations { + #[prost(string, tag = "1")] + pub val_addr: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount_sfsd: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub osmo_equivalent: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] #[proto_message(type_url = "/osmosis.superfluid.TotalSuperfluidDelegationsRequest")] #[proto_query( path = "/osmosis.superfluid.Query/TotalSuperfluidDelegations", @@ -862,7 +946,6 @@ pub struct QueryTotalDelegationByDelegatorResponse { pub total_equivalent_staked_amount: ::core::option::Option, } -/// GenesisState defines the module's genesis state. #[derive( Clone, PartialEq, @@ -873,25 +956,26 @@ pub struct QueryTotalDelegationByDelegatorResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.superfluid.GenesisState")] -pub struct GenesisState { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// superfluid_assets defines the registered superfluid assets that have been - /// registered via governance. - #[prost(message, repeated, tag = "2")] - pub superfluid_assets: ::prost::alloc::vec::Vec, - /// osmo_equivalent_multipliers is the records of osmo equivalent amount of - /// each superfluid registered pool, updated every epoch. - #[prost(message, repeated, tag = "3")] - pub osmo_equivalent_multipliers: ::prost::alloc::vec::Vec, - /// intermediary_accounts is a secondary account for superfluid staking that - /// plays an intermediary role between validators and the delegators. - #[prost(message, repeated, tag = "4")] - pub intermediary_accounts: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub intemediary_account_connections: - ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistRequest")] +#[proto_query( + path = "/osmosis.superfluid.Query/UnpoolWhitelist", + response_type = QueryUnpoolWhitelistResponse +)] +pub struct QueryUnpoolWhitelistRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistResponse")] +pub struct QueryUnpoolWhitelistResponse { + #[prost(uint64, repeated, tag = "1")] + pub pool_ids: ::prost::alloc::vec::Vec, } pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, @@ -930,6 +1014,12 @@ impl<'a, Q: cosmwasm_std::CustomQuery> SuperfluidQuerier<'a, Q> { ) -> Result { ConnectedIntermediaryAccountRequest { lock_id }.query(self.querier) } + pub fn total_delegation_by_validator_for_denom( + &self, + denom: ::prost::alloc::string::String, + ) -> Result { + QueryTotalDelegationByValidatorForDenomRequest { denom }.query(self.querier) + } pub fn total_superfluid_delegations( &self, ) -> Result { @@ -994,4 +1084,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> SuperfluidQuerier<'a, Q> { ) -> Result { QueryTotalDelegationByDelegatorRequest { delegator_address }.query(self.querier) } + pub fn unpool_whitelist(&self) -> Result { + QueryUnpoolWhitelistRequest {}.query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs index 0c159468..008bfe39 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs @@ -41,3 +41,26 @@ pub struct RemoveSuperfluidAssetsProposal { #[prost(string, repeated, tag = "3")] pub superfluid_asset_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +/// UpdateUnpoolWhiteListProposal is a gov Content type to update the +/// allowed list of pool ids. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.v1beta1.UpdateUnpoolWhiteListProposal")] +pub struct UpdateUnpoolWhiteListProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(uint64, repeated, tag = "3")] + pub ids: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "4")] + pub is_overwrite: bool, +} diff --git a/packages/osmosis-std/src/types/osmosis/swaprouter/mod.rs b/packages/osmosis-std/src/types/osmosis/swaprouter/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/swaprouter/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs new file mode 100644 index 00000000..9793ef81 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs @@ -0,0 +1,399 @@ +use osmosis_std_derive::CosmwasmExt; +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.SwapAmountInRoute")] +pub struct SwapAmountInRoute { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_out_denom: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.SwapAmountOutRoute")] +pub struct SwapAmountOutRoute { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in_denom: ::prost::alloc::string::String, +} +/// ModuleRouter defines a route encapsulating pool type. +/// It is used as the value of a mapping from pool id to the pool type, +/// allowing the swap router to know which module to route swaps to given the +/// pool id. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.ModuleRoute")] +pub struct ModuleRoute { + /// pool_type specifies the type of the pool + #[prost(enumeration = "PoolType", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_type: i32, +} +/// PoolType is an enumeration of all supported pool types. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum PoolType { + /// Balancer is the standard xy=k curve. Its pool model is defined in x/gamm. + Balancer = 0, + /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined + /// in x/gamm. + Stableswap = 1, + /// Concentrated is the pool model specific to concentrated liquidity. It is + /// defined in x/concentrated-liquidity. + Concentrated = 2, +} +/// Params holds parameters for the swaprouter module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub pool_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the swaprouter module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.GenesisState")] +pub struct GenesisState { + /// the next_pool_id + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_pool_id: u64, + /// params is the container of swaprouter parameters. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, +} +/// ===================== MsgSwapExactAmountIn +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountIn")] +pub struct MsgSwapExactAmountIn { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub routes: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub token_in: ::core::option::Option, + #[prost(string, tag = "4")] + pub token_out_min_amount: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountInResponse")] +pub struct MsgSwapExactAmountInResponse { + #[prost(string, tag = "1")] + pub token_out_amount: ::prost::alloc::string::String, +} +/// ===================== MsgSwapExactAmountOut +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountOut")] +pub struct MsgSwapExactAmountOut { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub routes: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub token_in_max_amount: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub token_out: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountOutResponse")] +pub struct MsgSwapExactAmountOutResponse { + #[prost(string, tag = "1")] + pub token_in_amount: ::prost::alloc::string::String, +} +///=============================== Params +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.ParamsRequest")] +#[proto_query( + path = "/osmosis.swaprouter.v1beta1.Query/Params", + response_type = ParamsResponse +)] +pub struct ParamsRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.ParamsResponse")] +pub struct ParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +///=============================== EstimateSwapExactAmountIn +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountInRequest")] +#[proto_query( + path = "/osmosis.swaprouter.v1beta1.Query/EstimateSwapExactAmountIn", + response_type = EstimateSwapExactAmountInResponse +)] +pub struct EstimateSwapExactAmountInRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "3")] + pub token_in: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "4")] + pub routes: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountInResponse")] +pub struct EstimateSwapExactAmountInResponse { + #[prost(string, tag = "1")] + pub token_out_amount: ::prost::alloc::string::String, +} +///=============================== EstimateSwapExactAmountOut +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountOutRequest")] +#[proto_query( + path = "/osmosis.swaprouter.v1beta1.Query/EstimateSwapExactAmountOut", + response_type = EstimateSwapExactAmountOutResponse +)] +pub struct EstimateSwapExactAmountOutRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(message, repeated, tag = "3")] + pub routes: ::prost::alloc::vec::Vec, + #[prost(string, tag = "4")] + pub token_out: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountOutResponse")] +pub struct EstimateSwapExactAmountOutResponse { + #[prost(string, tag = "1")] + pub token_in_amount: ::prost::alloc::string::String, +} +///=============================== NumPools +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.NumPoolsRequest")] +#[proto_query( + path = "/osmosis.swaprouter.v1beta1.Query/NumPools", + response_type = NumPoolsResponse +)] +pub struct NumPoolsRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.NumPoolsResponse")] +pub struct NumPoolsResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub num_pools: u64, +} +pub struct SwaprouterQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> SwaprouterQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + ParamsRequest {}.query(self.querier) + } + pub fn estimate_swap_exact_amount_in( + &self, + sender: ::prost::alloc::string::String, + pool_id: u64, + token_in: ::prost::alloc::string::String, + routes: ::prost::alloc::vec::Vec, + ) -> Result { + EstimateSwapExactAmountInRequest { + sender, + pool_id, + token_in, + routes, + } + .query(self.querier) + } + pub fn estimate_swap_exact_amount_out( + &self, + sender: ::prost::alloc::string::String, + pool_id: u64, + routes: ::prost::alloc::vec::Vec, + token_out: ::prost::alloc::string::String, + ) -> Result { + EstimateSwapExactAmountOutRequest { + sender, + pool_id, + routes, + token_out, + } + .query(self.querier) + } + pub fn num_pools(&self) -> Result { + NumPoolsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index dadf806a..f26b896a 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -1,4 +1,79 @@ use osmosis_std_derive::CosmwasmExt; +/// DenomAuthorityMetadata specifies metadata for addresses that have specific +/// capabilities over a token factory denom. Right now there is only one Admin +/// permission, but is planned to be extended to the future. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.DenomAuthorityMetadata")] +pub struct DenomAuthorityMetadata { + /// Can be empty for no admin, or a valid osmosis address + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, +} +/// Params defines the parameters for the tokenfactory module. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub denom_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the tokenfactory module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub factory_denoms: ::prost::alloc::vec::Vec, +} +/// GenesisDenom defines a tokenfactory denom that is defined within genesis +/// state. The structure contains DenomAuthorityMetadata which defines the +/// denom's admin. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisDenom")] +pub struct GenesisDenom { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub authority_metadata: ::core::option::Option, +} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -173,42 +248,6 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} -/// DenomAuthorityMetadata specifies metadata for addresses that have specific -/// capabilities over a token factory denom. Right now there is only one Admin -/// permission, but is planned to be extended to the future. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.DenomAuthorityMetadata")] -pub struct DenomAuthorityMetadata { - /// Can be empty for no admin, or a valid osmosis address - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, -} -/// Params defines the parameters for the tokenfactory module. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub denom_creation_fee: - ::prost::alloc::vec::Vec, -} /// QueryParamsRequest is the request type for the Query/Params RPC method. #[derive( Clone, @@ -319,45 +358,6 @@ pub struct QueryDenomsFromCreatorResponse { #[prost(string, repeated, tag = "1")] pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -/// GenesisState defines the tokenfactory module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub factory_denoms: ::prost::alloc::vec::Vec, -} -/// GenesisDenom defines a tokenfactory denom that is defined within genesis -/// state. The structure contains DenomAuthorityMetadata which defines the -/// denom's admin. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisDenom")] -pub struct GenesisDenom { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub authority_metadata: ::core::option::Option, -} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index ccf82611..88a3facc 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -49,13 +49,35 @@ pub struct TwapRecord { pub p1_last_spot_price: ::prost::alloc::string::String, #[prost(string, tag = "8")] pub p0_arithmetic_twap_accumulator: ::prost::alloc::string::String, - /// string geometric_twap_accumulator = 7 [(gogoproto.customtype) = - /// "github.com/cosmos/cosmos-sdk/types.Dec", - /// (gogoproto.nullable) = false]; #[prost(string, tag = "9")] pub p1_arithmetic_twap_accumulator: ::prost::alloc::string::String, + #[prost(string, tag = "10")] + pub geometric_twap_accumulator: ::prost::alloc::string::String, + /// This field contains the time in which the last spot price error occured. + /// It is used to alert the caller if they are getting a potentially erroneous + /// TWAP, due to an unforeseen underlying error. + #[prost(message, optional, tag = "11")] + pub last_error_time: ::core::option::Option, } -/// GenesisState defines the gamm module's genesis state. +/// Params holds parameters for the twap module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.Params")] +pub struct Params { + #[prost(string, tag = "1")] + pub prune_epoch_identifier: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub record_history_keep_period: ::core::option::Option, +} +/// GenesisState defines the twap module's genesis state. #[derive( Clone, PartialEq, @@ -68,6 +90,175 @@ pub struct TwapRecord { )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GenesisState")] pub struct GenesisState { + /// twaps is the collection of all twap records. #[prost(message, repeated, tag = "1")] pub twaps: ::prost::alloc::vec::Vec, + /// params is the container of twap parameters. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapRequest")] +#[proto_query( + path = "/osmosis.twap.v1beta1.Query/ArithmeticTwap", + response_type = ArithmeticTwapResponse +)] +pub struct ArithmeticTwapRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub end_time: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapResponse")] +pub struct ArithmeticTwapResponse { + #[prost(string, tag = "1")] + pub arithmetic_twap: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowRequest")] +#[proto_query( + path = "/osmosis.twap.v1beta1.Query/ArithmeticTwapToNow", + response_type = ArithmeticTwapToNowResponse +)] +pub struct ArithmeticTwapToNowRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowResponse")] +pub struct ArithmeticTwapToNowResponse { + #[prost(string, tag = "1")] + pub arithmetic_twap: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsRequest")] +#[proto_query( + path = "/osmosis.twap.v1beta1.Query/Params", + response_type = ParamsResponse +)] +pub struct ParamsRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsResponse")] +pub struct ParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +pub struct TwapQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + ParamsRequest {}.query(self.querier) + } + pub fn arithmetic_twap( + &self, + pool_id: u64, + base_asset: ::prost::alloc::string::String, + quote_asset: ::prost::alloc::string::String, + start_time: ::core::option::Option, + end_time: ::core::option::Option, + ) -> Result { + ArithmeticTwapRequest { + pool_id, + base_asset, + quote_asset, + start_time, + end_time, + } + .query(self.querier) + } + #[deprecated] + pub fn arithmetic_twap_to_now( + &self, + pool_id: u64, + base_asset: ::prost::alloc::string::String, + quote_asset: ::prost::alloc::string::String, + start_time: ::core::option::Option, + ) -> Result { + ArithmeticTwapToNowRequest { + pool_id, + base_asset, + quote_asset, + start_time, + } + .query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs index ea732b17..0ead877a 100644 --- a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs @@ -48,6 +48,24 @@ pub struct UpdateFeeTokenProposal { #[prost(message, optional, tag = "3")] pub feetoken: ::core::option::Option, } +/// GenesisState defines the txfees module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.txfees.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(string, tag = "1")] + pub basedenom: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub feetokens: ::prost::alloc::vec::Vec, +} #[derive( Clone, PartialEq, @@ -192,24 +210,6 @@ pub struct QueryBaseDenomResponse { #[prost(string, tag = "1")] pub base_denom: ::prost::alloc::string::String, } -/// GenesisState defines the txfees module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.txfees.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(string, tag = "1")] - pub basedenom: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub feetokens: ::prost::alloc::vec::Vec, -} pub struct TxfeesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/valsetpref/mod.rs b/packages/osmosis-std/src/types/osmosis/valsetpref/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/valsetpref/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs new file mode 100644 index 00000000..4f58f06d --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs @@ -0,0 +1,230 @@ +use osmosis_std_derive::CosmwasmExt; +/// ValidatorPreference defines the message structure for +/// CreateValidatorSetPreference. It allows a user to set {val_addr, weight} in +/// state. If a user does not have a validator set preference list set, and has +/// staked, make their preference list default to their current staking +/// distribution. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.ValidatorPreference")] +pub struct ValidatorPreference { + /// val_oper_address holds the validator address the user wants to delegate + /// funds to. + #[prost(string, tag = "1")] + pub val_oper_address: ::prost::alloc::string::String, + /// weight is decimal between 0 and 1, and they all sum to 1. + #[prost(string, tag = "2")] + pub weight: ::prost::alloc::string::String, +} +/// ValidatorSetPreferences defines a delegator's validator set preference. +/// It contains a list of (validator, percent_allocation) pairs. +/// The percent allocation are arranged in decimal notation from 0 to 1 and must +/// add up to 1. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.ValidatorSetPreferences")] +pub struct ValidatorSetPreferences { + /// preference holds {valAddr, weight} for the user who created it. + #[prost(message, repeated, tag = "2")] + pub preferences: ::prost::alloc::vec::Vec, +} +/// MsgCreateValidatorSetPreference is a list that holds validator-set. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgSetValidatorSetPreference")] +pub struct MsgSetValidatorSetPreference { + /// delegator is the user who is trying to create a validator-set. + #[prost(string, tag = "1")] + pub delegator: ::prost::alloc::string::String, + /// list of {valAddr, weight} to delegate to + #[prost(message, repeated, tag = "2")] + pub preferences: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgSetValidatorSetPreferenceResponse")] +pub struct MsgSetValidatorSetPreferenceResponse {} +/// MsgDelegateToValidatorSet allows users to delegate to an existing +/// validator-set +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateToValidatorSet")] +pub struct MsgDelegateToValidatorSet { + /// delegator is the user who is trying to delegate. + #[prost(string, tag = "1")] + pub delegator: ::prost::alloc::string::String, + /// the amount of tokens the user is trying to delegate. + /// For ex: delegate 10osmo with validator-set {ValA -> 0.5, ValB -> 0.3, ValC + /// -> 0.2} our staking logic would attempt to delegate 5osmo to A , 3osmo to + /// B, 2osmo to C. + #[prost(message, optional, tag = "2")] + pub coin: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateToValidatorSetResponse")] +pub struct MsgDelegateToValidatorSetResponse {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgUndelegateFromValidatorSet")] +pub struct MsgUndelegateFromValidatorSet { + /// delegator is the user who is trying to undelegate. + #[prost(string, tag = "1")] + pub delegator: ::prost::alloc::string::String, + /// the amount the user wants to undelegate + /// For ex: Undelegate 10osmo with validator-set {ValA -> 0.5, ValB -> 0.3, + /// ValC + /// -> 0.2} our undelegate logic would attempt to undelegate 5osmo from A , + /// 3osmo from B, 2osmo from C + #[prost(message, optional, tag = "3")] + pub coin: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgUndelegateFromValidatorSetResponse")] +pub struct MsgUndelegateFromValidatorSetResponse {} +/// MsgWithdrawDelegationRewards allows user to claim staking rewards from the +/// validator set. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgWithdrawDelegationRewards")] +pub struct MsgWithdrawDelegationRewards { + /// delegator is the user who is trying to claim staking rewards. + #[prost(string, tag = "1")] + pub delegator: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgWithdrawDelegationRewardsResponse")] +pub struct MsgWithdrawDelegationRewardsResponse {} +/// Request type for UserValidatorPreferences. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.UserValidatorPreferencesRequest")] +#[proto_query( + path = "/osmosis.valsetpref.v1beta1.Query/UserValidatorPreferences", + response_type = UserValidatorPreferencesResponse +)] +pub struct UserValidatorPreferencesRequest { + /// user account address + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +/// Response type the QueryUserValidatorPreferences query request +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.UserValidatorPreferencesResponse")] +pub struct UserValidatorPreferencesResponse { + #[prost(message, repeated, tag = "1")] + pub preferences: ::prost::alloc::vec::Vec, +} +pub struct ValsetprefQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> ValsetprefQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn user_validator_preferences( + &self, + address: ::prost::alloc::string::String, + ) -> Result { + UserValidatorPreferencesRequest { address }.query(self.querier) + } +} diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index bccab819..71a67479 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "main"; +const OSMOSIS_REV: &str = "origin/main"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From 65ae368aab505a4e906ea0b46424417e0b5c06fc Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 16 Dec 2022 16:18:04 +0700 Subject: [PATCH 051/142] ensure endblock is being called even when execution fail --- packages/osmosis-testing/src/runner/app.rs | 94 +++++++++++-------- .../osmosis-std-cosmwasm-test/src/contract.rs | 8 +- tests/osmosis-std-cosmwasm-test/src/state.rs | 2 + .../tests/integration_test.rs | 49 ++++++++++ 4 files changed, 111 insertions(+), 42 deletions(-) diff --git a/packages/osmosis-testing/src/runner/app.rs b/packages/osmosis-testing/src/runner/app.rs index 37664331..c685c471 100644 --- a/packages/osmosis-testing/src/runner/app.rs +++ b/packages/osmosis-testing/src/runner/app.rs @@ -180,6 +180,22 @@ impl OsmosisTestApp { } } } + + /// Ensure that all execution that happens in `execution` happens in a block + /// and end block properly, no matter it suceeds or fails. + unsafe fn run_block(&self, execution: impl Fn() -> Result) -> Result { + unsafe { BeginBlock(self.id) }; + match execution() { + ok @ Ok(_) => { + unsafe { EndBlock(self.id) }; + ok + } + err @ Err(_) => { + unsafe { EndBlock(self.id) }; + err + } + } + } } impl<'a> Runner<'a> for OsmosisTestApp { @@ -192,51 +208,49 @@ impl<'a> Runner<'a> for OsmosisTestApp { M: ::prost::Message, R: ::prost::Message + Default, { - unsafe { BeginBlock(self.id) }; - - let msgs = msgs - .iter() - .map(|(msg, type_url)| { - let mut buf = Vec::new(); - M::encode(msg, &mut buf).map_err(EncodeError::ProtoEncodeError)?; - - Ok(cosmrs::Any { - type_url: type_url.to_string(), - value: buf, - }) - }) - .collect::, RunnerError>>()?; - - let fee = match &signer.fee_setting() { - FeeSetting::Auto { .. } => self.estimate_fee(msgs.clone(), signer)?, - FeeSetting::Custom { amount, gas_limit } => Fee::from_amount_and_gas( - cosmrs::Coin { - denom: amount.denom.parse().unwrap(), - amount: amount.amount.to_string().parse().unwrap(), - }, - *gas_limit, - ), - }; + unsafe { + self.run_block(|| { + let msgs = msgs + .iter() + .map(|(msg, type_url)| { + let mut buf = Vec::new(); + M::encode(msg, &mut buf).map_err(EncodeError::ProtoEncodeError)?; + + Ok(cosmrs::Any { + type_url: type_url.to_string(), + value: buf, + }) + }) + .collect::, RunnerError>>()?; + + let fee = match &signer.fee_setting() { + FeeSetting::Auto { .. } => self.estimate_fee(msgs.clone(), signer)?, + FeeSetting::Custom { amount, gas_limit } => Fee::from_amount_and_gas( + cosmrs::Coin { + denom: amount.denom.parse().unwrap(), + amount: amount.amount.to_string().parse().unwrap(), + }, + *gas_limit, + ), + }; - let tx = self.create_signed_tx(msgs, signer, fee)?; + let tx = self.create_signed_tx(msgs, signer, fee)?; - let mut buf = Vec::new(); - RequestDeliverTx::encode(&RequestDeliverTx { tx }, &mut buf) - .map_err(EncodeError::ProtoEncodeError)?; - - let base64_req = base64::encode(buf); - redefine_as_go_string!(base64_req); - let res = unsafe { - let res = Execute(self.id, base64_req); - let res = RawResult::from_non_null_ptr(res).into_result()?; + let mut buf = Vec::new(); + RequestDeliverTx::encode(&RequestDeliverTx { tx }, &mut buf) + .map_err(EncodeError::ProtoEncodeError)?; - ResponseDeliverTx::decode(res.as_slice()).map_err(DecodeError::ProtoDecodeError) - }? - .try_into(); + let base64_req = base64::encode(buf); + redefine_as_go_string!(base64_req); - unsafe { EndBlock(self.id) }; + let res = Execute(self.id, base64_req); + let res = RawResult::from_non_null_ptr(res).into_result()?; - res + ResponseDeliverTx::decode(res.as_slice()) + .map_err(DecodeError::ProtoDecodeError)? + .try_into() + }) + } } fn query(&self, path: &str, q: &Q) -> RunnerResult diff --git a/tests/osmosis-std-cosmwasm-test/src/contract.rs b/tests/osmosis-std-cosmwasm-test/src/contract.rs index 7df9603a..890c0d16 100644 --- a/tests/osmosis-std-cosmwasm-test/src/contract.rs +++ b/tests/osmosis-std-cosmwasm-test/src/contract.rs @@ -20,7 +20,7 @@ use serde::Serialize; use crate::error::ContractError; use crate::msg::{ExecuteMsg, InstantiateMsg, MigrateMsg, QueryMapResponse, QueryMsg}; -use crate::state::{DEBUG, MAP}; +use crate::state::{DEBUG, MAP, OWNER}; // version info for migration info const CONTRACT_NAME: &str = "crates.io:osmosis-std-cosmwasm-test"; @@ -37,6 +37,7 @@ pub fn instantiate( set_contract_version(deps.storage, CONTRACT_NAME, CONTRACT_VERSION)?; DEBUG.save(deps.storage, &msg.debug)?; + OWNER.save(deps.storage, &info.sender)?; // With `Response` type, it is possible to dispatch message to invoke external logic. // See: https://github.com/CosmWasm/cosmwasm/blob/main/SEMANTICS.md#dispatching-messages @@ -65,11 +66,14 @@ pub fn migrate(_deps: DepsMut, _env: Env, msg: MigrateMsg) -> Result Result { match msg { ExecuteMsg::SetMap { key, value } => { + if OWNER.load(deps.storage)? != info.sender { + return Err(ContractError::Unauthorized {}); + } MAP.save(deps.storage, key, &value)?; Ok(Response::new().add_attribute("method", "set_map")) } diff --git a/tests/osmosis-std-cosmwasm-test/src/state.rs b/tests/osmosis-std-cosmwasm-test/src/state.rs index 581164e1..0f7bf615 100644 --- a/tests/osmosis-std-cosmwasm-test/src/state.rs +++ b/tests/osmosis-std-cosmwasm-test/src/state.rs @@ -1,6 +1,8 @@ +use cosmwasm_std::Addr; use cw_storage_plus::{Item, Map}; pub const DEBUG: Item = Item::new("debug"); +pub const OWNER: Item = Item::new("owner"); /// for testing cosmwasm vm / storage-plus compatibility pub const MAP: Map = Map::new("map"); diff --git a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs index 0518a86d..64b25ba8 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs @@ -18,6 +18,7 @@ use osmosis_std_cosmwasm_test::msg::{ ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, ExecuteMsg, QueryEpochsInfoResponse, QueryMapResponse, QueryMsg, QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; +use osmosis_testing::RunnerError::ExecuteError; use osmosis_testing::{Account, Runner}; #[test] @@ -259,3 +260,51 @@ fn test_cosmwasm_vm_storage_plus_compatability() { true, ); } + +#[test] +fn test_execute_after_error_should_not_messed_up_block_height() { + with_env_setup( + |app, wasm, owner, _code_id, contract_addr| { + let non_owner = app.init_account(&[]).unwrap(); + let err = wasm + .execute( + &contract_addr, + &ExecuteMsg::SetMap { + key: "key".to_string(), + value: "value".to_string(), + }, + &[], + &non_owner, + ) + .unwrap_err(); + + assert_eq!(err, ExecuteError { + msg: "failed to execute message; message index: 0: Unauthorized: execute wasm contract failed".to_string(), + }); + + // after error, end block should be called properly so that height is updated + wasm.execute( + &contract_addr, + &ExecuteMsg::SetMap { + key: "key".to_string(), + value: "value".to_string(), + }, + &[], + &owner, + ) + .unwrap(); + + let res: QueryMapResponse = wasm + .query( + &contract_addr, + &QueryMsg::QueryMap { + key: "key".to_string(), + }, + ) + .unwrap(); + + assert_eq!(res.value, "value".to_string()); + }, + true, + ); +} From 18037e9b2d34e17236e026e5ddee952c7d39aaaa Mon Sep 17 00:00:00 2001 From: Supanat Date: Fri, 16 Dec 2022 16:22:40 +0700 Subject: [PATCH 052/142] Update README.md according to #40 --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 01f2d9c3..9bdba03c 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,8 @@ Rust libraries for Osmosis. The following table shows every published crates mai | [osmosis-std](packages/osmosis-std) | Osmosis's proto-generated types and helpers for interacting with the appchain. Compatible with CosmWasm contract. | [![osmosis-std on crates.io](https://img.shields.io/crates/v/osmosis-std.svg)](https://crates.io/crates/osmosis-std) | [![Docs](https://docs.rs/osmosis-std/badge.svg)](https://docs.rs/osmosis-std) | | [osmosis-std-derive](packages/osmosis-std-derive) | Procedural macro for augmenting proto-generated types to create better developer ergonomics. Internally used by `osmosis-std` | [![osmosis-std-derive on crates.io](https://img.shields.io/crates/v/osmosis-std-derive.svg)](https://crates.io/crates/osmosis-std-derive) | [![Docs](https://docs.rs/osmosis-std-derive/badge.svg)](https://docs.rs/osmosis-std-derive) | | [osmosis-testing](packages/osmosis-testing) | CosmWasm x Osmosis integration testing library that, unlike `cw-multi-test`, it allows you to test your cosmwasm contract against real chain's logic instead of mocks. | [![osmosis-testing on crates.io](https://img.shields.io/crates/v/osmosis-testing.svg)](https://crates.io/crates/osmosis-testing) | [![Docs](https://docs.rs/osmosis-testing/badge.svg)](https://docs.rs/osmosis-testing) | + + +--- + +This repo also contains [`proto-build`](./packages/proto-build) package which is used for autogenrating rust types from proto. From 3c8c03d2ccfbc4ac73d114ef6964afbf47876956 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 20 Dec 2022 01:32:12 +0000 Subject: [PATCH 053/142] Update latest osmosis tag timestamp to 1671225434 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 4a7567eb..b7f0e969 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1670616193 +1671225434 From dd9a91436d84c3b8b16024c476f843ab1887c380 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 22 Dec 2022 01:31:39 +0000 Subject: [PATCH 054/142] Update latest osmosis tag timestamp to 1671655935 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index b7f0e969..8645ca27 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1671225434 +1671655935 From 454e48d7dbe7e91b4bb4cc34c2baf71d401589d5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 23 Dec 2022 01:32:04 +0000 Subject: [PATCH 055/142] Update latest osmosis tag timestamp to 1671721476 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 8645ca27..0b7ba714 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1671655935 +1671721476 From d012f4aa8f690abf863bd45a2c0d8fd1b6f0949f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 24 Dec 2022 01:31:58 +0000 Subject: [PATCH 056/142] Update latest osmosis tag timestamp to 1671818502 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 0b7ba714..16c70726 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1671721476 +1671818502 From 08c60419fbc18ad86dec40d89722e5722a6372fc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 2 Jan 2023 01:31:57 +0000 Subject: [PATCH 057/142] Update latest osmosis tag timestamp to 1672566788 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 16c70726..e4220d54 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1671818502 +1672566788 From c49a0dc7141c14d1f425f1a0cef649b19b31f971 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 11:26:24 +0700 Subject: [PATCH 058/142] update rebuild osmosis testing --- scripts/update-and-rebuild.sh | 31 +++++++ .../update-osmosis-testing-replace/.gitignore | 1 + scripts/update-osmosis-testing-replace/go.mod | 5 ++ scripts/update-osmosis-testing-replace/go.sum | 2 + .../update-osmosis-testing-replace/main.go | 84 +++++++++++++++++++ 5 files changed, 123 insertions(+) create mode 100644 scripts/update-osmosis-testing-replace/.gitignore create mode 100644 scripts/update-osmosis-testing-replace/go.mod create mode 100644 scripts/update-osmosis-testing-replace/go.sum create mode 100644 scripts/update-osmosis-testing-replace/main.go diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 6f51c167..9c1f3cf4 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -5,6 +5,10 @@ set -euxo pipefail SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) OSMOSIS_REV=${1:-main} +#################################### +## Update and rebuild osmosis-std ## +#################################### + # update revision in proto-build main.rs PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" @@ -16,6 +20,33 @@ git diff # rebuild osmosis-std cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +######################################## +## Update and rebuild osmosis-testing ## +######################################## + +# submodules already updated due to `cargo run -- --update-deps` + + +# build and run update-osmosis-testing +cd "$SCRIPT_DIR/update-osmosis-testing" && go build +UPDATE_OSMOSIS_TESTING_REPLACE_BIN="$SCRIPT_DIR/update-osmosis-testing/update-osmosis-testing-replace" + +# run update-osmosis-testing-replace which will replace the `replace directives` in osmosis-testing +# with osmosis' +$UPDATE_OSMOSIS_TESTING_REPLACE_BIN + +# tidy up updated go.mod +go mod tidy + +# sync rev +go get "github.com/osmosis-labs/osmosis/v13@$OSMOSIS_REV" + + +######################################## +## Update git revision if there is ## +## any change ## +######################################## + # if dirty or untracked file exists if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) ]]; then # add, commit and push diff --git a/scripts/update-osmosis-testing-replace/.gitignore b/scripts/update-osmosis-testing-replace/.gitignore new file mode 100644 index 00000000..9a453877 --- /dev/null +++ b/scripts/update-osmosis-testing-replace/.gitignore @@ -0,0 +1 @@ +update-osmosis-testing-replace \ No newline at end of file diff --git a/scripts/update-osmosis-testing-replace/go.mod b/scripts/update-osmosis-testing-replace/go.mod new file mode 100644 index 00000000..171959ef --- /dev/null +++ b/scripts/update-osmosis-testing-replace/go.mod @@ -0,0 +1,5 @@ +module github.com/osmosis-labs/osmosis-rust/update-osmosis-testing-replace + +go 1.19 + +require golang.org/x/mod v0.7.0 diff --git a/scripts/update-osmosis-testing-replace/go.sum b/scripts/update-osmosis-testing-replace/go.sum new file mode 100644 index 00000000..f6b0ac09 --- /dev/null +++ b/scripts/update-osmosis-testing-replace/go.sum @@ -0,0 +1,2 @@ +golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= diff --git a/scripts/update-osmosis-testing-replace/main.go b/scripts/update-osmosis-testing-replace/main.go new file mode 100644 index 00000000..51ee2199 --- /dev/null +++ b/scripts/update-osmosis-testing-replace/main.go @@ -0,0 +1,84 @@ +package main + +import ( + "fmt" + "io/ioutil" + "log" + "os" + "path/filepath" + + "golang.org/x/mod/modfile" +) + +func main() { + // Get the absolute path of this binary's directory + dir, err := filepath.Abs(filepath.Dir(os.Args[0])) + + if err != nil { + log.Fatal(err) + } + + osmosisPath := filepath.Join(dir, "../../dependencies/osmosis/go.mod") + libosmosistestingModPath := filepath.Join(dir, "../../packages/osmosis-testing/libosmosistesting/go.mod") + + osmosisMod := readMod(osmosisPath) + libosmosistestingMod := readMod(libosmosistestingModPath) + + replaceModFileReplaceDirectives(osmosisMod, libosmosistestingMod) + writeMod(libosmosistestingMod, libosmosistestingModPath) +} + +func readMod(modPath string) *modfile.File { + // Read the contents of the go.mod file + bytes, err := ioutil.ReadFile(modPath) + if err != nil { + log.Fatal(err) + } + + // Parse the go.mod file + f, err := modfile.Parse(modPath, bytes, nil) + if err != nil { + log.Fatal(err) + } + + return f +} + +func replaceModFileReplaceDirectives(from, to *modfile.File) { + fmt.Printf("Drop replace directives for `%s`:\n", to.Module.Mod.Path) + + // Drop all replace directives from `to` go.mod + for _, rep := range to.Replace { + fmt.Printf(" - %s %s => %s %s\n", rep.Old.Path, rep.Old.Version, rep.New.Path, rep.New.Version) + to.DropReplace(rep.Old.Path, rep.Old.Version) + } + + // Cleanup the go.mod file + to.Cleanup() + + fmt.Println("---") + + fmt.Printf("Add replace directives for `%s`:\n", to.Module.Mod.Path) + + // Add all replace directives from `from` go.mod + for _, rep := range from.Replace { + fmt.Printf(" - %s %s => %s %s\n", rep.Old.Path, rep.Old.Version, rep.New.Path, rep.New.Version) + to.AddReplace(rep.Old.Path, rep.Old.Version, rep.New.Path, rep.New.Version) + } + + // Sort the blocks + to.SortBlocks() +} + +func writeMod(mod *modfile.File, modPath string) { + // Write the go.mod file + content, err := mod.Format() + if err != nil { + log.Fatal(err) + } + + err = ioutil.WriteFile(modPath, content, 0644) + if err != nil { + log.Fatal(err) + } +} From e3de1167d95ac5f76b6b4a5400ef1de93bce05d4 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 11:28:18 +0700 Subject: [PATCH 059/142] rebuild with 1c6c3c0 --- .../osmosis-testing/libosmosistesting/go.mod | 24 ++++++++----------- scripts/update-and-rebuild.sh | 18 +++++++------- scripts/update-osmosis-testing-replace/go.mod | 2 ++ scripts/update-osmosis-testing-replace/go.sum | 2 ++ 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index f5e02da5..901aba87 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -2,20 +2,6 @@ module github.com/osmosis-labs/osmosis-rust/osmosis-testing go 1.19 -replace ( - // osmosis-patched wasmd - github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 - // dragonberry - github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 - // Our cosmos-sdk branch is: https://github.com/osmosis-labs/cosmos-sdk, current branch: v13.x. Direct commit link: https://github.com/osmosis-labs/cosmos-sdk/commit/8757a61551aa1ea993c85a523e18094ab555b1d7 - // tag: https://github.com/osmosis-labs/cosmos-sdk/releases/tag/sdk-v13.0.0-rc2 - github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e - // use cosmos-compatible protobufs - github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - // use grpc compatible with cosmos protobufs - google.golang.org/grpc => google.golang.org/grpc v1.33.2 -) - require ( github.com/CosmWasm/wasmd v0.29.2-osmo-v13 github.com/cosmos/cosmos-sdk v0.46.6 @@ -143,3 +129,13 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect nhooyr.io/websocket v1.8.6 // indirect ) + +replace github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 + +replace github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 + +replace github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e + +replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 + +replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 9c1f3cf4..5309f3c6 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -9,16 +9,16 @@ OSMOSIS_REV=${1:-main} ## Update and rebuild osmosis-std ## #################################### -# update revision in proto-build main.rs -PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" +# # update revision in proto-build main.rs +# PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" -# use @ as a separator to avoid confusion on input like "origin/main" -sed -i "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" +# # use @ as a separator to avoid confusion on input like "origin/main" +# sed -i "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" -git diff +# git diff -# rebuild osmosis-std -cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +# # rebuild osmosis-std +# cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps ######################################## ## Update and rebuild osmosis-testing ## @@ -28,8 +28,8 @@ cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps # build and run update-osmosis-testing -cd "$SCRIPT_DIR/update-osmosis-testing" && go build -UPDATE_OSMOSIS_TESTING_REPLACE_BIN="$SCRIPT_DIR/update-osmosis-testing/update-osmosis-testing-replace" +cd "$SCRIPT_DIR/update-osmosis-testing-replace" && go build +UPDATE_OSMOSIS_TESTING_REPLACE_BIN="$SCRIPT_DIR/update-osmosis-testing-replace/update-osmosis-testing-replace" # run update-osmosis-testing-replace which will replace the `replace directives` in osmosis-testing # with osmosis' diff --git a/scripts/update-osmosis-testing-replace/go.mod b/scripts/update-osmosis-testing-replace/go.mod index 171959ef..c5de0802 100644 --- a/scripts/update-osmosis-testing-replace/go.mod +++ b/scripts/update-osmosis-testing-replace/go.mod @@ -3,3 +3,5 @@ module github.com/osmosis-labs/osmosis-rust/update-osmosis-testing-replace go 1.19 require golang.org/x/mod v0.7.0 + +require github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928 // indirect diff --git a/scripts/update-osmosis-testing-replace/go.sum b/scripts/update-osmosis-testing-replace/go.sum index f6b0ac09..d00aaed4 100644 --- a/scripts/update-osmosis-testing-replace/go.sum +++ b/scripts/update-osmosis-testing-replace/go.sum @@ -1,2 +1,4 @@ +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928 h1:+fRcnu0yS/AP+4mizC1tYw3gaz4oA3wkMliVEfSTbeA= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928/go.mod h1:qGe1c/RQyNzUzhQA+L1/aTeJ96gR91OXZ69gnQAZJ5s= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= From 9de55effe7f3dc0340ac6600b9530abed2caaca1 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 11:33:17 +0700 Subject: [PATCH 060/142] rebuild with 1c6c3c0 --- scripts/update-and-rebuild.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 5309f3c6..024a1bc5 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -56,6 +56,10 @@ if [[ $(git diff --stat) != '' || $(git ls-files --exclude-standard --others) # remove "origin/" OSMOSIS_REV=$(echo "$OSMOSIS_REV" | sed "s/^origin\///") BRANCH="autobuild-$OSMOSIS_REV" + + # force delete local "$BRANCH" if exists + git branch -D "$BRANCH" || true + git checkout -b "$BRANCH" git push -uf origin "$BRANCH" else From 17cb0a4f16258d557b25d8fbb527d8ee9b1f2841 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 11:43:32 +0700 Subject: [PATCH 061/142] getting the right version --- scripts/update-and-rebuild.sh | 25 +++++++++++++------ scripts/update-osmosis-testing-replace/go.mod | 2 -- scripts/update-osmosis-testing-replace/go.sum | 2 -- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 024a1bc5..bb9106d3 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -5,20 +5,29 @@ set -euxo pipefail SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) OSMOSIS_REV=${1:-main} +LATEST_OSMOSIS_VERSION="v13" + +# if "$OSMOIS_REV" is /v\d+/ then extract it as var +if [[ "$OSMOSIS_REV" =~ ^v[0-9]+ ]]; then + OSMOSIS_VERSION=$(echo "$OSMOSIS_REV" | sed "s/\..*$//") +else + OSMOSIS_VERSION="$LATEST_OSMOSIS_VERSION" +fi + #################################### ## Update and rebuild osmosis-std ## #################################### -# # update revision in proto-build main.rs -# PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" +# update revision in proto-build main.rs +PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" -# # use @ as a separator to avoid confusion on input like "origin/main" -# sed -i "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" +# use @ as a separator to avoid confusion on input like "origin/main" +sed -i "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" -# git diff +git diff -# # rebuild osmosis-std -# cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps +# rebuild osmosis-std +cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps ######################################## ## Update and rebuild osmosis-testing ## @@ -39,7 +48,7 @@ $UPDATE_OSMOSIS_TESTING_REPLACE_BIN go mod tidy # sync rev -go get "github.com/osmosis-labs/osmosis/v13@$OSMOSIS_REV" +go get "github.com/osmosis-labs/osmosis/$OSMOSIS_VERSION@$OSMOSIS_REV" ######################################## diff --git a/scripts/update-osmosis-testing-replace/go.mod b/scripts/update-osmosis-testing-replace/go.mod index c5de0802..171959ef 100644 --- a/scripts/update-osmosis-testing-replace/go.mod +++ b/scripts/update-osmosis-testing-replace/go.mod @@ -3,5 +3,3 @@ module github.com/osmosis-labs/osmosis-rust/update-osmosis-testing-replace go 1.19 require golang.org/x/mod v0.7.0 - -require github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928 // indirect diff --git a/scripts/update-osmosis-testing-replace/go.sum b/scripts/update-osmosis-testing-replace/go.sum index d00aaed4..f6b0ac09 100644 --- a/scripts/update-osmosis-testing-replace/go.sum +++ b/scripts/update-osmosis-testing-replace/go.sum @@ -1,4 +1,2 @@ -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928 h1:+fRcnu0yS/AP+4mizC1tYw3gaz4oA3wkMliVEfSTbeA= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928/go.mod h1:qGe1c/RQyNzUzhQA+L1/aTeJ96gR91OXZ69gnQAZJ5s= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= From b5daf06ad83c15fb26ac891c8da80abdf0b6f8fb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 04:45:37 +0000 Subject: [PATCH 062/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index e4220d54..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672566788 +1672706303 From c088f6360861ad92f2a34a9c0a06cea23f4e192c Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 12:58:22 +0700 Subject: [PATCH 063/142] update gh action go version to 1.19 --- .github/workflows/update-and-rebuild.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/update-and-rebuild.yaml b/.github/workflows/update-and-rebuild.yaml index c48e22a0..2d3a0e2e 100644 --- a/.github/workflows/update-and-rebuild.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -21,6 +21,9 @@ jobs: build: runs-on: ubuntu-latest steps: + - uses: actions/setup-go@v3 + with: + go-version: '>=1.19.0' - name: Checkout uses: actions/checkout@v3 From a4362ab3a1a7bc3ee49a575086f2c042f69678d1 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 12:59:33 +0700 Subject: [PATCH 064/142] fix yaml --- .github/workflows/update-and-rebuild.yaml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update-and-rebuild.yaml b/.github/workflows/update-and-rebuild.yaml index 2d3a0e2e..cb3cbf1e 100644 --- a/.github/workflows/update-and-rebuild.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -21,9 +21,11 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/setup-go@v3 - with: - go-version: '>=1.19.0' + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: ">=1.19.0" + - name: Checkout uses: actions/checkout@v3 From 74dd491befc7d678741c4eee6417d4143e951b89 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 13:09:56 +0700 Subject: [PATCH 065/142] remove latest tag timestamp to reset workflow --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 1 - 1 file changed, 1 deletion(-) delete mode 100644 workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP deleted file mode 100644 index a5436b49..00000000 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ /dev/null @@ -1 +0,0 @@ -1672706303 From df9148aea8dd55c9ef5e4477245579aa5c0f379b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 13:22:13 +0700 Subject: [PATCH 066/142] trick update timestamp --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 1 + 1 file changed, 1 insertion(+) create mode 100644 workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP new file mode 100644 index 00000000..573541ac --- /dev/null +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -0,0 +1 @@ +0 From bf9c31f658307774317bcd0d334bda30f7ec24e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 06:23:41 +0000 Subject: [PATCH 067/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 573541ac..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -0 +1672706303 From 7654b3d162163aeec98d4b8a25aaa1937100e237 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 13:41:40 +0700 Subject: [PATCH 068/142] update script --- scripts/update-and-rebuild.sh | 2 +- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index bb9106d3..0bc0a2ee 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -48,7 +48,7 @@ $UPDATE_OSMOSIS_TESTING_REPLACE_BIN go mod tidy # sync rev -go get "github.com/osmosis-labs/osmosis/$OSMOSIS_VERSION@$OSMOSIS_REV" +go get "github.com/osmosis-labs/osmosis/$OSMOSIS_VERSION@$(echo "$OSMOSIS_REV" | sed "s/^origin\///")" ######################################## diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index a5436b49..573541ac 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672706303 +0 From 9a9e1f7bd4318a535aba6ebd0607366d9f0f17f6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 06:43:56 +0000 Subject: [PATCH 069/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 573541ac..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -0 +1672706303 From f49dad655f9cd77933acc293ae0fb233cc34b2a5 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 13:50:24 +0700 Subject: [PATCH 070/142] Update latest osmosis tag timestamp to 1672715714 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index a5436b49..5a7e4190 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672706303 +1672715714 From 60212d6a062ebeabc4d209e2fe9eac0e12e5efb9 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 13:51:32 +0700 Subject: [PATCH 071/142] make latest osmosis tag older --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 5a7e4190..4a7567eb 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672715714 +1670616193 From 7dfa5369fb02f830529de7a55fc952a8baa9e06b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 06:53:10 +0000 Subject: [PATCH 072/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 4a7567eb..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1670616193 +1672706303 From 45260635aeac541afa73c4831b979dca851f1352 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 14:49:20 +0700 Subject: [PATCH 073/142] fitler only 13++ or main --- scripts/check-updates.sh | 10 +++++++++- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index 36207a33..ba5d4c53 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -24,7 +24,15 @@ REVS="$(git branch -r --format="$FORMAT" --list origin/main && \ git tag --format="$FORMAT" --list v*)" # filter only rev that's greater than latest tag -MATRIX=$(echo "$REVS" | awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 > latest_tag_timestamp { print $1 }' | jq -RMrnc '{ "target": [inputs] }') +MATRIX=$( + echo "$REVS" | \ + awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 > latest_tag_timestamp { print $1 }' | \ + # strip origin + sed "s/^origin\///" | \ + + # jq filter target revs only v13 and above or main + jq -RMrnc '{ "target": [inputs | select( test("^main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' +) # update latest tag timestmap rm -f "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index a5436b49..4a7567eb 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672706303 +1670616193 From 2ea8a7fa4ae6485df4fa0a6d6649c5add870f4eb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 07:52:31 +0000 Subject: [PATCH 074/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 4a7567eb..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1670616193 +1672706303 From 0704d8e55edd2f5efd2f6a6167e99a1aba3f53a8 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 14:59:05 +0700 Subject: [PATCH 075/142] no strip origin --- scripts/check-updates.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index ba5d4c53..a0e1dbf7 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -27,8 +27,6 @@ REVS="$(git branch -r --format="$FORMAT" --list origin/main && \ MATRIX=$( echo "$REVS" | \ awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 > latest_tag_timestamp { print $1 }' | \ - # strip origin - sed "s/^origin\///" | \ # jq filter target revs only v13 and above or main jq -RMrnc '{ "target": [inputs | select( test("^main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' From 1e81669f3f5c3384573d6d3d9d78b0a1e222906b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 15:18:28 +0700 Subject: [PATCH 076/142] >= latest --- scripts/check-updates.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index a0e1dbf7..94d34f2b 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -26,7 +26,7 @@ REVS="$(git branch -r --format="$FORMAT" --list origin/main && \ # filter only rev that's greater than latest tag MATRIX=$( echo "$REVS" | \ - awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 > latest_tag_timestamp { print $1 }' | \ + awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 >= latest_tag_timestamp { print $1 }' | \ # jq filter target revs only v13 and above or main jq -RMrnc '{ "target": [inputs | select( test("^main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' From 0e8c77f338ad0282b822ff4d655e35f9ee8c8018 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 15:22:20 +0700 Subject: [PATCH 077/142] Update latest osmosis tag timestamp to 1672715714 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index a5436b49..5a7e4190 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672706303 +1672715714 From 24b0631d113cc3d897f9a80fc367c475a81c188e Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 15:23:18 +0700 Subject: [PATCH 078/142] older timestamp --- scripts/check-updates.sh | 2 ++ workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index 94d34f2b..10ec1ad9 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -32,6 +32,8 @@ MATRIX=$( jq -RMrnc '{ "target": [inputs | select( test("^main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' ) +echo "$MATRIX" +exit # update latest tag timestmap rm -f "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" LATEST_OSMOSIS_TAG_TIMESTAMP="$(git tag --format="$FORMAT" | awk '{ print $2 }' | sort -nr | head -n 1)" diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 5a7e4190..4a7567eb 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672715714 +1670616193 From c1524f389c651a53860d5d1c66ae517da0f09e2a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 15:28:20 +0700 Subject: [PATCH 079/142] remove exit --- scripts/check-updates.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index 10ec1ad9..94d34f2b 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -32,8 +32,6 @@ MATRIX=$( jq -RMrnc '{ "target": [inputs | select( test("^main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' ) -echo "$MATRIX" -exit # update latest tag timestmap rm -f "$LATEST_OSMOSIS_TAG_TIMESTAMP_PATH" LATEST_OSMOSIS_TAG_TIMESTAMP="$(git tag --format="$FORMAT" | awk '{ print $2 }' | sort -nr | head -n 1)" From 4cc6c9380662e04fe5716589a62a33b117d32ed7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 08:29:39 +0000 Subject: [PATCH 080/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 4a7567eb..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1670616193 +1672706303 From 2ac211b812de0682dac6da200adf79fc3f1c9e96 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 15:31:00 +0700 Subject: [PATCH 081/142] add origin main --- scripts/check-updates.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check-updates.sh b/scripts/check-updates.sh index 94d34f2b..ae0238f0 100755 --- a/scripts/check-updates.sh +++ b/scripts/check-updates.sh @@ -29,7 +29,7 @@ MATRIX=$( awk -v latest_tag_timestamp="$LATEST_OSMOSIS_TAG_TIMESTAMP" '$2 >= latest_tag_timestamp { print $1 }' | \ # jq filter target revs only v13 and above or main - jq -RMrnc '{ "target": [inputs | select( test("^main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' + jq -RMrnc '{ "target": [inputs | select( test("^origin/main$") or ((capture("v(?[0-9]+)") | .v | tonumber) >= 13))] }' ) # update latest tag timestmap From de3906389309d365162dca6a7b9ed09f563027f3 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 15:32:15 +0700 Subject: [PATCH 082/142] older lastest tag --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index a5436b49..4a7567eb 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672706303 +1670616193 From 6ada002ead9d55b5a67aca2ce2c5924b46e7613d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 08:33:29 +0000 Subject: [PATCH 083/142] Update latest osmosis tag timestamp to 1672706303 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 4a7567eb..a5436b49 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1670616193 +1672706303 From 23bd4381d883967ed355c14613c6b868ff74123c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 3 Jan 2023 08:40:06 +0000 Subject: [PATCH 084/142] rebuild with 1c6c3c0 --- dependencies/osmosis | 2 +- .../src/types/osmosis/accum/mod.rs | 1 + .../src/types/osmosis/accum/v1beta1.rs | 51 +++ .../osmosis/concentratedliquidity/mod.rs | 21 + .../osmosis/concentratedliquidity/v1beta1.rs | 388 ++++++++++++++++++ .../src/types/osmosis/gamm/v1beta1.rs | 8 +- packages/osmosis-std/src/types/osmosis/mod.rs | 2 + .../src/types/osmosis/twap/v1beta1.rs | 123 ++++++ .../src/types/osmosis/valsetpref/v1beta1.rs | 31 ++ .../osmosis-testing/libosmosistesting/go.mod | 2 +- scripts/update-osmosis-testing-replace/go.mod | 2 + scripts/update-osmosis-testing-replace/go.sum | 2 + 12 files changed, 628 insertions(+), 5 deletions(-) create mode 100644 packages/osmosis-std/src/types/osmosis/accum/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index 1c6c3c04..2ac5d356 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 1c6c3c04e1d4d47837ea984e5bbe0df18be76c33 +Subproject commit 2ac5d3561928b0f60bd7f9451b9168f6e1ad5344 diff --git a/packages/osmosis-std/src/types/osmosis/accum/mod.rs b/packages/osmosis-std/src/types/osmosis/accum/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/accum/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs new file mode 100644 index 00000000..2aed7253 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs @@ -0,0 +1,51 @@ +use osmosis_std_derive::CosmwasmExt; +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.accum.v1beta1.AccumulatorContent")] +pub struct AccumulatorContent { + #[prost(message, repeated, tag = "1")] + pub accum_value: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.accum.v1beta1.Options")] +pub struct Options {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.accum.v1beta1.Record")] +pub struct Record { + #[prost(string, tag = "1")] + pub num_shares: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub init_accum_value: + ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub unclaimed_rewards: + ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub options: ::core::option::Option, +} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs new file mode 100644 index 00000000..654b781d --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs @@ -0,0 +1,21 @@ +pub mod v1beta1; +use osmosis_std_derive::CosmwasmExt; +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] +pub struct Params { + /// authorized_tick_spacing is an array of uint64s that represents the tick + /// spacing values concentrated-liquidity pools can be created with. For + /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools + /// to be created with tick spacing of 1, 10, or 30. + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub authorized_tick_spacing: ::prost::alloc::vec::Vec, +} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs new file mode 100644 index 00000000..af25cb25 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -0,0 +1,388 @@ +use osmosis_std_derive::CosmwasmExt; +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] +pub struct TickInfo { + #[prost(string, tag = "1")] + pub liquidity_gross: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub liquidity_net: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Pool")] +pub struct Pool { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of total liquidity + #[prost(string, tag = "3")] + pub liquidity: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub token0: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub token1: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub current_sqrt_price: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub current_tick: ::prost::alloc::string::String, + /// tick_spacing must be one of the authorized_tick_spacing values set in the + /// concentrated-liquidity parameters + #[prost(uint64, tag = "8")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] +pub struct Position { + #[prost(string, tag = "1")] + pub liquidity: ::prost::alloc::string::String, +} +/// GenesisState defines the concentrated liquidity module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub pools: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateConcentratedPool +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] +pub struct MsgCreateConcentratedPool { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub denom1: ::prost::alloc::string::String, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, +} +/// Returns a unique poolID to identify the pool with. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" +)] +pub struct MsgCreateConcentratedPoolResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +///=============================== Pool +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Pool", + response_type = QueryPoolResponse +)] +pub struct QueryPoolRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolResponse")] +pub struct QueryPoolResponse { + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, +} +///=============================== Pools +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", + response_type = QueryPoolsResponse +)] +pub struct QueryPoolsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] +pub struct QueryPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +///=============================== ModuleParams +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// ===================== MsgCreatePosition +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] +pub struct MsgCreatePosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "5")] + pub token_desired0: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub token_desired1: ::core::option::Option, + #[prost(string, tag = "7")] + pub token_min_amount0: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub token_min_amount1: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] +pub struct MsgCreatePositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub liquidity_created: ::prost::alloc::string::String, +} +/// ===================== MsgWithdrawPosition +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] +pub struct MsgWithdrawPosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(string, tag = "5")] + pub liquidity_amount: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] +pub struct MsgWithdrawPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, +} +pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn pools( + &self, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryPoolsRequest { pagination }.query(self.querier) + } + pub fn pool(&self, pool_id: u64) -> Result { + QueryPoolRequest { pool_id }.query(self.querier) + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index deeec561..013275d9 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -1004,8 +1004,10 @@ pub struct QuerySpotPriceRequest { response_type = QueryPoolsWithFilterResponse )] pub struct QueryPoolsWithFilterRequest { - #[prost(message, repeated, tag = "1")] - pub min_liquidity: ::prost::alloc::vec::Vec, + /// String of the coins in single string seperated by comma. Ex) + /// 10uatom,100uosmo + #[prost(string, tag = "1")] + pub min_liquidity: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub pool_type: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] @@ -1196,7 +1198,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } pub fn pools_with_filter( &self, - min_liquidity: ::prost::alloc::vec::Vec, + min_liquidity: ::prost::alloc::string::String, pool_type: ::prost::alloc::string::String, pagination: ::core::option::Option< super::super::super::cosmos::base::query::v1beta1::PageRequest, diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 87d154eb..0e032c0f 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,3 +1,5 @@ +pub mod accum; +pub mod concentratedliquidity; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 88a3facc..3fd31636 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -197,6 +197,96 @@ pub struct ArithmeticTwapToNowResponse { schemars::JsonSchema, CosmwasmExt, )] +#[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapRequest")] +#[proto_query( + path = "/osmosis.twap.v1beta1.Query/GeometricTwap", + response_type = GeometricTwapResponse +)] +pub struct GeometricTwapRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub end_time: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapResponse")] +pub struct GeometricTwapResponse { + #[prost(string, tag = "1")] + pub geometric_twap: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapToNowRequest")] +#[proto_query( + path = "/osmosis.twap.v1beta1.Query/GeometricTwapToNow", + response_type = GeometricTwapToNowResponse +)] +pub struct GeometricTwapToNowRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapToNowResponse")] +pub struct GeometricTwapToNowResponse { + #[prost(string, tag = "1")] + pub geometric_twap: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] #[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsRequest")] #[proto_query( path = "/osmosis.twap.v1beta1.Query/Params", @@ -261,4 +351,37 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { } .query(self.querier) } + pub fn geometric_twap( + &self, + pool_id: u64, + base_asset: ::prost::alloc::string::String, + quote_asset: ::prost::alloc::string::String, + start_time: ::core::option::Option, + end_time: ::core::option::Option, + ) -> Result { + GeometricTwapRequest { + pool_id, + base_asset, + quote_asset, + start_time, + end_time, + } + .query(self.querier) + } + #[deprecated] + pub fn geometric_twap_to_now( + &self, + pool_id: u64, + base_asset: ::prost::alloc::string::String, + quote_asset: ::prost::alloc::string::String, + start_time: ::core::option::Option, + ) -> Result { + GeometricTwapToNowRequest { + pool_id, + base_asset, + quote_asset, + start_time, + } + .query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs index 4f58f06d..6da1f823 100644 --- a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs @@ -147,6 +147,37 @@ pub struct MsgUndelegateFromValidatorSet { )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgUndelegateFromValidatorSetResponse")] pub struct MsgUndelegateFromValidatorSetResponse {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgRedelegateValidatorSet")] +pub struct MsgRedelegateValidatorSet { + /// delegator is the user who is trying to create a validator-set. + #[prost(string, tag = "1")] + pub delegator: ::prost::alloc::string::String, + /// list of {valAddr, weight} to delegate to + #[prost(message, repeated, tag = "2")] + pub preferences: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgRedelegateValidatorSetResponse")] +pub struct MsgRedelegateValidatorSetResponse {} /// MsgWithdrawDelegationRewards allows user to claim staking rewards from the /// validator set. #[derive( diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index 901aba87..bc6612b3 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -130,7 +130,7 @@ require ( nhooyr.io/websocket v1.8.6 // indirect ) -replace github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 +replace github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30 replace github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 diff --git a/scripts/update-osmosis-testing-replace/go.mod b/scripts/update-osmosis-testing-replace/go.mod index 171959ef..c5de0802 100644 --- a/scripts/update-osmosis-testing-replace/go.mod +++ b/scripts/update-osmosis-testing-replace/go.mod @@ -3,3 +3,5 @@ module github.com/osmosis-labs/osmosis-rust/update-osmosis-testing-replace go 1.19 require golang.org/x/mod v0.7.0 + +require github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928 // indirect diff --git a/scripts/update-osmosis-testing-replace/go.sum b/scripts/update-osmosis-testing-replace/go.sum index f6b0ac09..d00aaed4 100644 --- a/scripts/update-osmosis-testing-replace/go.sum +++ b/scripts/update-osmosis-testing-replace/go.sum @@ -1,2 +1,4 @@ +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928 h1:+fRcnu0yS/AP+4mizC1tYw3gaz4oA3wkMliVEfSTbeA= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230103003823-2ac5d3561928/go.mod h1:qGe1c/RQyNzUzhQA+L1/aTeJ96gR91OXZ69gnQAZJ5s= golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= From ed138dea2962255142fb9d17a8223ff14ec87b7d Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 16:15:44 +0700 Subject: [PATCH 085/142] make geometric twap works --- dependencies/osmosis | 2 +- .../osmosis-testing/libosmosistesting/go.mod | 28 +++++---- .../osmosis-testing/libosmosistesting/go.sum | 59 ++++++++++++------- .../osmosis-std-cosmwasm-test/src/contract.rs | 7 ++- tests/osmosis-std-cosmwasm-test/src/msg.rs | 6 +- .../tests/integration_test.rs | 26 +++++++- 6 files changed, 90 insertions(+), 38 deletions(-) diff --git a/dependencies/osmosis b/dependencies/osmosis index 2ac5d356..1c6c3c04 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 2ac5d3561928b0f60bd7f9451b9168f6e1ad5344 +Subproject commit 1c6c3c04e1d4d47837ea984e5bbe0df18be76c33 diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index bc6612b3..e9c167d7 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -3,12 +3,12 @@ module github.com/osmosis-labs/osmosis-rust/osmosis-testing go 1.19 require ( - github.com/CosmWasm/wasmd v0.29.2-osmo-v13 - github.com/cosmos/cosmos-sdk v0.46.6 + github.com/CosmWasm/wasmd v0.30.0 + github.com/cosmos/cosmos-sdk v0.46.7 github.com/golang/protobuf v1.5.2 - github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5 + github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230102224730-0099950bae4a github.com/pkg/errors v0.9.1 - github.com/tendermint/tendermint v0.34.22 + github.com/tendermint/tendermint v0.34.24 github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b ) @@ -28,13 +28,13 @@ require ( github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect github.com/confio/ics23/go v0.7.0 // indirect - github.com/cosmos/btcutil v1.0.4 // indirect + github.com/cosmos/btcutil v1.0.5 // indirect github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.2 // indirect + github.com/cosmos/gogoproto v1.4.3 // indirect github.com/cosmos/gorocksdb v1.2.0 // indirect github.com/cosmos/iavl v0.19.4 // indirect - github.com/cosmos/ibc-go/v3 v3.4.0 // indirect + github.com/cosmos/ibc-go/v4 v4.2.0 // indirect github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect github.com/cosmos/ledger-go v0.9.3 // indirect github.com/creachadair/taskgroup v0.3.2 // indirect @@ -43,6 +43,7 @@ require ( github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect github.com/dgraph-io/badger/v3 v3.2103.2 // indirect github.com/dgraph-io/ristretto v0.1.0 // indirect + github.com/docker/distribution v2.8.1+incompatible // indirect github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect @@ -75,7 +76,7 @@ require ( github.com/improbable-eng/grpc-web v0.15.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.15.9 // indirect + github.com/klauspost/compress v1.15.11 // indirect github.com/lib/pq v1.10.6 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.6 // indirect @@ -86,6 +87,10 @@ require ( github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mtibben/percent v0.2.1 // indirect + github.com/opencontainers/go-digest v1.0.0 // indirect + github.com/osmosis-labs/osmosis/osmomath v0.0.2 // indirect + github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf // indirect + github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect @@ -108,10 +113,11 @@ require ( github.com/spf13/viper v1.14.0 // indirect github.com/stretchr/testify v1.8.1 // indirect github.com/subosito/gotenv v1.4.1 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect + github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect github.com/tendermint/btcd v0.1.1 // indirect github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect github.com/tendermint/go-amino v0.16.0 // indirect + github.com/tidwall/btree v1.6.0 // indirect github.com/zondax/hid v0.9.0 // indirect go.etcd.io/bbolt v1.3.6 // indirect go.opencensus.io v0.23.0 // indirect @@ -123,11 +129,11 @@ require ( golang.org/x/text v0.4.0 // indirect google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect google.golang.org/grpc v1.50.1 // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - nhooyr.io/websocket v1.8.6 // indirect + nhooyr.io/websocket v1.8.7 // indirect ) replace github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30 diff --git a/packages/osmosis-testing/libosmosistesting/go.sum b/packages/osmosis-testing/libosmosistesting/go.sum index cd7549d2..813ba43f 100644 --- a/packages/osmosis-testing/libosmosistesting/go.sum +++ b/packages/osmosis-testing/libosmosistesting/go.sum @@ -65,7 +65,7 @@ github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3 github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= +github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -161,8 +161,8 @@ github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3Ee github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.4 h1:n7C2ngKXo7UC9gNyMNLbzqz7Asuf+7Qv4gnX/rOdQ44= -github.com/cosmos/btcutil v1.0.4/go.mod h1:Ffqc8Hn6TJUdDgHBwIZLtrLQC1KdJ9jGJl/TvgUaxbU= +github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= +github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= @@ -170,15 +170,15 @@ github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpF github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gogoproto v1.4.2 h1:UeGRcmFW41l0G0MiefWhkPEVEwvu78SZsHBvI78dAYw= -github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= +github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI= +github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v3 v3.4.0 h1:ha3cqEG36pqMWqA1D+kxDWBTZXpeFMd/aZIQF7I0xro= -github.com/cosmos/ibc-go/v3 v3.4.0/go.mod h1:VwB/vWu4ysT5DN2aF78d17LYmx3omSAdq6gpKvM7XRA= -github.com/cosmos/interchain-accounts v0.1.0 h1:QmuwNsf1Hxl3P5GSGt7Z+JeuHPiZw4Z34R/038P5T6s= +github.com/cosmos/ibc-go/v4 v4.2.0 h1:Fx/kKq/uvawrAxk6ZrQ6sEIgffLRU5Cs/AUnvpPBrHI= +github.com/cosmos/ibc-go/v4 v4.2.0/go.mod h1:57qWScDtfCx3FOMLYmBIKPbOLE6xiVhrgxHAQmbWYXM= +github.com/cosmos/interchain-accounts v0.2.4 h1:7UrroFQsCRSp17980mk6anx4YteveIJVkU+a0wlsHQI= github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= @@ -213,9 +213,11 @@ github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WA github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= +github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= @@ -486,8 +488,8 @@ github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6 github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.9 h1:wKRjX6JRtDdrE9qwa4b/Cip7ACOshUI4smpCQanqjSY= -github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= +github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= @@ -593,7 +595,8 @@ github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 h1:rc3tiVYb5z54aKaDfakKn0dDjIyPpTtszkjuMzyt7ec= +github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= @@ -606,10 +609,16 @@ github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnh github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e h1:A3byMZpvq21iI7yWJUNdHw0nf8jVAbVUsWY9twnXSXE= github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e/go.mod h1:rud0OaBIuq3+qOqtwT4SR7Q7iSzRp7w41fjninTjfnQ= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5 h1:QMOf2nuECkUZwYUMl0c/u4SVWmcYceCpZa6HJpFisYQ= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc5/go.mod h1:kmUewgpH8PSQmVFiI/6s8/VA1s9UC4fkj9VpxZEluFQ= -github.com/osmosis-labs/wasmd v0.29.2-osmo-v13 h1:HvxAks1ctB3nBx1cXqcmfA0g0BKe7Og77OA2j2rxaJk= -github.com/osmosis-labs/wasmd v0.29.2-osmo-v13/go.mod h1:UlLBU5vuHncwQUM9W8lw+2mEptEMFxxfVWupZ6sXtn4= +github.com/osmosis-labs/osmosis/osmomath v0.0.2 h1:8vTobkYfoRTCJCie+jE7gzXvqUUfoPI4NSvTskoci50= +github.com/osmosis-labs/osmosis/osmomath v0.0.2/go.mod h1:IpoXO7lvmfsBFfQzaqovs541hpqtrnM+GJSZDi/TZtc= +github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf h1:FZOlrTSaf/YWokt3+tSSZpcu6zu3dXLhsvhJWkHeBxU= +github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf/go.mod h1:T7CCZKYhKWASnv5mRE8u3m0gst3NZ/sU16Brjmv4UPw= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230102224730-0099950bae4a h1:qdWLGrypS27JPE2lK29Z2LWMISagLQ89KpaPFPhw60I= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230102224730-0099950bae4a/go.mod h1:qGe1c/RQyNzUzhQA+L1/aTeJ96gR91OXZ69gnQAZJ5s= +github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf h1:qcDUVsM6BNuGJ3dfGs3onOPzR0donLgXznqv60HRk+8= +github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf/go.mod h1:5zNisZDypMTW32EABSuWI/EacHC48590PpSO9QwFzCg= +github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30 h1:6uMi7HhPSwvKKU7j5NqljseFTEz4I7qHr+IPnnn42Ck= +github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30/go.mod h1:5fDYJyMXBq6u2iuHqqOTYiZ5NitIOeIW5k7qEXqbwJE= github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= @@ -766,18 +775,21 @@ github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKs github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca h1:Ld/zXl5t4+D69SiV4JoN7kkfvJdOWlPpfxrzxpLMoUk= github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.22 h1:XMhtC8s8QqJO4l/dn+TkQvevTRSow3Vixjclr41o+2Q= -github.com/tendermint/tendermint v0.34.22/go.mod h1:YpP5vBEAKUT4g6oyfjKgFeZmdB/GjkJAxfF+cgmJg6Y= +github.com/tendermint/tendermint v0.34.24 h1:879MKKJWYYPJEMMKME+DWUTY4V9f/FBpnZDI82ky+4k= +github.com/tendermint/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b h1:Y3ZPG6gdDCAV2sdGkD759ji/09GzaNu1X3qKTmZIbTo= github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b/go.mod h1:ADqbS9NOSnBRK9R2RtYC61CdsHmVMD/yXAzcMuPexbU= +github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= +github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= @@ -888,6 +900,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1105,6 +1118,7 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1195,8 +1209,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= +google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1238,8 +1252,9 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -nhooyr.io/websocket v1.8.6 h1:s+C3xAMLwGmlI31Nyn/eAehUlZPwfYZu2JXM621Q5/k= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= +nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= +nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/tests/osmosis-std-cosmwasm-test/src/contract.rs b/tests/osmosis-std-cosmwasm-test/src/contract.rs index 890c0d16..1c57ebfe 100644 --- a/tests/osmosis-std-cosmwasm-test/src/contract.rs +++ b/tests/osmosis-std-cosmwasm-test/src/contract.rs @@ -14,7 +14,9 @@ use osmosis_std::types::osmosis::gamm::v1beta1::{ QueryNumPoolsRequest, QueryNumPoolsResponse, QueryPoolParamsRequest, QueryPoolParamsResponse, QueryPoolRequest, QueryPoolResponse, }; -use osmosis_std::types::osmosis::twap::v1beta1::ArithmeticTwapToNowResponse; +use osmosis_std::types::osmosis::twap::v1beta1::{ + ArithmeticTwapToNowResponse, GeometricTwapToNowResponse, +}; use serde::de::DeserializeOwned; use serde::Serialize; @@ -99,6 +101,9 @@ pub fn query(deps: Deps, _env: Env, msg: QueryMsg) -> StdResult { QueryMsg::QueryArithmeticTwapToNow(arithmetic_twap_request) => { query_and_debug::(&deps, arithmetic_twap_request) } + QueryMsg::QueryGeometricTwapToNow(geometric_twap_request) => { + query_and_debug::(&deps, geometric_twap_request) + } QueryMsg::QueryMap { key } => to_binary(&QueryMapResponse { value: MAP.load(deps.storage, key)?, }), diff --git a/tests/osmosis-std-cosmwasm-test/src/msg.rs b/tests/osmosis-std-cosmwasm-test/src/msg.rs index 2d6e1e98..b4cd6d57 100644 --- a/tests/osmosis-std-cosmwasm-test/src/msg.rs +++ b/tests/osmosis-std-cosmwasm-test/src/msg.rs @@ -4,7 +4,8 @@ pub use osmosis_std::types::osmosis::gamm::v1beta1::{ QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; pub use osmosis_std::types::osmosis::twap::v1beta1::{ - ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, + ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, GeometricTwapToNowRequest, + GeometricTwapToNowResponse, }; /// Message type for `instantiate` entry_point @@ -42,6 +43,9 @@ pub enum QueryMsg { #[returns(ArithmeticTwapToNowResponse)] QueryArithmeticTwapToNow(ArithmeticTwapToNowRequest), + #[returns(GeometricTwapToNowResponse)] + QueryGeometricTwapToNow(GeometricTwapToNowRequest), + #[returns(QueryMapResponse)] QueryMap { key: String }, } diff --git a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs index 64b25ba8..e2428529 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs @@ -12,11 +12,13 @@ use osmosis_std::{ self, v1beta1::{MsgSwapExactAmountInResponse, SwapAmountInRoute}, }, + twap::v1beta1::GeometricTwapToNowRequest, }, }; use osmosis_std_cosmwasm_test::msg::{ - ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, ExecuteMsg, QueryEpochsInfoResponse, - QueryMapResponse, QueryMsg, QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, + ArithmeticTwapToNowRequest, ArithmeticTwapToNowResponse, ExecuteMsg, + GeometricTwapToNowResponse, QueryEpochsInfoResponse, QueryMapResponse, QueryMsg, + QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; use osmosis_testing::RunnerError::ExecuteError; use osmosis_testing::{Account, Runner}; @@ -226,6 +228,26 @@ fn test_twap_query() { res.arithmetic_twap.chars().take(4).collect::(), "0.94" ); + + let res: GeometricTwapToNowResponse = wasm + .query( + &contract_addr, + &QueryMsg::QueryGeometricTwapToNow(GeometricTwapToNowRequest { + pool_id, + base_asset: "uosmo".to_string(), + quote_asset: "uion".to_string(), + start_time: Some(Timestamp { + seconds: time.as_secs() as i64, + nanos: 0, + }), + }), + ) + .unwrap(); + + assert_eq!( + res.geometric_twap.chars().take(4).collect::(), + "0.94" + ); }, true, ); From 5f2493aa13569167431add6282916683b4aaf3c8 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 3 Jan 2023 16:19:21 +0700 Subject: [PATCH 086/142] go get from libosmosistesting --- scripts/update-and-rebuild.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 0bc0a2ee..b7734b11 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -44,12 +44,15 @@ UPDATE_OSMOSIS_TESTING_REPLACE_BIN="$SCRIPT_DIR/update-osmosis-testing-replace/u # with osmosis' $UPDATE_OSMOSIS_TESTING_REPLACE_BIN -# tidy up updated go.mod -go mod tidy + +cd "$SCRIPT_DIR/../packages/osmosis-testing/libosmosistesting" # sync rev go get "github.com/osmosis-labs/osmosis/$OSMOSIS_VERSION@$(echo "$OSMOSIS_REV" | sed "s/^origin\///")" +# tidy up updated go.mod +go mod tidy + ######################################## ## Update git revision if there is ## From abd689d239d6a550f52633289a3bcb8986dc73ee Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Jan 2023 02:11:32 +0000 Subject: [PATCH 087/142] rebuild with 1c6c3c0 --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs | 2 -- packages/osmosis-testing/libosmosistesting/go.mod | 2 +- packages/osmosis-testing/libosmosistesting/go.sum | 4 ++-- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/dependencies/osmosis b/dependencies/osmosis index 1c6c3c04..0e42afca 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 1c6c3c04e1d4d47837ea984e5bbe0df18be76c33 +Subproject commit 0e42afca8d7cb17236ee3360e5e86cef2f68d69a diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 3fd31636..872c8027 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -335,7 +335,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { } .query(self.querier) } - #[deprecated] pub fn arithmetic_twap_to_now( &self, pool_id: u64, @@ -368,7 +367,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TwapQuerier<'a, Q> { } .query(self.querier) } - #[deprecated] pub fn geometric_twap_to_now( &self, pool_id: u64, diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod index e9c167d7..a7055877 100644 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ b/packages/osmosis-testing/libosmosistesting/go.mod @@ -6,7 +6,7 @@ require ( github.com/CosmWasm/wasmd v0.30.0 github.com/cosmos/cosmos-sdk v0.46.7 github.com/golang/protobuf v1.5.2 - github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230102224730-0099950bae4a + github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230104143951-0e42afca8d7c github.com/pkg/errors v0.9.1 github.com/tendermint/tendermint v0.34.24 github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b diff --git a/packages/osmosis-testing/libosmosistesting/go.sum b/packages/osmosis-testing/libosmosistesting/go.sum index 813ba43f..a771ef95 100644 --- a/packages/osmosis-testing/libosmosistesting/go.sum +++ b/packages/osmosis-testing/libosmosistesting/go.sum @@ -613,8 +613,8 @@ github.com/osmosis-labs/osmosis/osmomath v0.0.2 h1:8vTobkYfoRTCJCie+jE7gzXvqUUfo github.com/osmosis-labs/osmosis/osmomath v0.0.2/go.mod h1:IpoXO7lvmfsBFfQzaqovs541hpqtrnM+GJSZDi/TZtc= github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf h1:FZOlrTSaf/YWokt3+tSSZpcu6zu3dXLhsvhJWkHeBxU= github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf/go.mod h1:T7CCZKYhKWASnv5mRE8u3m0gst3NZ/sU16Brjmv4UPw= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230102224730-0099950bae4a h1:qdWLGrypS27JPE2lK29Z2LWMISagLQ89KpaPFPhw60I= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230102224730-0099950bae4a/go.mod h1:qGe1c/RQyNzUzhQA+L1/aTeJ96gR91OXZ69gnQAZJ5s= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230104143951-0e42afca8d7c h1:tzqd7FCZf6BhlpU8Hi7OlaErbW+aF8k/WrAHbQrIJec= +github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230104143951-0e42afca8d7c/go.mod h1:4TcGnFxmXnkRJHNpOtFPTZQcHrenJwcfWWrac5C4/S8= github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf h1:qcDUVsM6BNuGJ3dfGs3onOPzR0donLgXznqv60HRk+8= github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf/go.mod h1:5zNisZDypMTW32EABSuWI/EacHC48590PpSO9QwFzCg= github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30 h1:6uMi7HhPSwvKKU7j5NqljseFTEz4I7qHr+IPnnn42Ck= From 6d89b60480b3d32f8ebe3f2f10348a74f985eb94 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 8 Jan 2023 01:32:27 +0000 Subject: [PATCH 088/142] Update latest osmosis tag timestamp to 1673105747 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index a5436b49..bc96102d 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1672706303 +1673105747 From ff71e58aafd206b556136713e943fbc4e933bd4b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 11 Jan 2023 01:33:09 +0000 Subject: [PATCH 089/142] Update latest osmosis tag timestamp to 1673367355 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index bc96102d..e9d6f972 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1673105747 +1673367355 From 902ff9a4c89e186781a31fdcf572ab9e0a65aee5 Mon Sep 17 00:00:00 2001 From: Supanat Date: Wed, 11 Jan 2023 19:32:22 +0700 Subject: [PATCH 090/142] Update README.md --- packages/osmosis-testing/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/osmosis-testing/README.md b/packages/osmosis-testing/README.md index 43df3f01..9b6315d2 100644 --- a/packages/osmosis-testing/README.md +++ b/packages/osmosis-testing/README.md @@ -1,5 +1,7 @@ # osmosis-testing +> 🚩DEPRECATED IN FAVOR OF [`osmosis-test-tube`](https://github.com/osmosis-labs/test-tube/tree/main/packages/osmosis-test-tube) + [![osmosis-testing on crates.io](https://img.shields.io/crates/v/osmosis-testing.svg)](https://crates.io/crates/osmosis-testing) [![Docs](https://docs.rs/osmosis-testing/badge.svg)](https://docs.rs/osmosis-testing) CosmWasm x Osmosis integration testing library that, unlike `cw-multi-test`, it allows you to test your cosmwasm contract against real chain's logic instead of mocks. From 730c9f0e5990d2173f254814f8a0d2c83c5b691d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Jan 2023 01:32:10 +0000 Subject: [PATCH 091/142] Update latest osmosis tag timestamp to 1673450503 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index e9d6f972..52ad0ea7 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1673367355 +1673450503 From d24284c1c353e05dcf8fa3ae39ed7b37e7399538 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 13 Jan 2023 01:33:08 +0000 Subject: [PATCH 092/142] Update latest osmosis tag timestamp to 1673513119 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 52ad0ea7..247af873 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1673450503 +1673513119 From 5510df08f05df8b13d71758be3161d657b23136a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 15 Jan 2023 01:32:18 +0000 Subject: [PATCH 093/142] Update latest osmosis tag timestamp to 1673367355 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 247af873..e9d6f972 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1673513119 +1673367355 From 23fde0ebb8505bacb9fa4e06cf6a822c5cbbbf78 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 16 Jan 2023 15:06:32 +0700 Subject: [PATCH 094/142] add authz --- .../osmosis-std/src/types/cosmos/authz/mod.rs | 1 + .../src/types/cosmos/authz/v1beta1.rs | 300 ++++++++++++++++++ 2 files changed, 301 insertions(+) create mode 100644 packages/osmosis-std/src/types/cosmos/authz/mod.rs create mode 100644 packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs diff --git a/packages/osmosis-std/src/types/cosmos/authz/mod.rs b/packages/osmosis-std/src/types/cosmos/authz/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/cosmos/authz/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs new file mode 100644 index 00000000..790a879c --- /dev/null +++ b/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs @@ -0,0 +1,300 @@ +use osmosis_std_derive::CosmwasmExt; +/// GenericAuthorization gives the grantee unrestricted permissions to execute +/// the provided method on behalf of the granter's account. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.GenericAuthorization")] +pub struct GenericAuthorization { + /// Msg, identified by it's type URL, to grant unrestricted permissions to execute + #[prost(string, tag = "1")] + pub msg: ::prost::alloc::string::String, +} +/// Grant gives permissions to execute +/// the provide method with expiration time. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.Grant")] +pub struct Grant { + #[prost(message, optional, tag = "1")] + pub authorization: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub expiration: ::core::option::Option, +} +/// MsgGrant is a request type for Grant method. It declares authorization to the grantee +/// on behalf of the granter with the provided expiration time. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgGrant")] +pub struct MsgGrant { + #[prost(string, tag = "1")] + pub granter: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub grantee: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub grant: ::core::option::Option, +} +/// MsgExecResponse defines the Msg/MsgExecResponse response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgExecResponse")] +pub struct MsgExecResponse { + #[prost(bytes = "vec", repeated, tag = "1")] + pub results: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +/// MsgExec attempts to execute the provided messages using +/// authorizations granted to the grantee. Each message should have only +/// one signer corresponding to the granter of the authorization. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgExec")] +pub struct MsgExec { + #[prost(string, tag = "1")] + pub grantee: ::prost::alloc::string::String, + /// Authorization Msg requests to execute. Each msg must implement Authorization interface + /// The x/authz will try to find a grant matching (msg.signers\[0\], grantee, MsgTypeURL(msg)) + /// triple and validate it. + #[prost(message, repeated, tag = "2")] + pub msgs: ::prost::alloc::vec::Vec, +} +/// MsgGrantResponse defines the Msg/MsgGrant response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgGrantResponse")] +pub struct MsgGrantResponse {} +/// MsgRevoke revokes any authorization with the provided sdk.Msg type on the +/// granter's account with that has been granted to the grantee. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgRevoke")] +pub struct MsgRevoke { + #[prost(string, tag = "1")] + pub granter: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub grantee: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub msg_type_url: ::prost::alloc::string::String, +} +/// MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgRevokeResponse")] +pub struct MsgRevokeResponse {} +/// QueryGrantsRequest is the request type for the Query/Grants RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.QueryGrantsRequest")] +#[proto_query( + path = "/cosmos.authz.v1beta1.Query/Grants", + response_type = QueryGrantsResponse +)] +pub struct QueryGrantsRequest { + #[prost(string, tag = "1")] + pub granter: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub grantee: ::prost::alloc::string::String, + /// Optional, msg_type_url, when set, will query only grants matching given msg type. + #[prost(string, tag = "3")] + pub msg_type_url: ::prost::alloc::string::String, + /// pagination defines an pagination for the request. + #[prost(message, optional, tag = "4")] + pub pagination: ::core::option::Option, +} +/// QueryGrantsResponse is the response type for the Query/Authorizations RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.QueryGrantsResponse")] +pub struct QueryGrantsResponse { + /// authorizations is a list of grants granted for grantee by granter. + #[prost(message, repeated, tag = "1")] + pub grants: ::prost::alloc::vec::Vec, + /// pagination defines an pagination for the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, +} +/// EventGrant is emitted on Msg/Grant +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.EventGrant")] +pub struct EventGrant { + /// Msg type URL for which an autorization is granted + #[prost(string, tag = "2")] + pub msg_type_url: ::prost::alloc::string::String, + /// Granter account address + #[prost(string, tag = "3")] + pub granter: ::prost::alloc::string::String, + /// Grantee account address + #[prost(string, tag = "4")] + pub grantee: ::prost::alloc::string::String, +} +/// EventRevoke is emitted on Msg/Revoke +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.EventRevoke")] +pub struct EventRevoke { + /// Msg type URL for which an autorization is revoked + #[prost(string, tag = "2")] + pub msg_type_url: ::prost::alloc::string::String, + /// Granter account address + #[prost(string, tag = "3")] + pub granter: ::prost::alloc::string::String, + /// Grantee account address + #[prost(string, tag = "4")] + pub grantee: ::prost::alloc::string::String, +} +/// GenesisState defines the authz module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub authorization: ::prost::alloc::vec::Vec, +} +/// GrantAuthorization defines the GenesisState/GrantAuthorization type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.GrantAuthorization")] +pub struct GrantAuthorization { + #[prost(string, tag = "1")] + pub granter: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub grantee: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub authorization: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub expiration: ::core::option::Option, +} +pub struct AuthzQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> AuthzQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn grants( + &self, + granter: ::prost::alloc::string::String, + grantee: ::prost::alloc::string::String, + msg_type_url: ::prost::alloc::string::String, + pagination: ::core::option::Option, + ) -> Result { + QueryGrantsRequest { + granter, + grantee, + msg_type_url, + pagination, + } + .query(self.querier) + } +} From 72b27d7753bf5436c485e03532b5b5106b1cf87b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Tue, 17 Jan 2023 15:38:58 +0700 Subject: [PATCH 095/142] add mod authz --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/cosmos/mod.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dependencies/osmosis b/dependencies/osmosis index 0e42afca..59640198 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 0e42afca8d7cb17236ee3360e5e86cef2f68d69a +Subproject commit 596401983a4a2f8921b3dddbbac9488c150a18ce diff --git a/packages/osmosis-std/src/types/cosmos/mod.rs b/packages/osmosis-std/src/types/cosmos/mod.rs index fe917250..be05cd85 100644 --- a/packages/osmosis-std/src/types/cosmos/mod.rs +++ b/packages/osmosis-std/src/types/cosmos/mod.rs @@ -1,4 +1,5 @@ pub mod auth; +pub mod authz; pub mod bank; pub mod base; pub mod staking; From 3aae799830d48a94f4c48bccd0381f69e87a901e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 18 Jan 2023 01:32:52 +0000 Subject: [PATCH 096/142] Update latest osmosis tag timestamp to 1673971085 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index e9d6f972..192d6df5 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1673367355 +1673971085 From 5d8891eefe6535999520395b36eaf3977980378b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 18 Jan 2023 21:10:52 +0700 Subject: [PATCH 097/142] add ID alias --- packages/osmosis-std/src/types/osmosis/lockup.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index 446c5d9c..90a5aeaf 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -24,6 +24,7 @@ pub struct PeriodLock { serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] + #[serde(alias = "ID")] pub id: u64, /// Owner is the account address of the lock owner. /// Only the owner can modify the state of the lock. From 5b2705d1537590ef85d1aa75e39e4df849b02d55 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 27 Jan 2023 10:35:26 +0700 Subject: [PATCH 098/142] update osmosis versionc --- dependencies/osmosis | 2 +- .../src/types/cosmos/bank/v1beta1.rs | 182 +++++------ .../osmosis/concentratedliquidity/v1beta1.rs | 305 +++++++++++------- .../gamm/poolmodels/balancer/v1beta1.rs | 49 +++ .../src/types/osmosis/gamm/v1beta1.rs | 252 +++++++++------ .../src/types/osmosis/incentives.rs | 102 +++--- .../osmosis-std/src/types/osmosis/lockup.rs | 79 +++-- .../src/types/osmosis/mint/v1beta1.rs | 56 ++-- packages/osmosis-std/src/types/osmosis/mod.rs | 2 +- .../types/osmosis/poolincentives/v1beta1.rs | 46 +-- .../{swaprouter => poolmanager}/mod.rs | 0 .../{swaprouter => poolmanager}/v1beta1.rs | 196 +++++------ .../src/types/osmosis/protorev/v1beta1.rs | 169 ++++++---- .../src/types/osmosis/superfluid/mod.rs | 102 +++--- .../src/types/osmosis/tokenfactory/v1beta1.rs | 150 ++++----- .../src/types/osmosis/txfees/v1beta1.rs | 36 +-- .../src/types/osmosis/valsetpref/v1beta1.rs | 38 +++ packages/proto-build/src/main.rs | 2 +- 18 files changed, 1006 insertions(+), 762 deletions(-) rename packages/osmosis-std/src/types/osmosis/{swaprouter => poolmanager}/mod.rs (100%) rename packages/osmosis-std/src/types/osmosis/{swaprouter => poolmanager}/v1beta1.rs (82%) diff --git a/dependencies/osmosis b/dependencies/osmosis index 59640198..82f92468 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 596401983a4a2f8921b3dddbbac9488c150a18ce +Subproject commit 82f92468520317375be410e2b3f3989fcbd40c87 diff --git a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs index 7907c13e..4d4a193c 100644 --- a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs @@ -161,97 +161,6 @@ pub struct Metadata { #[prost(string, tag = "6")] pub symbol: ::prost::alloc::string::String, } -/// SendAuthorization allows the grantee to spend up to spend_limit coins from -/// the granter's account. -/// -/// Since: cosmos-sdk 0.43 -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.SendAuthorization")] -pub struct SendAuthorization { - #[prost(message, repeated, tag = "1")] - pub spend_limit: ::prost::alloc::vec::Vec, -} -/// GenesisState defines the bank module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines all the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// balances is an array containing the balances of all the accounts. - #[prost(message, repeated, tag = "2")] - pub balances: ::prost::alloc::vec::Vec, - /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided - /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. - #[prost(message, repeated, tag = "3")] - pub supply: ::prost::alloc::vec::Vec, - /// denom_metadata defines the metadata of the differents coins. - #[prost(message, repeated, tag = "4")] - pub denom_metadata: ::prost::alloc::vec::Vec, - /// supply_offsets defines the amount of supply offset. - #[prost(message, repeated, tag = "5")] - pub supply_offsets: ::prost::alloc::vec::Vec, -} -/// Balance defines an account address and balance pair used in the bank module's -/// genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Balance")] -pub struct Balance { - /// address is the address of the balance holder. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// coins defines the different coins this balance holds. - #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, -} -/// GenesisSupplyOffset encodes the supply offsets, just for genesis. -/// The offsets are serialized directly by denom in state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisSupplyOffset")] -pub struct GenesisSupplyOffset { - /// Denom - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - /// SupplyOffset - #[prost(string, tag = "2")] - pub offset: ::prost::alloc::string::String, -} /// MsgSend represents a message to send coins from one account to another. #[derive( Clone, @@ -722,6 +631,97 @@ pub struct QueryBaseDenomResponse { #[prost(string, tag = "1")] pub base_denom: ::prost::alloc::string::String, } +/// SendAuthorization allows the grantee to spend up to spend_limit coins from +/// the granter's account. +/// +/// Since: cosmos-sdk 0.43 +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.SendAuthorization")] +pub struct SendAuthorization { + #[prost(message, repeated, tag = "1")] + pub spend_limit: ::prost::alloc::vec::Vec, +} +/// GenesisState defines the bank module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// balances is an array containing the balances of all the accounts. + #[prost(message, repeated, tag = "2")] + pub balances: ::prost::alloc::vec::Vec, + /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided + /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. + #[prost(message, repeated, tag = "3")] + pub supply: ::prost::alloc::vec::Vec, + /// denom_metadata defines the metadata of the differents coins. + #[prost(message, repeated, tag = "4")] + pub denom_metadata: ::prost::alloc::vec::Vec, + /// supply_offsets defines the amount of supply offset. + #[prost(message, repeated, tag = "5")] + pub supply_offsets: ::prost::alloc::vec::Vec, +} +/// Balance defines an account address and balance pair used in the bank module's +/// genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Balance")] +pub struct Balance { + /// address is the address of the balance holder. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// coins defines the different coins this balance holds. + #[prost(message, repeated, tag = "2")] + pub coins: ::prost::alloc::vec::Vec, +} +/// GenesisSupplyOffset encodes the supply offsets, just for genesis. +/// The offsets are serialized directly by denom in state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisSupplyOffset")] +pub struct GenesisSupplyOffset { + /// Denom + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// SupplyOffset + #[prost(string, tag = "2")] + pub offset: ::prost::alloc::string::String, +} pub struct BankQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs index af25cb25..ed73231e 100644 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -1,4 +1,167 @@ use osmosis_std_derive::CosmwasmExt; +/// ===================== MsgCreatePosition +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] +pub struct MsgCreatePosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "5")] + pub token_desired0: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub token_desired1: ::core::option::Option, + #[prost(string, tag = "7")] + pub token_min_amount0: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub token_min_amount1: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] +pub struct MsgCreatePositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub liquidity_created: ::prost::alloc::string::String, +} +/// ===================== MsgWithdrawPosition +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] +pub struct MsgWithdrawPosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(string, tag = "5")] + pub liquidity_amount: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] +pub struct MsgWithdrawPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, +} +/// ===================== MsgCollectFees +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] +pub struct MsgCollectFees { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] +pub struct MsgCollectFeesResponse { + #[prost(message, repeated, tag = "1")] + pub token_out: ::prost::alloc::vec::Vec, +} #[derive( Clone, PartialEq, @@ -15,6 +178,9 @@ pub struct TickInfo { pub liquidity_gross: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub liquidity_net: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub fee_growth_outside: + ::prost::alloc::vec::Vec, } #[derive( Clone, @@ -55,6 +221,11 @@ pub struct Pool { deserialize_with = "crate::serde::as_str::deserialize" )] pub tick_spacing: u64, + #[prost(string, tag = "9")] + pub precision_factor_at_price_one: ::prost::alloc::string::String, + /// swap_fee is the ratio that is charged on the amount of token in. + #[prost(string, tag = "10")] + pub swap_fee: ::prost::alloc::string::String, } #[derive( Clone, @@ -71,25 +242,6 @@ pub struct Position { #[prost(string, tag = "1")] pub liquidity: ::prost::alloc::string::String, } -/// GenesisState defines the concentrated liquidity module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub pools: ::prost::alloc::vec::Vec, -} /// ===================== MsgCreateConcentratedPool #[derive( Clone, @@ -115,6 +267,10 @@ pub struct MsgCreateConcentratedPool { deserialize_with = "crate::serde::as_str::deserialize" )] pub tick_spacing: u64, + #[prost(string, tag = "5")] + pub precision_factor_at_price_one: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub swap_fee: ::prost::alloc::string::String, } /// Returns a unique poolID to identify the pool with. #[derive( @@ -250,103 +406,7 @@ pub struct QueryParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } -/// ===================== MsgCreatePosition -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] -pub struct MsgCreatePosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "5")] - pub token_desired0: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub token_desired1: ::core::option::Option, - #[prost(string, tag = "7")] - pub token_min_amount0: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub token_min_amount1: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] -pub struct MsgCreatePositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub liquidity_created: ::prost::alloc::string::String, -} -/// ===================== MsgWithdrawPosition -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] -pub struct MsgWithdrawPosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(string, tag = "5")] - pub liquidity_amount: ::prost::alloc::string::String, -} +/// GenesisState defines the concentrated liquidity module's genesis state. #[derive( Clone, PartialEq, @@ -357,12 +417,13 @@ pub struct MsgWithdrawPosition { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] -pub struct MsgWithdrawPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub pools: ::prost::alloc::vec::Vec, } pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index 067a1b2c..c181e530 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -43,3 +43,52 @@ pub struct MsgCreateBalancerPoolResponse { )] pub pool_id: u64, } +/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub shares_to_migrate: + ::core::option::Option, + /// temporary field, eventually gamm pool should be linked to cl pool + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id_entering: u64, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index 013275d9..ea87a96e 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -143,48 +143,6 @@ pub struct Pool { #[prost(string, tag = "7")] pub total_weight: ::prost::alloc::string::String, } -/// Params holds parameters for the incentives module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub pool_creation_fee: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the gamm module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// will be renamed to next_pool_id in an upcoming version - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_pool_number: u64, - #[prost(message, optional, tag = "3")] - pub params: ::core::option::Option, -} /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap #[derive( @@ -281,33 +239,12 @@ pub struct MsgExitPoolResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.SwapAmountInRoute")] -pub struct SwapAmountInRoute { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_out_denom: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgSwapExactAmountIn")] pub struct MsgSwapExactAmountIn { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(message, repeated, tag = "2")] - pub routes: ::prost::alloc::vec::Vec, + pub routes: ::prost::alloc::vec::Vec, #[prost(message, optional, tag = "3")] pub token_in: ::core::option::Option, #[prost(string, tag = "4")] @@ -328,28 +265,6 @@ pub struct MsgSwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, } -/// ===================== MsgSwapExactAmountOut -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.SwapAmountOutRoute")] -pub struct SwapAmountOutRoute { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in_denom: ::prost::alloc::string::String, -} #[derive( Clone, PartialEq, @@ -365,7 +280,7 @@ pub struct MsgSwapExactAmountOut { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(message, repeated, tag = "2")] - pub routes: ::prost::alloc::vec::Vec, + pub routes: ::prost::alloc::vec::Vec, #[prost(string, tag = "3")] pub token_in_max_amount: ::prost::alloc::string::String, #[prost(message, optional, tag = "4")] @@ -559,6 +474,150 @@ pub struct MsgExitSwapExternAmountOutResponse { #[prost(string, tag = "1")] pub share_in_amount: ::prost::alloc::string::String, } +/// Params holds parameters for the incentives module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub pool_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the gamm module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// will be renamed to next_pool_id in an upcoming version + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_pool_number: u64, + #[prost(message, optional, tag = "3")] + pub params: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub migration_records: ::core::option::Option, +} +/// MigrationRecords contains all the links between balancer and concentrated +/// pools +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] +pub struct MigrationRecords { + #[prost(message, repeated, tag = "1")] + pub balancer_to_concentrated_pool_links: + ::prost::alloc::vec::Vec, +} +/// BalancerToConcentratedPoolLink defines a single link between a single +/// balancer pool and a single concentrated liquidity pool. This link is used to +/// allow a balancer pool to migrate to a single canonical full range +/// concentrated liquidity pool position +/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can +/// be linked to a maximum of one balancer pool. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] +pub struct BalancerToConcentratedPoolLink { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub balancer_pool_id: u64, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub cl_pool_id: u64, +} +/// ReplaceMigrationRecordsProposal is a gov Content type for updating the +/// migration records. If a ReplaceMigrationRecordsProposal passes, the +/// proposal’s records override the existing MigrationRecords set in the module. +/// Each record specifies a single connection between a single balancer pool and +/// a single concentrated pool. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] +pub struct ReplaceMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, +} +/// For example: if the existing DistrRecords were: +/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] +/// And an UpdateMigrationRecordsProposal includes +/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] +/// This would leave Balancer 1 record, delete Balancer 2 record, +/// Edit Balancer 3 record, and Add Balancer 4 record +/// The result MigrationRecords in state would be: +/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] +pub struct UpdateMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, +} ///=============================== Pool #[derive( Clone, @@ -655,6 +714,7 @@ pub struct QueryPoolsResponse { path = "/osmosis.gamm.v1beta1.Query/NumPools", response_type = QueryNumPoolsResponse )] +#[deprecated] pub struct QueryNumPoolsRequest {} #[derive( Clone, @@ -667,6 +727,7 @@ pub struct QueryNumPoolsRequest {} CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryNumPoolsResponse")] +#[deprecated] pub struct QueryNumPoolsResponse { #[prost(uint64, tag = "1")] #[serde( @@ -1068,8 +1129,8 @@ pub struct QuerySpotPriceResponse { path = "/osmosis.gamm.v1beta1.Query/EstimateSwapExactAmountIn", response_type = QuerySwapExactAmountInResponse )] +#[deprecated] pub struct QuerySwapExactAmountInRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -1081,7 +1142,7 @@ pub struct QuerySwapExactAmountInRequest { #[prost(string, tag = "3")] pub token_in: ::prost::alloc::string::String, #[prost(message, repeated, tag = "4")] - pub routes: ::prost::alloc::vec::Vec, + pub routes: ::prost::alloc::vec::Vec, } #[derive( Clone, @@ -1094,6 +1155,7 @@ pub struct QuerySwapExactAmountInRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySwapExactAmountInResponse")] +#[deprecated] pub struct QuerySwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, @@ -1114,8 +1176,8 @@ pub struct QuerySwapExactAmountInResponse { path = "/osmosis.gamm.v1beta1.Query/EstimateSwapExactAmountOut", response_type = QuerySwapExactAmountOutResponse )] +#[deprecated] pub struct QuerySwapExactAmountOutRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] @@ -1125,7 +1187,7 @@ pub struct QuerySwapExactAmountOutRequest { )] pub pool_id: u64, #[prost(message, repeated, tag = "3")] - pub routes: ::prost::alloc::vec::Vec, + pub routes: ::prost::alloc::vec::Vec, #[prost(string, tag = "4")] pub token_out: ::prost::alloc::string::String, } @@ -1140,6 +1202,7 @@ pub struct QuerySwapExactAmountOutRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySwapExactAmountOutResponse")] +#[deprecated] pub struct QuerySwapExactAmountOutResponse { #[prost(string, tag = "1")] pub token_in_amount: ::prost::alloc::string::String, @@ -1190,6 +1253,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { ) -> Result { QueryPoolsRequest { pagination }.query(self.querier) } + #[deprecated] pub fn num_pools(&self) -> Result { QueryNumPoolsRequest {}.query(self.querier) } @@ -1274,12 +1338,13 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } + #[deprecated] pub fn estimate_swap_exact_amount_in( &self, sender: ::prost::alloc::string::String, pool_id: u64, token_in: ::prost::alloc::string::String, - routes: ::prost::alloc::vec::Vec, + routes: ::prost::alloc::vec::Vec, ) -> Result { QuerySwapExactAmountInRequest { sender, @@ -1289,11 +1354,12 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } + #[deprecated] pub fn estimate_swap_exact_amount_out( &self, sender: ::prost::alloc::string::String, pool_id: u64, - routes: ::prost::alloc::vec::Vec, + routes: ::prost::alloc::vec::Vec, token_out: ::prost::alloc::string::String, ) -> Result { QuerySwapExactAmountOutRequest { diff --git a/packages/osmosis-std/src/types/osmosis/incentives.rs b/packages/osmosis-std/src/types/osmosis/incentives.rs index 94b9ef49..54ee89ed 100644 --- a/packages/osmosis-std/src/types/osmosis/incentives.rs +++ b/packages/osmosis-std/src/types/osmosis/incentives.rs @@ -1,22 +1,4 @@ use osmosis_std_derive::CosmwasmExt; -/// Params holds parameters for the incentives module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.incentives.Params")] -pub struct Params { - /// distr_epoch_identifier is what epoch type distribution will be triggered by - /// (day, week, etc.) - #[prost(string, tag = "1")] - pub distr_epoch_identifier: ::prost::alloc::string::String, -} /// Gauge is an object that stores and distributes yields to recipients who /// satisfy certain conditions. Currently gauges support conditions around the /// duration for which a given denom is locked. @@ -93,39 +75,6 @@ pub struct LockableDurationsInfo { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } -/// GenesisState defines the incentives module's various parameters when first -/// initialized -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.incentives.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// gauges are all gauges that should exist at genesis - #[prost(message, repeated, tag = "2")] - pub gauges: ::prost::alloc::vec::Vec, - /// lockable_durations are all lockup durations that gauges can be locked for - /// in order to recieve incentives - #[prost(message, repeated, tag = "3")] - pub lockable_durations: ::prost::alloc::vec::Vec, - /// last_gauge_id is what the gauge number will increment from when creating - /// the next gauge after genesis - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub last_gauge_id: u64, -} /// MsgCreateGauge creates a gague to distribute rewards to users #[derive( Clone, @@ -574,6 +523,57 @@ pub struct QueryLockableDurationsResponse { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } +/// Params holds parameters for the incentives module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.incentives.Params")] +pub struct Params { + /// distr_epoch_identifier is what epoch type distribution will be triggered by + /// (day, week, etc.) + #[prost(string, tag = "1")] + pub distr_epoch_identifier: ::prost::alloc::string::String, +} +/// GenesisState defines the incentives module's various parameters when first +/// initialized +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.incentives.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// gauges are all gauges that should exist at genesis + #[prost(message, repeated, tag = "2")] + pub gauges: ::prost::alloc::vec::Vec, + /// lockable_durations are all lockup durations that gauges can be locked for + /// in order to recieve incentives + #[prost(message, repeated, tag = "3")] + pub lockable_durations: ::prost::alloc::vec::Vec, + /// last_gauge_id is what the gauge number will increment from when creating + /// the next gauge after genesis + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub last_gauge_id: u64, +} pub struct IncentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index 90a5aeaf..fe0984f6 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -24,7 +24,6 @@ pub struct PeriodLock { serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - #[serde(alias = "ID")] pub id: u64, /// Owner is the account address of the lock owner. /// Only the owner can modify the state of the lock. @@ -134,45 +133,6 @@ pub enum LockQueryType { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.lockup.Params")] -pub struct Params { - #[prost(string, repeated, tag = "1")] - pub force_unlock_allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// GenesisState defines the lockup module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.GenesisState")] -pub struct GenesisState { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub last_lock_id: u64, - #[prost(message, repeated, tag = "2")] - pub locks: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub synthetic_locks: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] #[proto_message(type_url = "/osmosis.lockup.MsgLockTokens")] pub struct MsgLockTokens { #[prost(string, tag = "1")] @@ -363,6 +323,21 @@ pub struct MsgForceUnlockResponse { schemars::JsonSchema, CosmwasmExt, )] +#[proto_message(type_url = "/osmosis.lockup.Params")] +pub struct Params { + #[prost(string, repeated, tag = "1")] + pub force_unlock_allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] #[proto_message(type_url = "/osmosis.lockup.ModuleBalanceRequest")] #[proto_query( path = "/osmosis.lockup.Query/ModuleBalance", @@ -949,6 +924,30 @@ pub struct QueryParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } +/// GenesisState defines the lockup module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.GenesisState")] +pub struct GenesisState { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub last_lock_id: u64, + #[prost(message, repeated, tag = "2")] + pub locks: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub synthetic_locks: ::prost::alloc::vec::Vec, +} pub struct LockupQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs index 07e2fbc2..f17f5bc2 100644 --- a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs @@ -122,34 +122,6 @@ pub struct Params { )] pub minting_rewards_distribution_start_epoch: i64, } -/// GenesisState defines the mint module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.mint.v1beta1.GenesisState")] -pub struct GenesisState { - /// minter is an abstraction for holding current rewards information. - #[prost(message, optional, tag = "1")] - pub minter: ::core::option::Option, - /// params defines all the paramaters of the mint module. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, - /// reduction_started_epoch is the first epoch in which the reduction of mint - /// begins. - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub reduction_started_epoch: i64, -} /// QueryParamsRequest is the request type for the Query/Params RPC method. #[derive( Clone, @@ -220,6 +192,34 @@ pub struct QueryEpochProvisionsResponse { #[prost(bytes = "vec", tag = "1")] pub epoch_provisions: ::prost::alloc::vec::Vec, } +/// GenesisState defines the mint module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.mint.v1beta1.GenesisState")] +pub struct GenesisState { + /// minter is an abstraction for holding current rewards information. + #[prost(message, optional, tag = "1")] + pub minter: ::core::option::Option, + /// params defines all the paramaters of the mint module. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, + /// reduction_started_epoch is the first epoch in which the reduction of mint + /// begins. + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub reduction_started_epoch: i64, +} pub struct MintQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 0e032c0f..57d3576c 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -8,10 +8,10 @@ pub mod incentives; pub mod lockup; pub mod mint; pub mod poolincentives; +pub mod poolmanager; pub mod protorev; pub mod store; pub mod superfluid; -pub mod swaprouter; pub mod tokenfactory; pub mod twap; pub mod txfees; diff --git a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs index 1e213cb9..57b4ec97 100644 --- a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs @@ -165,29 +165,6 @@ pub struct UpdatePoolIncentivesProposal { #[prost(message, repeated, tag = "3")] pub records: ::prost::alloc::vec::Vec, } -/// GenesisState defines the pool incentives module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines all the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub lockable_durations: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub distr_info: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub pool_to_gauges: ::core::option::Option, -} #[derive( Clone, PartialEq, @@ -438,6 +415,29 @@ pub struct QueryExternalIncentiveGaugesResponse { #[prost(message, repeated, tag = "1")] pub data: ::prost::alloc::vec::Vec, } +/// GenesisState defines the pool incentives module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub lockable_durations: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub distr_info: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub pool_to_gauges: ::core::option::Option, +} pub struct PoolincentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/swaprouter/mod.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/mod.rs similarity index 100% rename from packages/osmosis-std/src/types/osmosis/swaprouter/mod.rs rename to packages/osmosis-std/src/types/osmosis/poolmanager/mod.rs diff --git a/packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs similarity index 82% rename from packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs rename to packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index 9793ef81..61bc1f95 100644 --- a/packages/osmosis-std/src/types/osmosis/swaprouter/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -9,7 +9,7 @@ use osmosis_std_derive::CosmwasmExt; schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.SwapAmountInRoute")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SwapAmountInRoute")] pub struct SwapAmountInRoute { #[prost(uint64, tag = "1")] #[serde( @@ -30,7 +30,7 @@ pub struct SwapAmountInRoute { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.SwapAmountOutRoute")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SwapAmountOutRoute")] pub struct SwapAmountOutRoute { #[prost(uint64, tag = "1")] #[serde( @@ -41,84 +41,6 @@ pub struct SwapAmountOutRoute { #[prost(string, tag = "2")] pub token_in_denom: ::prost::alloc::string::String, } -/// ModuleRouter defines a route encapsulating pool type. -/// It is used as the value of a mapping from pool id to the pool type, -/// allowing the swap router to know which module to route swaps to given the -/// pool id. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.ModuleRoute")] -pub struct ModuleRoute { - /// pool_type specifies the type of the pool - #[prost(enumeration = "PoolType", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_type: i32, -} -/// PoolType is an enumeration of all supported pool types. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum PoolType { - /// Balancer is the standard xy=k curve. Its pool model is defined in x/gamm. - Balancer = 0, - /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined - /// in x/gamm. - Stableswap = 1, - /// Concentrated is the pool model specific to concentrated liquidity. It is - /// defined in x/concentrated-liquidity. - Concentrated = 2, -} -/// Params holds parameters for the swaprouter module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub pool_creation_fee: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the swaprouter module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.GenesisState")] -pub struct GenesisState { - /// the next_pool_id - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_pool_id: u64, - /// params is the container of swaprouter parameters. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} /// ===================== MsgSwapExactAmountIn #[derive( Clone, @@ -130,7 +52,7 @@ pub struct GenesisState { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountIn")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn")] pub struct MsgSwapExactAmountIn { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, @@ -151,7 +73,7 @@ pub struct MsgSwapExactAmountIn { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountInResponse")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountInResponse")] pub struct MsgSwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, @@ -167,7 +89,7 @@ pub struct MsgSwapExactAmountInResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountOut")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountOut")] pub struct MsgSwapExactAmountOut { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, @@ -188,11 +110,52 @@ pub struct MsgSwapExactAmountOut { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.MsgSwapExactAmountOutResponse")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountOutResponse")] pub struct MsgSwapExactAmountOutResponse { #[prost(string, tag = "1")] pub token_in_amount: ::prost::alloc::string::String, } +/// Params holds parameters for the poolmanager module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub pool_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the poolmanager module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.GenesisState")] +pub struct GenesisState { + /// the next_pool_id + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_pool_id: u64, + /// params is the container of poolmanager parameters. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, +} ///=============================== Params #[derive( Clone, @@ -204,9 +167,9 @@ pub struct MsgSwapExactAmountOutResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.ParamsRequest")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.ParamsRequest")] #[proto_query( - path = "/osmosis.swaprouter.v1beta1.Query/Params", + path = "/osmosis.poolmanager.v1beta1.Query/Params", response_type = ParamsResponse )] pub struct ParamsRequest {} @@ -220,7 +183,7 @@ pub struct ParamsRequest {} schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.ParamsResponse")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.ParamsResponse")] pub struct ParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, @@ -236,9 +199,9 @@ pub struct ParamsResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountInRequest")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInRequest")] #[proto_query( - path = "/osmosis.swaprouter.v1beta1.Query/EstimateSwapExactAmountIn", + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSwapExactAmountIn", response_type = EstimateSwapExactAmountInResponse )] pub struct EstimateSwapExactAmountInRequest { @@ -266,7 +229,7 @@ pub struct EstimateSwapExactAmountInRequest { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountInResponse")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, @@ -282,9 +245,9 @@ pub struct EstimateSwapExactAmountInResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountOutRequest")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutRequest")] #[proto_query( - path = "/osmosis.swaprouter.v1beta1.Query/EstimateSwapExactAmountOut", + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSwapExactAmountOut", response_type = EstimateSwapExactAmountOutResponse )] pub struct EstimateSwapExactAmountOutRequest { @@ -312,7 +275,7 @@ pub struct EstimateSwapExactAmountOutRequest { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.EstimateSwapExactAmountOutResponse")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] pub token_in_amount: ::prost::alloc::string::String, @@ -328,9 +291,9 @@ pub struct EstimateSwapExactAmountOutResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.NumPoolsRequest")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.NumPoolsRequest")] #[proto_query( - path = "/osmosis.swaprouter.v1beta1.Query/NumPools", + path = "/osmosis.poolmanager.v1beta1.Query/NumPools", response_type = NumPoolsResponse )] pub struct NumPoolsRequest {} @@ -344,7 +307,7 @@ pub struct NumPoolsRequest {} schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.swaprouter.v1beta1.NumPoolsResponse")] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.NumPoolsResponse")] pub struct NumPoolsResponse { #[prost(uint64, tag = "1")] #[serde( @@ -353,10 +316,47 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } -pub struct SwaprouterQuerier<'a, Q: cosmwasm_std::CustomQuery> { +/// ModuleRouter defines a route encapsulating pool type. +/// It is used as the value of a mapping from pool id to the pool type, +/// allowing the pool manager to know which module to route swaps to given the +/// pool id. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.ModuleRoute")] +pub struct ModuleRoute { + /// pool_type specifies the type of the pool + #[prost(enumeration = "PoolType", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_type: i32, +} +/// PoolType is an enumeration of all supported pool types. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum PoolType { + /// Balancer is the standard xy=k curve. Its pool model is defined in x/gamm. + Balancer = 0, + /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined + /// in x/gamm. + Stableswap = 1, + /// Concentrated is the pool model specific to concentrated liquidity. It is + /// defined in x/concentrated-liquidity. + Concentrated = 2, +} +pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } -impl<'a, Q: cosmwasm_std::CustomQuery> SwaprouterQuerier<'a, Q> { +impl<'a, Q: cosmwasm_std::CustomQuery> PoolmanagerQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } diff --git a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs index d40dea38..2bc6bc1c 100644 --- a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs @@ -1,21 +1,4 @@ use osmosis_std_derive::CosmwasmExt; -/// Params defines the parameters for the module. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.Params")] -pub struct Params { - /// Boolean whether the module is going to be enabled - #[prost(bool, tag = "1")] - pub enabled: bool, -} /// TokenPairArbRoutes tracks all of the hot routes for a given pair of tokens #[derive( Clone, @@ -113,8 +96,10 @@ pub struct PoolStatistics { )] pub pool_id: u64, } -/// SetProtoRevEnabledProposal is a gov Content type to update whether the -/// protorev module is enabled +/// RouteWeights contains the weights of all of the different route types. Routes +/// are broken up into different types based on the pool that is sandwiched in +/// between the arbitrage route. This distinction is made and necessary because +/// the execution time ranges fairly between the different route types. #[derive( Clone, PartialEq, @@ -125,56 +110,22 @@ pub struct PoolStatistics { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevEnabledProposal")] -pub struct SetProtoRevEnabledProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(bool, tag = "3")] - pub enabled: bool, -} -/// SetProtoRevAdminAccountProposal is a gov Content type to set the admin -/// account that will receive permissions to alter hot routes and set the -/// developer address that will be receiving a share of profits from the module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevAdminAccountProposal")] -pub struct SetProtoRevAdminAccountProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub account: ::prost::alloc::string::String, -} -/// GenesisState defines the protorev module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.GenesisState")] -pub struct GenesisState { - /// Module Parameters - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// Hot routes that are configured on genesis - #[prost(message, repeated, tag = "2")] - pub token_pairs: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/osmosis.protorev.v1beta1.RouteWeights")] +pub struct RouteWeights { + /// The weight of a route that includes a stableswap pool + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub stable_weight: u64, + /// The weight of a route that includes a balancer pool + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub balancer_weight: u64, } /// MsgSetHotRoutes defines the Msg/SetHotRoutes request type. #[derive( @@ -244,6 +195,66 @@ pub struct MsgSetDeveloperAccount { )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccountResponse")] pub struct MsgSetDeveloperAccountResponse {} +/// SetProtoRevEnabledProposal is a gov Content type to update whether the +/// protorev module is enabled +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevEnabledProposal")] +pub struct SetProtoRevEnabledProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub enabled: bool, +} +/// SetProtoRevAdminAccountProposal is a gov Content type to set the admin +/// account that will receive permissions to alter hot routes and set the +/// developer address that will be receiving a share of profits from the module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevAdminAccountProposal")] +pub struct SetProtoRevAdminAccountProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub account: ::prost::alloc::string::String, +} +/// Params defines the parameters for the module. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.Params")] +pub struct Params { + /// Boolean whether the module is going to be enabled + #[prost(bool, tag = "1")] + pub enabled: bool, +} /// QueryParamsRequest is request type for the Query/Params RPC method. #[derive( Clone, @@ -509,6 +520,26 @@ pub struct QueryGetProtoRevTokenPairArbRoutesResponse { #[prost(message, repeated, tag = "1")] pub routes: ::prost::alloc::vec::Vec, } +/// GenesisState defines the protorev module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.GenesisState")] +pub struct GenesisState { + /// Module Parameters + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// Hot routes that are configured on genesis + #[prost(message, repeated, tag = "2")] + pub token_pairs: ::prost::alloc::vec::Vec, +} pub struct ProtorevQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index d506fb8a..8ee76373 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1,25 +1,5 @@ pub mod v1beta1; use osmosis_std_derive::CosmwasmExt; -/// Params holds parameters for the superfluid module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.Params")] -pub struct Params { - /// minimum_risk_factor is to be cut on OSMO equivalent value of lp tokens for - /// superfluid staking, default: 5%. The minimum risk factor works - /// to counter-balance the staked amount on chain's exposure to various asset - /// volatilities, and have base staking be 'resistant' to volatility. - #[prost(string, tag = "1")] - pub minimum_risk_factor: ::prost::alloc::string::String, -} /// SuperfluidAsset stores the pair of superfluid asset type and denom pair #[derive( Clone, @@ -174,37 +154,6 @@ pub enum SuperfluidAssetType { /// SuperfluidAssetTypeLendingShare = 2; // for now not exist LpShare = 1, } -/// GenesisState defines the module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.GenesisState")] -pub struct GenesisState { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// superfluid_assets defines the registered superfluid assets that have been - /// registered via governance. - #[prost(message, repeated, tag = "2")] - pub superfluid_assets: ::prost::alloc::vec::Vec, - /// osmo_equivalent_multipliers is the records of osmo equivalent amount of - /// each superfluid registered pool, updated every epoch. - #[prost(message, repeated, tag = "3")] - pub osmo_equivalent_multipliers: ::prost::alloc::vec::Vec, - /// intermediary_accounts is a secondary account for superfluid staking that - /// plays an intermediary role between validators and the delegators. - #[prost(message, repeated, tag = "4")] - pub intermediary_accounts: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub intemediary_account_connections: - ::prost::alloc::vec::Vec, -} #[derive( Clone, PartialEq, @@ -391,6 +340,26 @@ pub struct MsgUnPoolWhitelistedPoolResponse { #[prost(uint64, repeated, tag = "1")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } +/// Params holds parameters for the superfluid module +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.Params")] +pub struct Params { + /// minimum_risk_factor is to be cut on OSMO equivalent value of lp tokens for + /// superfluid staking, default: 5%. The minimum risk factor works + /// to counter-balance the staked amount on chain's exposure to various asset + /// volatilities, and have base staking be 'resistant' to volatility. + #[prost(string, tag = "1")] + pub minimum_risk_factor: ::prost::alloc::string::String, +} #[derive( Clone, PartialEq, @@ -977,6 +946,37 @@ pub struct QueryUnpoolWhitelistResponse { #[prost(uint64, repeated, tag = "1")] pub pool_ids: ::prost::alloc::vec::Vec, } +/// GenesisState defines the module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.GenesisState")] +pub struct GenesisState { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// superfluid_assets defines the registered superfluid assets that have been + /// registered via governance. + #[prost(message, repeated, tag = "2")] + pub superfluid_assets: ::prost::alloc::vec::Vec, + /// osmo_equivalent_multipliers is the records of osmo equivalent amount of + /// each superfluid registered pool, updated every epoch. + #[prost(message, repeated, tag = "3")] + pub osmo_equivalent_multipliers: ::prost::alloc::vec::Vec, + /// intermediary_accounts is a secondary account for superfluid staking that + /// plays an intermediary role between validators and the delegators. + #[prost(message, repeated, tag = "4")] + pub intermediary_accounts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub intemediary_account_connections: + ::prost::alloc::vec::Vec, +} pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index f26b896a..dadf806a 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -1,79 +1,4 @@ use osmosis_std_derive::CosmwasmExt; -/// DenomAuthorityMetadata specifies metadata for addresses that have specific -/// capabilities over a token factory denom. Right now there is only one Admin -/// permission, but is planned to be extended to the future. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.DenomAuthorityMetadata")] -pub struct DenomAuthorityMetadata { - /// Can be empty for no admin, or a valid osmosis address - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, -} -/// Params defines the parameters for the tokenfactory module. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub denom_creation_fee: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the tokenfactory module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub factory_denoms: ::prost::alloc::vec::Vec, -} -/// GenesisDenom defines a tokenfactory denom that is defined within genesis -/// state. The structure contains DenomAuthorityMetadata which defines the -/// denom's admin. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisDenom")] -pub struct GenesisDenom { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub authority_metadata: ::core::option::Option, -} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -248,6 +173,42 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} +/// DenomAuthorityMetadata specifies metadata for addresses that have specific +/// capabilities over a token factory denom. Right now there is only one Admin +/// permission, but is planned to be extended to the future. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.DenomAuthorityMetadata")] +pub struct DenomAuthorityMetadata { + /// Can be empty for no admin, or a valid osmosis address + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, +} +/// Params defines the parameters for the tokenfactory module. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub denom_creation_fee: + ::prost::alloc::vec::Vec, +} /// QueryParamsRequest is the request type for the Query/Params RPC method. #[derive( Clone, @@ -358,6 +319,45 @@ pub struct QueryDenomsFromCreatorResponse { #[prost(string, repeated, tag = "1")] pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +/// GenesisState defines the tokenfactory module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub factory_denoms: ::prost::alloc::vec::Vec, +} +/// GenesisDenom defines a tokenfactory denom that is defined within genesis +/// state. The structure contains DenomAuthorityMetadata which defines the +/// denom's admin. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisDenom")] +pub struct GenesisDenom { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub authority_metadata: ::core::option::Option, +} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs index 0ead877a..ea732b17 100644 --- a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs @@ -48,24 +48,6 @@ pub struct UpdateFeeTokenProposal { #[prost(message, optional, tag = "3")] pub feetoken: ::core::option::Option, } -/// GenesisState defines the txfees module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.txfees.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(string, tag = "1")] - pub basedenom: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub feetokens: ::prost::alloc::vec::Vec, -} #[derive( Clone, PartialEq, @@ -210,6 +192,24 @@ pub struct QueryBaseDenomResponse { #[prost(string, tag = "1")] pub base_denom: ::prost::alloc::string::String, } +/// GenesisState defines the txfees module's genesis state. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.txfees.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(string, tag = "1")] + pub basedenom: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub feetokens: ::prost::alloc::vec::Vec, +} pub struct TxfeesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs index 6da1f823..9c2ea9e7 100644 --- a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs @@ -208,6 +208,44 @@ pub struct MsgWithdrawDelegationRewards { )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgWithdrawDelegationRewardsResponse")] pub struct MsgWithdrawDelegationRewardsResponse {} +/// MsgDelegateBondedTokens breaks bonded lockup (by ID) of osmo, of +/// length <= 2 weeks and takes all that osmo and delegates according to +/// delegator's current validator set preference. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateBondedTokens")] +pub struct MsgDelegateBondedTokens { + /// delegator is the user who is trying to force unbond osmo and delegate. + #[prost(string, tag = "1")] + pub delegator: ::prost::alloc::string::String, + /// lockup id of osmo in the pool + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateBondedTokensResponse")] +pub struct MsgDelegateBondedTokensResponse {} /// Request type for UserValidatorPreferences. #[derive( Clone, diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 71a67479..22a4071a 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -49,7 +49,7 @@ pub fn generate() { name: "cosmos".to_string(), version: COSMOS_SDK_REV.to_string(), project_dir: COSMOS_SDK_DIR.to_string(), - include_mods: vec!["bank".to_string()], + include_mods: vec!["bank".to_string(), "authz".to_string()], }; let osmosis_code_generator = CodeGenerator::new( From 718577d4efd67e13d19f1cb242c675b65af9d880 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 27 Jan 2023 11:22:21 +0700 Subject: [PATCH 099/142] alias PertiodLock ID --- packages/osmosis-std/src/types/osmosis/lockup.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index fe0984f6..02c3d423 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -24,6 +24,7 @@ pub struct PeriodLock { serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] + #[serde(alias = "ID")] pub id: u64, /// Owner is the account address of the lock owner. /// Only the owner can modify the state of the lock. From 6ce540bd35b768d72ff21748eee1df2c93e68308 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 8 Feb 2023 13:33:47 +0700 Subject: [PATCH 100/142] update with new lockup params --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../src/types/osmosis/accum/v1beta1.rs | 2 + .../osmosis/concentratedliquidity/v1beta1.rs | 159 +++++ .../osmosis-std/src/types/osmosis/lockup.rs | 4 +- .../src/types/osmosis/protorev/v1beta1.rs | 587 ++++++++++++++++-- .../src/types/osmosis/superfluid/mod.rs | 36 ++ packages/proto-build/src/main.rs | 2 +- 8 files changed, 732 insertions(+), 62 deletions(-) diff --git a/dependencies/osmosis b/dependencies/osmosis index 82f92468..87a8d584 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 82f92468520317375be410e2b3f3989fcbd40c87 +Subproject commit 87a8d5841ee1f19ca7cbe5b5df2f441bebab921c diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 1a99750f..4c9eea9f 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -origin/main \ No newline at end of file +origin/feat/non-owner-force-unlock \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs index 2aed7253..0f875fba 100644 --- a/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs @@ -13,6 +13,8 @@ use osmosis_std_derive::CosmwasmExt; pub struct AccumulatorContent { #[prost(message, repeated, tag = "1")] pub accum_value: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub total_shares: ::prost::alloc::string::String, } #[derive( Clone, diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs index ed73231e..ab83dc2d 100644 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -40,6 +40,8 @@ pub struct MsgCreatePosition { pub token_min_amount0: ::prost::alloc::string::String, #[prost(string, tag = "8")] pub token_min_amount1: ::prost::alloc::string::String, + #[prost(message, optional, tag = "9")] + pub frozen_until: ::core::option::Option, } #[derive( Clone, @@ -95,6 +97,8 @@ pub struct MsgWithdrawPosition { pub upper_tick: i64, #[prost(string, tag = "5")] pub liquidity_amount: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub frozen_until: ::core::option::Option, } #[derive( Clone, @@ -241,6 +245,8 @@ pub struct Pool { pub struct Position { #[prost(string, tag = "1")] pub liquidity: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub frozen_until: ::core::option::Option, } /// ===================== MsgCreateConcentratedPool #[derive( @@ -294,6 +300,76 @@ pub struct MsgCreateConcentratedPoolResponse { )] pub pool_id: u64, } +///=============================== Positions +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", + response_type = QueryUserPositionsResponse +)] +pub struct QueryUserPositionsRequest { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] +pub struct QueryUserPositionsResponse { + #[prost(message, repeated, tag = "1")] + pub positions: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullPositionByOwnerResult")] +pub struct FullPositionByOwnerResult { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "4")] + pub frozen_until: ::core::option::Option, + #[prost(string, tag = "5")] + pub liquidity: ::prost::alloc::string::String, +} ///=============================== Pool #[derive( Clone, @@ -406,6 +482,70 @@ pub struct QueryParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } +///=============================== LiquidityDepthsForRange +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityDepthsForRange", + response_type = QueryLiquidityDepthsForRangeResponse +)] +pub struct QueryLiquidityDepthsForRangeRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub lower_tick: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub upper_tick: ::prost::alloc::string::String, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeResponse" +)] +pub struct QueryLiquidityDepthsForRangeResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity_depths: ::prost::alloc::vec::Vec, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepth")] +pub struct LiquidityDepth { + #[prost(string, tag = "1")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub tick_index: ::prost::alloc::string::String, +} /// GenesisState defines the concentrated liquidity module's genesis state. #[derive( Clone, @@ -446,4 +586,23 @@ impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { pub fn params(&self) -> Result { QueryParamsRequest {}.query(self.querier) } + pub fn liquidity_depths_for_range( + &self, + pool_id: u64, + lower_tick: ::prost::alloc::string::String, + upper_tick: ::prost::alloc::string::String, + ) -> Result { + QueryLiquidityDepthsForRangeRequest { + pool_id, + lower_tick, + upper_tick, + } + .query(self.querier) + } + pub fn user_positions( + &self, + address: ::prost::alloc::string::String, + ) -> Result { + QueryUserPositionsRequest { address }.query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index 02c3d423..3052cdc4 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -24,7 +24,6 @@ pub struct PeriodLock { serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - #[serde(alias = "ID")] pub id: u64, /// Owner is the account address of the lock owner. /// Only the owner can modify the state of the lock. @@ -328,6 +327,9 @@ pub struct MsgForceUnlockResponse { pub struct Params { #[prost(string, repeated, tag = "1")] pub force_unlock_allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "2")] + pub non_owner_force_unlock_allowed_addresses: + ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive( Clone, diff --git a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs index 2bc6bc1c..7fba2a77 100644 --- a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs @@ -68,8 +68,8 @@ pub struct Trade { #[prost(string, tag = "3")] pub token_out: ::prost::alloc::string::String, } -/// PoolStatistics contains the number of trades the module has executed after a -/// swap on a given pool and the profits from the trades +/// RouteStatistics contains the number of trades the module has executed after a +/// swap on a given route and the profits from the trades #[derive( Clone, PartialEq, @@ -80,26 +80,24 @@ pub struct Trade { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.PoolStatistics")] -pub struct PoolStatistics { - /// profits is the total profit from all trades on this pool +#[proto_message(type_url = "/osmosis.protorev.v1beta1.RouteStatistics")] +pub struct RouteStatistics { + /// profits is the total profit from all trades on this route #[prost(message, repeated, tag = "1")] pub profits: ::prost::alloc::vec::Vec, - /// number_of_trades is the number of trades the module has executed + /// number_of_trades is the number of trades the module has executed using this + /// route #[prost(string, tag = "2")] pub number_of_trades: ::prost::alloc::string::String, - /// pool_id is the id of the pool - #[prost(uint64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, + /// route is the route that was used (pool ids along the arbitrage route) + #[prost(uint64, repeated, tag = "3")] + pub route: ::prost::alloc::vec::Vec, } -/// RouteWeights contains the weights of all of the different route types. Routes -/// are broken up into different types based on the pool that is sandwiched in -/// between the arbitrage route. This distinction is made and necessary because -/// the execution time ranges fairly between the different route types. +/// PoolWeights contains the weights of all of the different pool types. This +/// distinction is made and necessary because the execution time ranges +/// significantly between the different pool types. Each weight roughly +/// corresponds to the amount of time (in ms) it takes to execute a swap on that +/// pool type. #[derive( Clone, PartialEq, @@ -110,22 +108,52 @@ pub struct PoolStatistics { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.RouteWeights")] -pub struct RouteWeights { - /// The weight of a route that includes a stableswap pool +#[proto_message(type_url = "/osmosis.protorev.v1beta1.PoolWeights")] +pub struct PoolWeights { + /// The weight of a stableswap pool #[prost(uint64, tag = "1")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub stable_weight: u64, - /// The weight of a route that includes a balancer pool + /// The weight of a balancer pool #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub balancer_weight: u64, + /// The weight of a concentrated pool + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub concentrated_weight: u64, +} +/// BaseDenom represents a single base denom that the module uses for its +/// arbitrage trades. It contains the denom name alongside the step size of the +/// binary search that is used to find the optimal swap amount +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.BaseDenom")] +pub struct BaseDenom { + /// The denom i.e. name of the base denom (ex. uosmo) + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// The step size of the binary search that is used to find the optimal swap + /// amount + #[prost(string, tag = "2")] + pub step_size: ::prost::alloc::string::String, } /// MsgSetHotRoutes defines the Msg/SetHotRoutes request type. #[derive( @@ -195,6 +223,152 @@ pub struct MsgSetDeveloperAccount { )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccountResponse")] pub struct MsgSetDeveloperAccountResponse {} +/// MsgSetPoolWeights defines the Msg/SetPoolWeights request type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetPoolWeights")] +pub struct MsgSetPoolWeights { + /// admin is the account that is authorized to set the pool weights. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// pool_weights is the list of pool weights to set. + #[prost(message, optional, tag = "2")] + pub pool_weights: ::core::option::Option, +} +/// MsgSetPoolWeightsResponse defines the Msg/SetPoolWeights response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetPoolWeightsResponse")] +pub struct MsgSetPoolWeightsResponse {} +/// MsgSetMaxPoolPointsPerTx defines the Msg/SetMaxPoolPointsPerTx request type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerTx")] +pub struct MsgSetMaxPoolPointsPerTx { + /// admin is the account that is authorized to set the max pool points per tx. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// max_pool_points_per_tx is the maximum number of pool points that can be + /// consumed per transaction. + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_tx: u64, +} +/// MsgSetMaxPoolPointsPerTxResponse defines the Msg/SetMaxPoolPointsPerTx +/// response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerTxResponse")] +pub struct MsgSetMaxPoolPointsPerTxResponse {} +/// MsgSetMaxPoolPointsPerBlock defines the Msg/SetMaxPoolPointsPerBlock request +/// type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerBlock")] +pub struct MsgSetMaxPoolPointsPerBlock { + /// admin is the account that is authorized to set the max pool points per + /// block. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// max_pool_points_per_block is the maximum number of pool points that can be + /// consumed per block. + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_block: u64, +} +/// MsgSetMaxPoolPointsPerBlockResponse defines the +/// Msg/SetMaxPoolPointsPerBlock response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerBlockResponse")] +pub struct MsgSetMaxPoolPointsPerBlockResponse {} +/// MsgSetBaseDenoms defines the Msg/SetBaseDenoms request type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetBaseDenoms")] +pub struct MsgSetBaseDenoms { + /// admin is the account that is authorized to set the base denoms. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// base_denoms is the list of base denoms to set. + #[prost(message, repeated, tag = "2")] + pub base_denoms: ::prost::alloc::vec::Vec, +} +/// MsgSetBaseDenomsResponse defines the Msg/SetBaseDenoms response type. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetBaseDenomsResponse")] +pub struct MsgSetBaseDenomsResponse {} /// SetProtoRevEnabledProposal is a gov Content type to update whether the /// protorev module is enabled #[derive( @@ -402,7 +576,7 @@ pub struct QueryGetProtoRevAllProfitsResponse { pub profits: ::prost::alloc::vec::Vec, } /// QueryGetProtoRevStatisticsByPoolRequest is request type for the -/// Query/GetProtoRevStatisticsByPool RPC method. +/// Query/GetProtoRevStatisticsByRoute RPC method. #[derive( Clone, PartialEq, @@ -413,22 +587,18 @@ pub struct QueryGetProtoRevAllProfitsResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByPoolRequest")] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByRouteRequest")] #[proto_query( - path = "/osmosis.protorev.v1beta1.Query/GetProtoRevStatisticsByPool", - response_type = QueryGetProtoRevStatisticsByPoolResponse + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevStatisticsByRoute", + response_type = QueryGetProtoRevStatisticsByRouteResponse )] -pub struct QueryGetProtoRevStatisticsByPoolRequest { - /// pool_id is the pool id to query statistics by - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, +pub struct QueryGetProtoRevStatisticsByRouteRequest { + /// route is the set of pool ids to query statistics by i.e. 1,2,3 + #[prost(uint64, repeated, tag = "1")] + pub route: ::prost::alloc::vec::Vec, } -/// QueryGetProtoRevStatisticsByPoolResponse is response type for the -/// Query/GetProtoRevStatisticsByPool RPC method. +/// QueryGetProtoRevStatisticsByRouteResponse is response type for the +/// Query/GetProtoRevStatisticsByRoute RPC method. #[derive( Clone, PartialEq, @@ -439,15 +609,15 @@ pub struct QueryGetProtoRevStatisticsByPoolRequest { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByPoolResponse")] -pub struct QueryGetProtoRevStatisticsByPoolResponse { +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByRouteResponse")] +pub struct QueryGetProtoRevStatisticsByRouteResponse { /// statistics contains the number of trades the module has executed after a /// swap on a given pool and the profits from the trades #[prost(message, optional, tag = "1")] - pub statistics: ::core::option::Option, + pub statistics: ::core::option::Option, } -/// QueryGetProtoRevAllStatisticsRequest is request type for the -/// Query/GetProtoRevAllStatistics RPC method. +/// QueryGetProtoRevAllRouteStatisticsRequest is request type for the +/// Query/GetProtoRevAllRouteStatistics RPC method. #[derive( Clone, PartialEq, @@ -458,14 +628,14 @@ pub struct QueryGetProtoRevStatisticsByPoolResponse { schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllStatisticsRequest")] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllRouteStatisticsRequest")] #[proto_query( - path = "/osmosis.protorev.v1beta1.Query/GetProtoRevAllStatistics", - response_type = QueryGetProtoRevAllStatisticsResponse + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevAllRouteStatistics", + response_type = QueryGetProtoRevAllRouteStatisticsResponse )] -pub struct QueryGetProtoRevAllStatisticsRequest {} -/// QueryGetProtoRevAllStatisticsResponse is response type for the -/// Query/GetProtoRevAllStatistics RPC method. +pub struct QueryGetProtoRevAllRouteStatisticsRequest {} +/// QueryGetProtoRevAllRouteStatisticsResponse is response type for the +/// Query/GetProtoRevAllRouteStatistics RPC method. #[derive( Clone, PartialEq, @@ -476,12 +646,12 @@ pub struct QueryGetProtoRevAllStatisticsRequest {} schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllStatisticsResponse")] -pub struct QueryGetProtoRevAllStatisticsResponse { - /// statistics contains the number of trades the module has executed after a - /// swap on a given pool and the profits from the trades for all pools +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllRouteStatisticsResponse")] +pub struct QueryGetProtoRevAllRouteStatisticsResponse { + /// statistics contains the number of trades/profits the module has executed on + /// all routes it has successfully executed a trade on #[prost(message, repeated, tag = "1")] - pub statistics: ::prost::alloc::vec::Vec, + pub statistics: ::prost::alloc::vec::Vec, } /// QueryGetProtoRevTokenPairArbRoutesRequest is request type for the /// Query/GetProtoRevTokenPairArbRoutes RPC method. @@ -520,6 +690,272 @@ pub struct QueryGetProtoRevTokenPairArbRoutesResponse { #[prost(message, repeated, tag = "1")] pub routes: ::prost::alloc::vec::Vec, } +/// QueryGetProtoRevAdminAccountRequest is request type for the +/// Query/GetProtoRevAdminAccount RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAdminAccountRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevAdminAccount", + response_type = QueryGetProtoRevAdminAccountResponse +)] +pub struct QueryGetProtoRevAdminAccountRequest {} +/// QueryGetProtoRevAdminAccountResponse is response type for the +/// Query/GetProtoRevAdminAccount RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAdminAccountResponse")] +pub struct QueryGetProtoRevAdminAccountResponse { + /// admin_account is the admin account of the module + #[prost(string, tag = "1")] + pub admin_account: ::prost::alloc::string::String, +} +/// QueryGetProtoRevDeveloperAccountRequest is request type for the +/// Query/GetProtoRevDeveloperAccount RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevDeveloperAccountRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevDeveloperAccount", + response_type = QueryGetProtoRevDeveloperAccountResponse +)] +pub struct QueryGetProtoRevDeveloperAccountRequest {} +/// QueryGetProtoRevDeveloperAccountResponse is response type for the +/// Query/GetProtoRevDeveloperAccount RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevDeveloperAccountResponse")] +pub struct QueryGetProtoRevDeveloperAccountResponse { + /// developer_account is the developer account of the module + #[prost(string, tag = "1")] + pub developer_account: ::prost::alloc::string::String, +} +/// QueryGetProtoRevPoolWeightsRequest is request type for the +/// Query/GetProtoRevPoolWeights RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevPoolWeightsRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevPoolWeights", + response_type = QueryGetProtoRevPoolWeightsResponse +)] +pub struct QueryGetProtoRevPoolWeightsRequest {} +/// QueryGetProtoRevPoolWeightsResponse is response type for the +/// Query/GetProtoRevPoolWeights RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevPoolWeightsResponse")] +pub struct QueryGetProtoRevPoolWeightsResponse { + /// pool_weights is a list of all of the pool weights + #[prost(message, optional, tag = "1")] + pub pool_weights: ::core::option::Option, +} +/// QueryGetProtoRevMaxPoolPointsPerBlockRequest is request type for the +/// Query/GetProtoRevMaxPoolPointsPerBlock RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevMaxPoolPointsPerBlockRequest" +)] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevMaxPoolPointsPerBlock", + response_type = QueryGetProtoRevMaxPoolPointsPerBlockResponse +)] +pub struct QueryGetProtoRevMaxPoolPointsPerBlockRequest {} +/// QueryGetProtoRevMaxPoolPointsPerBlockResponse is response type for the +/// Query/GetProtoRevMaxPoolPointsPerBlock RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevMaxPoolPointsPerBlockResponse" +)] +pub struct QueryGetProtoRevMaxPoolPointsPerBlockResponse { + /// max_pool_points_per_block is the maximum number of pool points that can be + /// consumed per block + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_block: u64, +} +/// QueryGetProtoRevMaxPoolPointsPerTxRequest is request type for the +/// Query/GetProtoRevMaxPoolPointsPerTx RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevMaxPoolPointsPerTxRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevMaxPoolPointsPerTx", + response_type = QueryGetProtoRevMaxPoolPointsPerTxResponse +)] +pub struct QueryGetProtoRevMaxPoolPointsPerTxRequest {} +/// QueryGetProtoRevMaxPoolPointsPerTxResponse is response type for the +/// Query/GetProtoRevMaxPoolPointsPerTx RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevMaxPoolPointsPerTxResponse")] +pub struct QueryGetProtoRevMaxPoolPointsPerTxResponse { + /// max_pool_points_per_tx is the maximum number of pool points that can be + /// consumed per transaction + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_tx: u64, +} +/// QueryGetProtoRevBaseDenomsRequest is request type for the +/// Query/GetProtoRevBaseDenoms RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevBaseDenomsRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevBaseDenoms", + response_type = QueryGetProtoRevBaseDenomsResponse +)] +pub struct QueryGetProtoRevBaseDenomsRequest {} +/// QueryGetProtoRevBaseDenomsResponse is response type for the +/// Query/GetProtoRevBaseDenoms RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevBaseDenomsResponse")] +pub struct QueryGetProtoRevBaseDenomsResponse { + /// base_denoms is a list of all of the base denoms and step sizes + #[prost(message, repeated, tag = "1")] + pub base_denoms: ::prost::alloc::vec::Vec, +} +/// QueryGetProtoRevEnabledRequest is request type for the +/// Query/GetProtoRevEnabled RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevEnabledRequest")] +#[proto_query( + path = "/osmosis.protorev.v1beta1.Query/GetProtoRevEnabled", + response_type = QueryGetProtoRevEnabledResponse +)] +pub struct QueryGetProtoRevEnabledRequest {} +/// QueryGetProtoRevEnabledResponse is response type for the +/// Query/GetProtoRevEnabled RPC method. +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevEnabledResponse")] +pub struct QueryGetProtoRevEnabledResponse { + /// enabled is whether the module is enabled + #[prost(bool, tag = "1")] + pub enabled: bool, +} /// GenesisState defines the protorev module's genesis state. #[derive( Clone, @@ -566,20 +1002,55 @@ impl<'a, Q: cosmwasm_std::CustomQuery> ProtorevQuerier<'a, Q> { ) -> Result { QueryGetProtoRevAllProfitsRequest {}.query(self.querier) } - pub fn get_proto_rev_statistics_by_pool( + pub fn get_proto_rev_statistics_by_route( &self, - pool_id: u64, - ) -> Result { - QueryGetProtoRevStatisticsByPoolRequest { pool_id }.query(self.querier) + route: ::prost::alloc::vec::Vec, + ) -> Result { + QueryGetProtoRevStatisticsByRouteRequest { route }.query(self.querier) } - pub fn get_proto_rev_all_statistics( + pub fn get_proto_rev_all_route_statistics( &self, - ) -> Result { - QueryGetProtoRevAllStatisticsRequest {}.query(self.querier) + ) -> Result { + QueryGetProtoRevAllRouteStatisticsRequest {}.query(self.querier) } pub fn get_proto_rev_token_pair_arb_routes( &self, ) -> Result { QueryGetProtoRevTokenPairArbRoutesRequest {}.query(self.querier) } + pub fn get_proto_rev_admin_account( + &self, + ) -> Result { + QueryGetProtoRevAdminAccountRequest {}.query(self.querier) + } + pub fn get_proto_rev_developer_account( + &self, + ) -> Result { + QueryGetProtoRevDeveloperAccountRequest {}.query(self.querier) + } + pub fn get_proto_rev_pool_weights( + &self, + ) -> Result { + QueryGetProtoRevPoolWeightsRequest {}.query(self.querier) + } + pub fn get_proto_rev_max_pool_points_per_tx( + &self, + ) -> Result { + QueryGetProtoRevMaxPoolPointsPerTxRequest {}.query(self.querier) + } + pub fn get_proto_rev_max_pool_points_per_block( + &self, + ) -> Result { + QueryGetProtoRevMaxPoolPointsPerBlockRequest {}.query(self.querier) + } + pub fn get_proto_rev_base_denoms( + &self, + ) -> Result { + QueryGetProtoRevBaseDenomsRequest {}.query(self.querier) + } + pub fn get_proto_rev_enabled( + &self, + ) -> Result { + QueryGetProtoRevEnabledRequest {}.query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index 8ee76373..5d688f46 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -255,6 +255,42 @@ pub struct MsgSuperfluidUnbondLock { )] #[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUnbondLockResponse")] pub struct MsgSuperfluidUnbondLockResponse {} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegateAndUnbondLock")] +pub struct MsgSuperfluidUndelegateAndUnbondLock { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, + /// Amount of unlocking coin. + #[prost(message, optional, tag = "3")] + pub coin: ::core::option::Option, +} +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + serde::Serialize, + serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegateAndUnbondLockResponse")] +pub struct MsgSuperfluidUndelegateAndUnbondLockResponse {} /// MsgLockAndSuperfluidDelegate locks coins with the unbonding period duration, /// and then does a superfluid lock from the newly created lockup, to the /// specified validator addr. diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 22a4071a..30b1445c 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "origin/main"; +const OSMOSIS_REV: &str = "origin/feat/non-owner-force-unlock"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From b96cc52aaf53e072d081ba13b53f0b24f973547a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 8 Feb 2023 15:50:07 +0700 Subject: [PATCH 101/142] alias id --- packages/osmosis-std/src/types/osmosis/lockup.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index 3052cdc4..064d6db9 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -24,6 +24,7 @@ pub struct PeriodLock { serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] + #[serde(alias = "ID")] pub id: u64, /// Owner is the account address of the lock owner. /// Only the owner can modify the state of the lock. From 73a92b185292d0786735cac21976b83fa4b47c4f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 10 Feb 2023 01:33:29 +0000 Subject: [PATCH 102/142] Update latest osmosis tag timestamp to 1675945037 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 192d6df5..722facf8 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1673971085 +1675945037 From 1b672257f939a26b18711b3f42e567064cafc872 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:06:14 +0100 Subject: [PATCH 103/142] Fix: typos --- examples/cosmwasm/contracts/osmosis-stargate/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/cosmwasm/contracts/osmosis-stargate/README.md b/examples/cosmwasm/contracts/osmosis-stargate/README.md index b7ab0553..7b1f4a0b 100644 --- a/examples/cosmwasm/contracts/osmosis-stargate/README.md +++ b/examples/cosmwasm/contracts/osmosis-stargate/README.md @@ -56,7 +56,7 @@ containing a simple working contract and build system that you can customize. ## Create a Repo -After generating, you have a initialized local git repo, but no commits, and no remote. +After generating, you have an initialized local git repo, but no commits, and no remote. Go to a server (eg. github) and create a new upstream repo (called `YOUR-GIT-URL` below). Then run the following: @@ -96,5 +96,5 @@ to the world, once you are ready to deploy it on a running blockchain. And that have been published. Please replace this README file with information about your specific project. You can keep -the `Developing.md` and `Publishing.md` files as useful referenced, but please set some +the `Developing.md` and `Publishing.md` files as useful references, but please set some proper description in the README. From bbbbb633635b53d16c4c1d1412444fabc7ebc85f Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:32:19 +0100 Subject: [PATCH 104/142] Fix: typos --- examples/cosmwasm/contracts/osmosis-stargate/Developing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/cosmwasm/contracts/osmosis-stargate/Developing.md b/examples/cosmwasm/contracts/osmosis-stargate/Developing.md index 2dd572ce..75c744fe 100644 --- a/examples/cosmwasm/contracts/osmosis-stargate/Developing.md +++ b/examples/cosmwasm/contracts/osmosis-stargate/Developing.md @@ -67,7 +67,7 @@ reproducible build process, so third parties can verify that the uploaded Wasm code did indeed come from the claimed rust code. To solve both these issues, we have produced `rust-optimizer`, a docker image to -produce an extremely small build output in a consistent manner. The suggest way +produce an extremely small build output in a consistent manner. The suggested way to run it is this: ```sh @@ -85,7 +85,7 @@ docker run --rm -v "$(pwd)":/code \ cosmwasm/rust-optimizer-arm64:0.12.6 ``` -We must mount the contract code to `/code`. You can use a absolute path instead +We must mount the contract code to `/code`. You can use an absolute path instead of `$(pwd)` if you don't want to `cd` to the directory first. The other two volumes are nice for speedup. Mounting `/code/target` in particular is useful to avoid docker overwriting your local dev files with root permissions. From 0631b2b74e1782351bc46b3dc473a42852754582 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:33:14 +0100 Subject: [PATCH 105/142] Fix: typos --- examples/cosmwasm/contracts/osmosis-stargate/Importing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/cosmwasm/contracts/osmosis-stargate/Importing.md b/examples/cosmwasm/contracts/osmosis-stargate/Importing.md index 7dcec4f5..2601dd8d 100644 --- a/examples/cosmwasm/contracts/osmosis-stargate/Importing.md +++ b/examples/cosmwasm/contracts/osmosis-stargate/Importing.md @@ -22,8 +22,8 @@ any uploaded contract. ## Reviewing -Once you have done the quick programatic checks, it is good to give at least a quick -look through the code. A glance at `examples/schema.rs` to make sure it is outputing +Once you have done the quick programmatic checks, it is good to give at least a quick +look through the code. A glance at `examples/schema.rs` to make sure it is outputting all relevant structs from `contract.rs`, and also ensure `src/lib.rs` is just the default wrapper (nothing funny going on there). After this point, we can dive into the contract code itself. Check the flows for the execute methods, any invariants and From 2e9ee0922c40a1d3407dba757b3066dd206c3b4d Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:36:48 +0100 Subject: [PATCH 106/142] Fix: typos --- packages/osmosis-testing/README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/osmosis-testing/README.md b/packages/osmosis-testing/README.md index 9b6315d2..80855dac 100644 --- a/packages/osmosis-testing/README.md +++ b/packages/osmosis-testing/README.md @@ -15,7 +15,7 @@ CosmWasm x Osmosis integration testing library that, unlike `cw-multi-test`, it ## Getting Started -To demonstrate how `osmosis-testing` works, let use simple example contract: [cw-whitelist](https://github.com/CosmWasm/cw-plus/tree/main/contracts/cw1-whitelist) from `cw-plus`. +To demonstrate how `osmosis-testing` works, let's use a simple example contract: [cw-whitelist](https://github.com/CosmWasm/cw-plus/tree/main/contracts/cw1-whitelist) from `cw-plus`. Here is how to setup the test: @@ -42,7 +42,7 @@ let new_admin = &accs[1]; ``` Now we have the appchain instance and accounts that have some initial balances and can interact with the appchain. -This does not run Docker instance or spawning external process, it just load the appchain's code as a library create an in memory instance. +This does not run Docker instance or spawning external process, it just loads the appchain's code as a library create an in memory instance. Note that `init_accounts` is a convenience function that creates multiple accounts with the same initial balance. If you want to create just one account, you can use `init_account` instead. @@ -87,7 +87,7 @@ let new_admin = &accs[1]; // ============= NEW CODE ================ -// `Wasm` is the module we use to interact with cosmwasm releated logic on the appchain +// `Wasm` is the module we use to interact with cosmwasm related logic on the appchain // it implements `Module` trait which you will see more later. let wasm = Wasm::new(&app); @@ -100,7 +100,7 @@ let code_id = wasm .code_id; ``` -Not that in this example, it loads wasm bytecode from [cw-plus release](https://github.com/CosmWasm/cw-plus/releases) for simple demonstration purposes. +Not that in this example, it load wasm bytecode from [cw-plus release](https://github.com/CosmWasm/cw-plus/releases) for simple demonstration purposes. You might want to run `cargo wasm` and find your wasm file in `target/wasm32-unknown-unknown/release/.wasm`. ```rust @@ -217,7 +217,7 @@ assert!(admin_list.mutable); // ============= NEW CODE ================ -// update admin list and rechec the state +// update admin list and recheck the state let new_admins = vec![new_admin.address()]; wasm.execute::( &contract_addr, @@ -239,14 +239,14 @@ assert!(admin_list.mutable); ## Debugging -In your contract code, if you want to debug, you can use [`deps.api.debug(..)`](https://docs.rs/cosmwasm-std/latest/cosmwasm_std/trait.Api.html#tymethod.debug) which will prints the debug message to stdout. `wasmd` disabled this by default but `OsmosisTestApp` allows stdout emission so that you can debug your smart contract while running tests. +In your contract code, if you want to debug, you can use [`deps.api.debug(..)`](https://docs.rs/cosmwasm-std/latest/cosmwasm_std/trait.Api.html#tymethod.debug) which will print the debug message to stdout. `wasmd` disabled this by default but `OsmosisTestApp` allows stdout emission so that you can debug your smart contract while running tests. ## Using Module Wrapper -In some cases, you might want interact directly with appchain logic to setup the environment or query appchain's state. -Module wrappers provides convenient functions to interact with the appchain's module. +In some cases, you might want to interact directly with appchain logic to setup the environment or query appchain's state. +Module wrappers provide convenient functions to interact with the appchain's module. -Let's try interact with `Gamm` module: +Let's try to interact with the `Gamm` module: ```rust use cosmwasm_std::Coin; From b83ccc8ccddf5cc3ee66aa8119d25863d03975a5 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:38:00 +0100 Subject: [PATCH 107/142] Fix: typo --- packages/osmosis-testing/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/osmosis-testing/README.md b/packages/osmosis-testing/README.md index 80855dac..456c8c96 100644 --- a/packages/osmosis-testing/README.md +++ b/packages/osmosis-testing/README.md @@ -100,7 +100,7 @@ let code_id = wasm .code_id; ``` -Not that in this example, it load wasm bytecode from [cw-plus release](https://github.com/CosmWasm/cw-plus/releases) for simple demonstration purposes. +Not that in this example, it loads wasm bytecode from [cw-plus release](https://github.com/CosmWasm/cw-plus/releases) for simple demonstration purposes. You might want to run `cargo wasm` and find your wasm file in `target/wasm32-unknown-unknown/release/.wasm`. ```rust From 2cdb18f219d790e40e1f58eef929fe3c2acc63da Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sat, 11 Feb 2023 10:39:31 +0100 Subject: [PATCH 108/142] Fix: typos --- packages/osmosis-std/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/osmosis-std/README.md b/packages/osmosis-std/README.md index 959d02c5..a8603998 100644 --- a/packages/osmosis-std/README.md +++ b/packages/osmosis-std/README.md @@ -22,7 +22,7 @@ use osmosis_std::types::osmosis::tokenfactory::v1beta1::MsgCreateDenom; pub fn try_create_denom(env: Env, subdenom: String) -> Result { let sender = env.contract.address.into(); - // construct message and convet them into cosmos message + // construct message and convert them into cosmos message // (notice `CosmosMsg` type and `.into()`) let msg_create_denom: CosmosMsg = MsgCreateDenom { sender, subdenom }.into(); @@ -35,7 +35,7 @@ pub fn try_create_denom(env: Env, subdenom: String) -> Result Date: Thu, 16 Feb 2023 01:33:13 +0000 Subject: [PATCH 109/142] Update latest osmosis tag timestamp to 1676473083 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 722facf8..9b926ac6 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1675945037 +1676473083 From 63e5468bb7715aedb32fd440dbf4b56b20712619 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 21 Feb 2023 01:33:23 +0000 Subject: [PATCH 110/142] Update latest osmosis tag timestamp to 1676918026 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 9b926ac6..2fa94d9c 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1676473083 +1676918026 From e3c402b82b1a198d33b635e216359d759b73b7a6 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 24 Feb 2023 16:54:17 +0700 Subject: [PATCH 111/142] add alias ID and exclude abci --- .../osmosis/concentratedliquidity/v1beta1.rs | 1 + .../gamm/poolmodels/stableswap/v1beta1.rs | 1 + .../src/types/osmosis/gamm/v1beta1.rs | 1 + .../src/types/osmosis/incentives.rs | 2 + .../osmosis-std/src/types/osmosis/lockup.rs | 6 +- .../src/types/osmosis/superfluid/mod.rs | 1 + packages/proto-build/src/code_generator.rs | 24 ++++++++ packages/proto-build/src/transform.rs | 1 + packages/proto-build/src/transformers.rs | 55 +++++++++++++++++++ 9 files changed, 91 insertions(+), 1 deletion(-) diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs index ab83dc2d..dfd00ded 100644 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -201,6 +201,7 @@ pub struct Pool { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index 6221ef56..79ea926d 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -36,6 +36,7 @@ pub struct Pool { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index ea87a96e..68fedc43 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -114,6 +114,7 @@ pub struct Pool { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/incentives.rs b/packages/osmosis-std/src/types/osmosis/incentives.rs index 54ee89ed..c761b0df 100644 --- a/packages/osmosis-std/src/types/osmosis/incentives.rs +++ b/packages/osmosis-std/src/types/osmosis/incentives.rs @@ -16,6 +16,7 @@ use osmosis_std_derive::CosmwasmExt; pub struct Gauge { /// id is the unique ID of a Gauge #[prost(uint64, tag = "1")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -218,6 +219,7 @@ pub struct ModuleToDistributeCoinsResponse { pub struct GaugeByIdRequest { /// Gague ID being queried #[prost(uint64, tag = "1")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index 064d6db9..89aa72e0 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -20,11 +20,11 @@ pub struct PeriodLock { /// The ID of the lock is decided upon lock creation, incrementing by 1 for /// every lock. #[prost(uint64, tag = "1")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - #[serde(alias = "ID")] pub id: u64, /// Owner is the account address of the lock owner. /// Only the owner can modify the state of the lock. @@ -156,6 +156,7 @@ pub struct MsgLockTokens { #[proto_message(type_url = "/osmosis.lockup.MsgLockTokensResponse")] pub struct MsgLockTokensResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -207,6 +208,7 @@ pub struct MsgBeginUnlocking { #[prost(string, tag = "1")] pub owner: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -248,6 +250,7 @@ pub struct MsgExtendLockup { #[prost(string, tag = "1")] pub owner: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -290,6 +293,7 @@ pub struct MsgForceUnlock { #[prost(string, tag = "1")] pub owner: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index 5d688f46..df7ac15a 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -326,6 +326,7 @@ pub struct MsgLockAndSuperfluidDelegate { #[proto_message(type_url = "/osmosis.superfluid.MsgLockAndSuperfluidDelegateResponse")] pub struct MsgLockAndSuperfluidDelegateResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/proto-build/src/code_generator.rs b/packages/proto-build/src/code_generator.rs index 3c6a46a5..67c11bac 100644 --- a/packages/proto-build/src/code_generator.rs +++ b/packages/proto-build/src/code_generator.rs @@ -11,6 +11,9 @@ use walkdir::WalkDir; use crate::{mod_gen, transform}; const DESCRIPTOR_FILE: &str = "descriptor.bin"; +const UNSUPPORTED_MODULE: &[&str] = &[ + "cosmos.base.abci", // currently unsupported due to dependency on tendermint-proto +]; #[derive(Clone, Debug)] pub struct CosmosProject { @@ -66,6 +69,7 @@ impl CodeGenerator { self.project.name ); + self.exclude_unsupported_module(); self.transform(); self.generate_mod_file(); self.fmt(); @@ -88,6 +92,26 @@ impl CodeGenerator { ); } + fn exclude_unsupported_module(&self) { + for entry in WalkDir::new(self.tmp_namespaced_dir()) { + let entry = entry.unwrap(); + if entry.file_type().is_file() { + let filename = entry + .file_name() + .to_os_string() + .to_str() + .unwrap() + .to_string(); + if UNSUPPORTED_MODULE + .iter() + .any(|module| filename.contains(module)) + { + fs::remove_file(entry.path()).unwrap(); + } + } + } + } + fn generate_mod_file(&self) { mod_gen::generate_mod_file(&self.absolute_out_dir()); } diff --git a/packages/proto-build/src/transform.rs b/packages/proto-build/src/transform.rs index a1835613..201381a3 100644 --- a/packages/proto-build/src/transform.rs +++ b/packages/proto-build/src/transform.rs @@ -160,6 +160,7 @@ fn transform_items( Item::Struct(s) => Item::Struct({ let s = transformers::add_derive_eq(&s); let s = transformers::append_attrs(src, &s, descriptor); + let s = transformers::serde_alias_id_with_uppercased(s); transformers::allow_serde_int_as_str(s) }), diff --git a/packages/proto-build/src/transformers.rs b/packages/proto-build/src/transformers.rs index 84440e21..59e20a4d 100644 --- a/packages/proto-build/src/transformers.rs +++ b/packages/proto-build/src/transformers.rs @@ -168,6 +168,36 @@ pub fn allow_serde_int_as_str(s: ItemStruct) -> ItemStruct { syn::ItemStruct { fields, ..s } } + +/// some of proto's fields in osmosis' modules are named `ID` but prost generates `id` field +/// this function adds `#[serde(alias = "ID")]` to the `id` field +/// so that serde can deserialize `ID` field to `id` field. +/// This is required because the `ID` field is used in the query response and is serialized as json. +pub fn serde_alias_id_with_uppercased(s: ItemStruct) -> ItemStruct { + let fields_vec = s + .fields + .clone() + .into_iter() + .map(|mut field| { + if field.ident == Some(format_ident!("id")) { + let serde_alias_id: syn::Attribute = parse_quote! { + #[serde(alias = "ID")] + }; + field.attrs.append(&mut vec![serde_alias_id]); + field + } else { + field + } + }) + .collect::>(); + + let fields_named: syn::FieldsNamed = parse_quote! { + { #(#fields_vec,)* } + }; + let fields = syn::Fields::Named(fields_named); + + syn::ItemStruct { fields, ..s } +} // ====== helpers ====== fn get_query_attr( @@ -494,4 +524,29 @@ mod tests { assert_ast_eq!(result, expected); } + + #[test] + #[allow(non_snake_case)] + fn test_alias_id_with_ID_if_there_id_a_field_named_id() { + let item_struct: ItemStruct = syn::parse_quote! { + #[derive(PartialEq, Eq, Debug)] + struct PeriodLock { + id: u64, + duration: Duration, + } + }; + + let result = serde_alias_id_with_uppercased(item_struct); + + let expected: ItemStruct = syn::parse_quote! { + #[derive(PartialEq, Eq, Debug)] + struct PeriodLock { + #[serde(alias = "ID")] + id: u64, + duration: Duration, + } + }; + + assert_ast_eq!(result, expected); + } } From 4a76e198757dc92cc5739c0339169c5d35939b04 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 25 Feb 2023 01:32:41 +0000 Subject: [PATCH 112/142] Update latest osmosis tag timestamp to 1677246806 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 2fa94d9c..6eedf68c 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1676918026 +1677246806 From aa044b3e404c569a4243dd931e175d2826d94052 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 1 Mar 2023 01:33:23 +0000 Subject: [PATCH 113/142] Update latest osmosis tag timestamp to 1677626706 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 6eedf68c..3f415cc9 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1677246806 +1677626706 From 09077b6829b6eb1cfc31734720dea33d390b0334 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 2 Mar 2023 01:33:52 +0000 Subject: [PATCH 114/142] Update latest osmosis tag timestamp to 1677686162 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 3f415cc9..9ee47373 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1677626706 +1677686162 From 5a7d651ade1d9ac3275ab13be9aa85c20fa71af7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 5 Mar 2023 01:33:50 +0000 Subject: [PATCH 115/142] Update latest osmosis tag timestamp to 1677874810 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 9ee47373..087d6903 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1677686162 +1677874810 From 1b71d4eab46217b3786047a6ce3588848e8ec9c4 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 6 Mar 2023 12:57:29 +0700 Subject: [PATCH 116/142] add additional field test --- packages/osmosis-std/tests/addional_fields.rs | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 packages/osmosis-std/tests/addional_fields.rs diff --git a/packages/osmosis-std/tests/addional_fields.rs b/packages/osmosis-std/tests/addional_fields.rs new file mode 100644 index 00000000..6a0b4e89 --- /dev/null +++ b/packages/osmosis-std/tests/addional_fields.rs @@ -0,0 +1,65 @@ +use cosmwasm_std::{from_binary, to_binary}; +use osmosis_std_derive::CosmwasmExt; +use prost::Message; + +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.MsgBeginUnlockingResponse")] +pub struct MsgBeginUnlockingResponse { + #[prost(bool, tag = "1")] + pub success: bool, +} + +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.MsgBeginUnlockingResponse")] +pub struct NewMsgBeginUnlockingResponse { + #[prost(bool, tag = "1")] + pub success: bool, + #[prost(uint64, tag = "2")] + pub unlocking_lock_id: u64, +} + +#[test] +fn test_additional_fields_does_not_break_but_cause_lossy_json_deserialization() { + let response = NewMsgBeginUnlockingResponse { + success: true, + unlocking_lock_id: 1, + }; + + // to_binary() and from_binary() is using `serde_json_wasm` under the hood. + let serialized = to_binary(&response).unwrap(); + let deserialized: MsgBeginUnlockingResponse = from_binary(&serialized).unwrap(); + + // lossy deserialization + assert_eq!(deserialized, MsgBeginUnlockingResponse { success: true }); +} + +#[test] +fn test_additional_fields_does_not_break_but_cause_lossy_proto_deserialization() { + let response = NewMsgBeginUnlockingResponse { + success: true, + unlocking_lock_id: 1, + }; + let serialized = response.encode_to_vec(); + let deserialized = MsgBeginUnlockingResponse::decode(&serialized[..]).unwrap(); + + // lossy deserialization + assert_eq!(deserialized, MsgBeginUnlockingResponse { success: true }); +} From 681a6d09f2ebcb3f07ca4a5a3e8c77cbe2979185 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 Mar 2023 01:34:05 +0000 Subject: [PATCH 117/142] Update latest osmosis tag timestamp to 1678137645 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 087d6903..cdf07cb6 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1677874810 +1678137645 From 0aeaafefe732a0d13cb99ecd2456942e8811975c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Mar 2023 01:33:26 +0000 Subject: [PATCH 118/142] Update latest osmosis tag timestamp to 1678220834 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index cdf07cb6..92a02013 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1678137645 +1678220834 From 8d65c6a3e6c0a519d86689f17dbf156620722b43 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 10 Mar 2023 13:15:46 +0700 Subject: [PATCH 119/142] use buf to perform generation instead of pure prost --- dependencies/osmosis | 2 +- packages/osmosis-std-derive/src/lib.rs | 10 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../src/types/cosmos/auth/v1beta1.rs | 232 ++++- .../src/types/cosmos/authz/v1beta1.rs | 268 +++--- .../src/types/cosmos/bank/v1beta1.rs | 409 ++++----- .../src/types/cosmos/base/query/v1beta1.rs | 34 +- .../src/types/cosmos/base/v1beta1.rs | 36 +- .../src/types/cosmos/staking/v1beta1.rs | 465 ++++++++-- .../src/types/osmosis/accum/v1beta1.rs | 21 +- .../osmosis/concentratedliquidity/mod.rs | 21 - .../osmosis/concentratedliquidity/v1beta1.rs | 609 -------------- .../types/osmosis/downtimedetector/v1beta1.rs | 95 ++- .../src/types/osmosis/epochs/v1beta1.rs | 42 +- .../gamm/poolmodels/balancer/v1beta1.rs | 63 +- .../gamm/poolmodels/stableswap/v1beta1.rs | 42 +- .../src/types/osmosis/gamm/v1beta1.rs | 580 ++++++------- .../osmosis-std/src/types/osmosis/gamm/v2.rs | 14 +- .../src/types/osmosis/ibcratelimit/v1beta1.rs | 57 +- .../src/types/osmosis/incentives.rs | 354 ++++---- .../osmosis-std/src/types/osmosis/lockup.rs | 725 +++++++++------- .../src/types/osmosis/mint/v1beta1.rs | 113 +-- packages/osmosis-std/src/types/osmosis/mod.rs | 1 - .../types/osmosis/poolincentives/v1beta1.rs | 201 +++-- .../src/types/osmosis/poolmanager/v1beta1.rs | 292 ++++--- .../src/types/osmosis/protorev/v1beta1.rs | 765 +++++++++-------- .../src/types/osmosis/store/v1beta1.rs | 21 +- .../src/types/osmosis/superfluid/mod.rs | 793 ++++++++++-------- .../src/types/osmosis/superfluid/v1beta1.rs | 21 +- .../src/types/osmosis/tokenfactory/v1beta1.rs | 424 +++++----- .../src/types/osmosis/twap/v1beta1.rs | 91 +- .../src/types/osmosis/txfees/v1beta1.rs | 107 +-- .../src/types/osmosis/valsetpref/v1beta1.rs | 174 ++-- packages/proto-build/buf.gen.yaml | 9 + packages/proto-build/buf.lock | 19 + packages/proto-build/buf.yaml | 23 + packages/proto-build/src/code_generator.rs | 197 +++-- packages/proto-build/src/main.rs | 14 +- packages/proto-build/src/transform.rs | 16 +- packages/proto-build/src/transformers.rs | 200 +++-- 40 files changed, 4068 insertions(+), 3494 deletions(-) delete mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs create mode 100644 packages/proto-build/buf.gen.yaml create mode 100644 packages/proto-build/buf.lock create mode 100644 packages/proto-build/buf.yaml diff --git a/dependencies/osmosis b/dependencies/osmosis index 87a8d584..3ffb10f6 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 87a8d5841ee1f19ca7cbe5b5df2f441bebab921c +Subproject commit 3ffb10f6eec16001a55aa46f5aeddf0d50a5cffd diff --git a/packages/osmosis-std-derive/src/lib.rs b/packages/osmosis-std-derive/src/lib.rs index cbac1f9b..f99bbeed 100644 --- a/packages/osmosis-std-derive/src/lib.rs +++ b/packages/osmosis-std-derive/src/lib.rs @@ -124,7 +124,7 @@ pub fn derive_cosmwasm_ext(input: TokenStream) -> TokenStream { }).into() } -fn get_type_url(attrs: &Vec) -> proc_macro2::TokenStream { +fn get_type_url(attrs: &[syn::Attribute]) -> proc_macro2::TokenStream { let proto_message = get_attr("proto_message", attrs).and_then(|a| a.parse_meta().ok()); if let Some(syn::Meta::List(meta)) = proto_message.clone() { @@ -146,7 +146,7 @@ fn get_type_url(attrs: &Vec) -> proc_macro2::TokenStream { } } -fn get_query_attrs(attrs: &Vec, f: F) -> proc_macro2::TokenStream +fn get_query_attrs(attrs: &[syn::Attribute], f: F) -> proc_macro2::TokenStream where F: FnMut(&Vec) -> Option, { @@ -185,8 +185,10 @@ where } } -fn get_attr<'a>(attr_ident: &str, attrs: &'a Vec) -> Option<&'a syn::Attribute> { - attrs.iter().find(|&attr| attr.path.segments.len() == 1 && attr.path.segments[0].ident == attr_ident) +fn get_attr<'a>(attr_ident: &str, attrs: &'a [syn::Attribute]) -> Option<&'a syn::Attribute> { + attrs + .iter() + .find(|&attr| attr.path.segments.len() == 1 && attr.path.segments[0].ident == attr_ident) } fn proto_message_attr_error(tokens: T) -> proc_macro2::TokenStream { diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 4c9eea9f..ea9a5e1e 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -origin/feat/non-owner-force-unlock \ No newline at end of file +v15.0.0-rc3 \ No newline at end of file diff --git a/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs index d0228124..cf9b5895 100644 --- a/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs @@ -2,17 +2,18 @@ use osmosis_std_derive::CosmwasmExt; /// BaseAccount defines a base account type. It contains all the necessary fields /// for basic account functionality. Any custom account type should extend this /// type for additional functionality (e.g. vesting). +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.auth.v1beta1.BaseAccount")] +#[proto_message(type_url = "/cosmos.auth.v1beta1.BaseAccountBaseAccount")] pub struct BaseAccount { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, @@ -32,17 +33,18 @@ pub struct BaseAccount { pub sequence: u64, } /// ModuleAccount defines an account for modules that holds coins on a pool. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.auth.v1beta1.ModuleAccount")] +#[proto_message(type_url = "/cosmos.auth.v1beta1.ModuleAccountModuleAccount")] pub struct ModuleAccount { #[prost(message, optional, tag = "1")] pub base_account: ::core::option::Option, @@ -52,17 +54,18 @@ pub struct ModuleAccount { pub permissions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } /// Params defines the parameters for the auth module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.auth.v1beta1.Params")] +#[proto_message(type_url = "/cosmos.auth.v1beta1.ParamsParams")] pub struct Params { #[prost(uint64, tag = "1")] #[serde( @@ -95,3 +98,208 @@ pub struct Params { )] pub sig_verify_cost_secp256k1: u64, } +/// GenesisState defines the auth module's 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 = "/cosmos.auth.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// accounts are the accounts present at genesis. + #[prost(message, repeated, tag = "2")] + pub accounts: ::prost::alloc::vec::Vec, +} +/// QueryAccountsRequest is the request type for the Query/Accounts RPC method. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.auth.v1beta1.QueryAccountsRequest")] +#[proto_query( + path = "/cosmos.auth.v1beta1.Query/Accounts", + response_type = QueryAccountsResponse +)] +pub struct QueryAccountsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: ::core::option::Option, +} +/// QueryAccountsResponse is the response type for the Query/Accounts RPC method. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.auth.v1beta1.QueryAccountsResponse")] +pub struct QueryAccountsResponse { + /// accounts are the existing accounts + #[prost(message, repeated, tag = "1")] + pub accounts: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: ::core::option::Option, +} +/// QueryAccountRequest is the request type for the Query/Account 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 = "/cosmos.auth.v1beta1.QueryAccountRequest")] +#[proto_query( + path = "/cosmos.auth.v1beta1.Query/Account", + response_type = QueryAccountResponse +)] +pub struct QueryAccountRequest { + /// address defines the address to query for. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +/// QueryAccountResponse is the response type for the Query/Account 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 = "/cosmos.auth.v1beta1.QueryAccountResponse")] +pub struct QueryAccountResponse { + /// account defines the account of the corresponding address. + #[prost(message, optional, tag = "1")] + pub account: ::core::option::Option, +} +/// QueryParamsRequest is the request 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 = "/cosmos.auth.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/cosmos.auth.v1beta1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +/// QueryParamsResponse is the 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 = "/cosmos.auth.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// QueryModuleAccountsRequest is the request type for the Query/ModuleAccounts 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 = "/cosmos.auth.v1beta1.QueryModuleAccountsRequest")] +#[proto_query( + path = "/cosmos.auth.v1beta1.Query/ModuleAccounts", + response_type = QueryModuleAccountsResponse +)] +pub struct QueryModuleAccountsRequest {} +/// QueryModuleAccountsResponse is the response type for the Query/ModuleAccounts 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 = "/cosmos.auth.v1beta1.QueryModuleAccountsResponse")] +pub struct QueryModuleAccountsResponse { + #[prost(message, repeated, tag = "1")] + pub accounts: ::prost::alloc::vec::Vec, +} +pub struct AuthQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> AuthQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn accounts( + &self, + pagination: ::core::option::Option, + ) -> Result { + QueryAccountsRequest { pagination }.query(self.querier) + } + pub fn account( + &self, + address: ::prost::alloc::string::String, + ) -> Result { + QueryAccountRequest { address }.query(self.querier) + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } + pub fn module_accounts(&self) -> Result { + QueryModuleAccountsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs index 790a879c..0337c4e0 100644 --- a/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/authz/v1beta1.rs @@ -1,14 +1,15 @@ use osmosis_std_derive::CosmwasmExt; /// GenericAuthorization gives the grantee unrestricted permissions to execute /// the provided method on behalf of the granter's account. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.authz.v1beta1.GenericAuthorization")] @@ -19,14 +20,15 @@ pub struct GenericAuthorization { } /// Grant gives permissions to execute /// the provide method with expiration time. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.authz.v1beta1.Grant")] @@ -36,122 +38,104 @@ pub struct Grant { #[prost(message, optional, tag = "2")] pub expiration: ::core::option::Option, } -/// MsgGrant is a request type for Grant method. It declares authorization to the grantee -/// on behalf of the granter with the provided expiration time. +/// EventGrant is emitted on Msg/Grant +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgGrant")] -pub struct MsgGrant { - #[prost(string, tag = "1")] - pub granter: ::prost::alloc::string::String, +#[proto_message(type_url = "/cosmos.authz.v1beta1.EventGrant")] +pub struct EventGrant { + /// Msg type URL for which an autorization is granted #[prost(string, tag = "2")] + pub msg_type_url: ::prost::alloc::string::String, + /// Granter account address + #[prost(string, tag = "3")] + pub granter: ::prost::alloc::string::String, + /// Grantee account address + #[prost(string, tag = "4")] pub grantee: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub grant: ::core::option::Option, } -/// MsgExecResponse defines the Msg/MsgExecResponse response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgExecResponse")] -pub struct MsgExecResponse { - #[prost(bytes = "vec", repeated, tag = "1")] - pub results: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, -} -/// MsgExec attempts to execute the provided messages using -/// authorizations granted to the grantee. Each message should have only -/// one signer corresponding to the granter of the authorization. +/// EventRevoke is emitted on Msg/Revoke +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgExec")] -pub struct MsgExec { - #[prost(string, tag = "1")] +#[proto_message(type_url = "/cosmos.authz.v1beta1.EventRevoke")] +pub struct EventRevoke { + /// Msg type URL for which an autorization is revoked + #[prost(string, tag = "2")] + pub msg_type_url: ::prost::alloc::string::String, + /// Granter account address + #[prost(string, tag = "3")] + pub granter: ::prost::alloc::string::String, + /// Grantee account address + #[prost(string, tag = "4")] pub grantee: ::prost::alloc::string::String, - /// Authorization Msg requests to execute. Each msg must implement Authorization interface - /// The x/authz will try to find a grant matching (msg.signers\[0\], grantee, MsgTypeURL(msg)) - /// triple and validate it. - #[prost(message, repeated, tag = "2")] - pub msgs: ::prost::alloc::vec::Vec, } -/// MsgGrantResponse defines the Msg/MsgGrant response type. +/// GenesisState defines the authz module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgGrantResponse")] -pub struct MsgGrantResponse {} -/// MsgRevoke revokes any authorization with the provided sdk.Msg type on the -/// granter's account with that has been granted to the grantee. +#[proto_message(type_url = "/cosmos.authz.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub authorization: ::prost::alloc::vec::Vec, +} +/// GrantAuthorization defines the GenesisState/GrantAuthorization type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgRevoke")] -pub struct MsgRevoke { +#[proto_message(type_url = "/cosmos.authz.v1beta1.GrantAuthorization")] +pub struct GrantAuthorization { #[prost(string, tag = "1")] pub granter: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub grantee: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub msg_type_url: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub authorization: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub expiration: ::core::option::Option, } -/// MsgRevokeResponse defines the Msg/MsgRevokeResponse response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgRevokeResponse")] -pub struct MsgRevokeResponse {} /// QueryGrantsRequest is the request type for the Query/Grants RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.authz.v1beta1.QueryGrantsRequest")] @@ -172,14 +156,15 @@ pub struct QueryGrantsRequest { pub pagination: ::core::option::Option, } /// QueryGrantsResponse is the response type for the Query/Authorizations RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.authz.v1beta1.QueryGrantsResponse")] @@ -191,90 +176,119 @@ pub struct QueryGrantsResponse { #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } -/// EventGrant is emitted on Msg/Grant +/// MsgGrant is a request type for Grant method. It declares authorization to the grantee +/// on behalf of the granter with the provided expiration time. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.EventGrant")] -pub struct EventGrant { - /// Msg type URL for which an autorization is granted - #[prost(string, tag = "2")] - pub msg_type_url: ::prost::alloc::string::String, - /// Granter account address - #[prost(string, tag = "3")] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgGrant")] +pub struct MsgGrant { + #[prost(string, tag = "1")] pub granter: ::prost::alloc::string::String, - /// Grantee account address - #[prost(string, tag = "4")] + #[prost(string, tag = "2")] pub grantee: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub grant: ::core::option::Option, } -/// EventRevoke is emitted on Msg/Revoke +/// MsgExecResponse defines the Msg/MsgExecResponse response type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.EventRevoke")] -pub struct EventRevoke { - /// Msg type URL for which an autorization is revoked - #[prost(string, tag = "2")] - pub msg_type_url: ::prost::alloc::string::String, - /// Granter account address - #[prost(string, tag = "3")] - pub granter: ::prost::alloc::string::String, - /// Grantee account address - #[prost(string, tag = "4")] - pub grantee: ::prost::alloc::string::String, +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgExecResponse")] +pub struct MsgExecResponse { + #[prost(bytes = "vec", repeated, tag = "1")] + pub results: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, } -/// GenesisState defines the authz module's genesis state. +/// MsgExec attempts to execute the provided messages using +/// authorizations granted to the grantee. Each message should have only +/// one signer corresponding to the granter of the authorization. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(message, repeated, tag = "1")] - pub authorization: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgExec")] +pub struct MsgExec { + #[prost(string, tag = "1")] + pub grantee: ::prost::alloc::string::String, + /// Authorization Msg requests to execute. Each msg must implement Authorization interface + /// The x/authz will try to find a grant matching (msg.signers\[0\], grantee, MsgTypeURL(msg)) + /// triple and validate it. + #[prost(message, repeated, tag = "2")] + pub msgs: ::prost::alloc::vec::Vec, } -/// GrantAuthorization defines the GenesisState/GrantAuthorization type. +/// MsgGrantResponse defines the Msg/MsgGrant response type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.authz.v1beta1.GrantAuthorization")] -pub struct GrantAuthorization { +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgGrantResponse")] +pub struct MsgGrantResponse {} +/// MsgRevoke revokes any authorization with the provided sdk.Msg type on the +/// granter's account with that has been granted to the grantee. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.authz.v1beta1.MsgRevoke")] +pub struct MsgRevoke { #[prost(string, tag = "1")] pub granter: ::prost::alloc::string::String, #[prost(string, tag = "2")] pub grantee: ::prost::alloc::string::String, - #[prost(message, optional, tag = "3")] - pub authorization: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub expiration: ::core::option::Option, + #[prost(string, tag = "3")] + pub msg_type_url: ::prost::alloc::string::String, } +/// MsgRevokeResponse defines the Msg/MsgRevokeResponse response 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 = "/cosmos.authz.v1beta1.MsgRevokeResponse")] +pub struct MsgRevokeResponse {} pub struct AuthzQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs index 4d4a193c..ab64eaf9 100644 --- a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs @@ -1,16 +1,37 @@ use osmosis_std_derive::CosmwasmExt; +/// SendAuthorization allows the grantee to spend up to spend_limit coins from +/// the granter's account. +/// +/// Since: cosmos-sdk 0.43 +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.bank.v1beta1.SendAuthorization")] +pub struct SendAuthorization { + #[prost(message, repeated, tag = "1")] + pub spend_limit: ::prost::alloc::vec::Vec, +} /// Params defines the parameters for the bank module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Params")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.ParamsParams")] pub struct Params { #[prost(message, repeated, tag = "1")] pub send_enabled: ::prost::alloc::vec::Vec, @@ -19,17 +40,18 @@ pub struct Params { } /// SendEnabled maps coin denom to a send_enabled status (whether a denom is /// sendable). +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.SendEnabled")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.SendEnabledSendEnabled")] pub struct SendEnabled { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -37,17 +59,18 @@ pub struct SendEnabled { pub enabled: bool, } /// Input models transaction input. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Input")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.InputInput")] pub struct Input { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, @@ -55,17 +78,18 @@ pub struct Input { pub coins: ::prost::alloc::vec::Vec, } /// Output models transaction outputs. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Output")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.OutputOutput")] pub struct Output { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, @@ -75,17 +99,18 @@ pub struct Output { /// Supply represents a struct that passively keeps track of the total supply /// amounts in the network. /// This message is deprecated now that supply is indexed by denom. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Supply")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.SupplySupply")] #[deprecated] pub struct Supply { #[prost(message, repeated, tag = "1")] @@ -93,17 +118,18 @@ pub struct Supply { } /// DenomUnit represents a struct that describes a given /// denomination unit of the basic token. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.DenomUnit")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.DenomUnitDenomUnit")] pub struct DenomUnit { /// denom represents the string name of the given denom unit (e.g uatom). #[prost(string, tag = "1")] @@ -125,17 +151,18 @@ pub struct DenomUnit { } /// Metadata represents a struct that describes /// a basic token. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Metadata")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.MetadataMetadata")] pub struct Metadata { #[prost(string, tag = "1")] pub description: ::prost::alloc::string::String, @@ -161,79 +188,91 @@ pub struct Metadata { #[prost(string, tag = "6")] pub symbol: ::prost::alloc::string::String, } -/// MsgSend represents a message to send coins from one account to another. +/// GenesisState defines the bank module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgSend")] -pub struct MsgSend { - #[prost(string, tag = "1")] - pub from_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub to_address: ::prost::alloc::string::String, +#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// balances is an array containing the balances of all the accounts. + #[prost(message, repeated, tag = "2")] + pub balances: ::prost::alloc::vec::Vec, + /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided + /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. #[prost(message, repeated, tag = "3")] - pub amount: ::prost::alloc::vec::Vec, + pub supply: ::prost::alloc::vec::Vec, + /// denom_metadata defines the metadata of the differents coins. + #[prost(message, repeated, tag = "4")] + pub denom_metadata: ::prost::alloc::vec::Vec, + /// supply_offsets defines the amount of supply offset. + #[prost(message, repeated, tag = "5")] + pub supply_offsets: ::prost::alloc::vec::Vec, } -/// MsgSendResponse defines the Msg/Send response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgSendResponse")] -pub struct MsgSendResponse {} -/// MsgMultiSend represents an arbitrary multi-in, multi-out send message. +/// Balance defines an account address and balance pair used in the bank module's +/// genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgMultiSend")] -pub struct MsgMultiSend { - #[prost(message, repeated, tag = "1")] - pub inputs: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/cosmos.bank.v1beta1.Balance")] +pub struct Balance { + /// address is the address of the balance holder. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// coins defines the different coins this balance holds. #[prost(message, repeated, tag = "2")] - pub outputs: ::prost::alloc::vec::Vec, + pub coins: ::prost::alloc::vec::Vec, } -/// MsgMultiSendResponse defines the Msg/MultiSend response type. +/// GenesisSupplyOffset encodes the supply offsets, just for genesis. +/// The offsets are serialized directly by denom in state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgMultiSendResponse")] -pub struct MsgMultiSendResponse {} +#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisSupplyOffset")] +pub struct GenesisSupplyOffset { + /// Denom + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// SupplyOffset + #[prost(string, tag = "2")] + pub offset: ::prost::alloc::string::String, +} /// QueryBalanceRequest is the request type for the Query/Balance RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryBalanceRequest")] @@ -250,14 +289,15 @@ pub struct QueryBalanceRequest { pub denom: ::prost::alloc::string::String, } /// QueryBalanceResponse is the response type for the Query/Balance RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryBalanceResponse")] @@ -267,14 +307,15 @@ pub struct QueryBalanceResponse { pub balance: ::core::option::Option, } /// QueryBalanceRequest is the request type for the Query/AllBalances RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryAllBalancesRequest")] @@ -292,14 +333,15 @@ pub struct QueryAllBalancesRequest { } /// QueryAllBalancesResponse is the response type for the Query/AllBalances RPC /// method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryAllBalancesResponse")] @@ -313,14 +355,15 @@ pub struct QueryAllBalancesResponse { } /// QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC /// method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryTotalSupplyRequest")] @@ -337,14 +380,15 @@ pub struct QueryTotalSupplyRequest { } /// QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC /// method +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryTotalSupplyResponse")] @@ -359,14 +403,15 @@ pub struct QueryTotalSupplyResponse { pub pagination: ::core::option::Option, } /// QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QuerySupplyOfRequest")] @@ -380,14 +425,15 @@ pub struct QuerySupplyOfRequest { pub denom: ::prost::alloc::string::String, } /// QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QuerySupplyOfResponse")] @@ -398,14 +444,15 @@ pub struct QuerySupplyOfResponse { } /// QueryTotalSupplyWithoutOffsetRequest is the request type for the Query/TotalSupplyWithoutOffset RPC /// method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryTotalSupplyWithoutOffsetRequest")] @@ -422,14 +469,15 @@ pub struct QueryTotalSupplyWithoutOffsetRequest { } /// QueryTotalSupplyWithoutOffsetResponse is the response type for the Query/TotalSupplyWithoutOffset RPC /// method +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryTotalSupplyWithoutOffsetResponse")] @@ -444,14 +492,15 @@ pub struct QueryTotalSupplyWithoutOffsetResponse { pub pagination: ::core::option::Option, } /// QuerySupplyOfWithoutOffsetRequest is the request type for the Query/SupplyOfWithoutOffset RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QuerySupplyOfWithoutOffsetRequest")] @@ -465,14 +514,15 @@ pub struct QuerySupplyOfWithoutOffsetRequest { pub denom: ::prost::alloc::string::String, } /// QuerySupplyOfWithoutOffsetResponse is the response type for the Query/SupplyOfWithoutOffset RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QuerySupplyOfWithoutOffsetResponse")] @@ -482,14 +532,15 @@ pub struct QuerySupplyOfWithoutOffsetResponse { pub amount: ::core::option::Option, } /// QueryParamsRequest defines the request type for querying x/bank parameters. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryParamsRequest")] @@ -499,14 +550,15 @@ pub struct QuerySupplyOfWithoutOffsetResponse { )] pub struct QueryParamsRequest {} /// QueryParamsResponse defines the response type for querying x/bank parameters. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryParamsResponse")] @@ -515,14 +567,15 @@ pub struct QueryParamsResponse { pub params: ::core::option::Option, } /// QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryDenomsMetadataRequest")] @@ -537,14 +590,15 @@ pub struct QueryDenomsMetadataRequest { } /// QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC /// method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryDenomsMetadataResponse")] @@ -557,14 +611,15 @@ pub struct QueryDenomsMetadataResponse { pub pagination: ::core::option::Option, } /// QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryDenomMetadataRequest")] @@ -579,14 +634,15 @@ pub struct QueryDenomMetadataRequest { } /// QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC /// method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryDenomMetadataResponse")] @@ -596,14 +652,15 @@ pub struct QueryDenomMetadataResponse { pub metadata: ::core::option::Option, } /// QueryBaseDenomRequest defines the request type for the BaseDenom gRPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryBaseDenomRequest")] @@ -616,14 +673,15 @@ pub struct QueryBaseDenomRequest { pub denom: ::prost::alloc::string::String, } /// QueryBaseDenomResponse defines the response type for the BaseDenom gRPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/cosmos.bank.v1beta1.QueryBaseDenomResponse")] @@ -631,97 +689,74 @@ pub struct QueryBaseDenomResponse { #[prost(string, tag = "1")] pub base_denom: ::prost::alloc::string::String, } -/// SendAuthorization allows the grantee to spend up to spend_limit coins from -/// the granter's account. -/// -/// Since: cosmos-sdk 0.43 +/// MsgSend represents a message to send coins from one account to another. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.SendAuthorization")] -pub struct SendAuthorization { - #[prost(message, repeated, tag = "1")] - pub spend_limit: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgSend")] +pub struct MsgSend { + #[prost(string, tag = "1")] + pub from_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub to_address: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub amount: ::prost::alloc::vec::Vec, } -/// GenesisState defines the bank module's genesis state. +/// MsgSendResponse defines the Msg/Send response type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines all the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// balances is an array containing the balances of all the accounts. - #[prost(message, repeated, tag = "2")] - pub balances: ::prost::alloc::vec::Vec, - /// supply represents the total supply. If it is left empty, then supply will be calculated based on the provided - /// balances. Otherwise, it will be used to validate that the sum of the balances equals this amount. - #[prost(message, repeated, tag = "3")] - pub supply: ::prost::alloc::vec::Vec, - /// denom_metadata defines the metadata of the differents coins. - #[prost(message, repeated, tag = "4")] - pub denom_metadata: ::prost::alloc::vec::Vec, - /// supply_offsets defines the amount of supply offset. - #[prost(message, repeated, tag = "5")] - pub supply_offsets: ::prost::alloc::vec::Vec, -} -/// Balance defines an account address and balance pair used in the bank module's -/// genesis state. +#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgSendResponse")] +pub struct MsgSendResponse {} +/// MsgMultiSend represents an arbitrary multi-in, multi-out send message. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.Balance")] -pub struct Balance { - /// address is the address of the balance holder. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// coins defines the different coins this balance holds. +#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgMultiSend")] +pub struct MsgMultiSend { + #[prost(message, repeated, tag = "1")] + pub inputs: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, + pub outputs: ::prost::alloc::vec::Vec, } -/// GenesisSupplyOffset encodes the supply offsets, just for genesis. -/// The offsets are serialized directly by denom in state. +/// MsgMultiSendResponse defines the Msg/MultiSend response type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.GenesisSupplyOffset")] -pub struct GenesisSupplyOffset { - /// Denom - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - /// SupplyOffset - #[prost(string, tag = "2")] - pub offset: ::prost::alloc::string::String, -} +#[proto_message(type_url = "/cosmos.bank.v1beta1.MsgMultiSendResponse")] +pub struct MsgMultiSendResponse {} pub struct BankQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs index dc60b413..42bb2149 100644 --- a/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs @@ -2,21 +2,22 @@ use osmosis_std_derive::CosmwasmExt; /// PageRequest is to be embedded in gRPC request messages for efficient /// pagination. Ex: /// -/// message SomeRequest { -/// Foo some_parameter = 1; -/// PageRequest pagination = 2; -/// } +/// message SomeRequest { +/// Foo some_parameter = 1; +/// PageRequest pagination = 2; +/// } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageRequest")] +#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageRequestPageRequest")] pub struct PageRequest { /// key is a value returned in PageResponse.next_key to begin /// querying the next page most efficiently. Only one of offset or key @@ -55,21 +56,22 @@ pub struct PageRequest { /// PageResponse is to be embedded in gRPC response messages where the /// corresponding request message has used PageRequest. /// -/// message SomeResponse { -/// repeated Bar results = 1; -/// PageResponse page = 2; -/// } +/// message SomeResponse { +/// repeated Bar results = 1; +/// PageResponse page = 2; +/// } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageResponse")] +#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageResponsePageResponse")] pub struct PageResponse { /// next_key is the key to be passed to PageRequest.key to /// query the next page most efficiently diff --git a/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs index bf4b0ead..192f897b 100644 --- a/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs @@ -3,17 +3,18 @@ use osmosis_std_derive::CosmwasmExt; /// /// NOTE: The amount field is an Int which implements the custom method /// signatures required by gogoproto. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.Coin")] +#[proto_message(type_url = "/cosmos.base.v1beta1.CoinCoin")] pub struct Coin { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -24,17 +25,18 @@ pub struct Coin { /// /// NOTE: The amount field is an Dec which implements the custom method /// signatures required by gogoproto. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.DecCoin")] +#[proto_message(type_url = "/cosmos.base.v1beta1.DecCoinDecCoin")] pub struct DecCoin { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -42,33 +44,35 @@ pub struct DecCoin { pub amount: ::prost::alloc::string::String, } /// IntProto defines a Protobuf wrapper around an Int object. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.IntProto")] +#[proto_message(type_url = "/cosmos.base.v1beta1.IntProtoIntProto")] pub struct IntProto { #[prost(string, tag = "1")] pub int: ::prost::alloc::string::String, } /// DecProto defines a Protobuf wrapper around a Dec object. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.DecProto")] +#[proto_message(type_url = "/cosmos.base.v1beta1.DecProtoDecProto")] pub struct DecProto { #[prost(string, tag = "1")] pub dec: ::prost::alloc::string::String, diff --git a/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs index e7edf529..030fef2e 100644 --- a/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs @@ -6,17 +6,18 @@ use osmosis_std_derive::CosmwasmExt; struct HistoricalInfo {} /// CommissionRates defines the initial commission rates to be used for creating /// a validator. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.CommissionRates")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.CommissionRatesCommissionRates")] pub struct CommissionRates { /// rate is the commission rate charged to delegators, as a fraction. #[prost(string, tag = "1")] @@ -29,17 +30,18 @@ pub struct CommissionRates { pub max_change_rate: ::prost::alloc::string::String, } /// Commission defines commission parameters for a given validator. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Commission")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.CommissionCommission")] pub struct Commission { /// commission_rates defines the initial commission rates to be used for creating a validator. #[prost(message, optional, tag = "1")] @@ -49,17 +51,18 @@ pub struct Commission { pub update_time: ::core::option::Option, } /// Description defines a validator description. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Description")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DescriptionDescription")] pub struct Description { /// moniker defines a human-readable name for the validator. #[prost(string, tag = "1")] @@ -85,17 +88,18 @@ pub struct Description { /// bond shares is based on the amount of coins delegated divided by the current /// exchange rate. Voting power can be calculated as total bonded shares /// multiplied by exchange rate. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Validator")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.ValidatorValidator")] pub struct Validator { /// operator_address defines the address of the validator's operator; bech encoded in JSON. #[prost(string, tag = "1")] @@ -140,17 +144,18 @@ pub struct Validator { pub min_self_delegation: ::prost::alloc::string::String, } /// ValAddresses defines a repeated set of validator addresses. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.ValAddresses")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.ValAddressesValAddresses")] pub struct ValAddresses { #[prost(string, repeated, tag = "1")] pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, @@ -158,17 +163,18 @@ pub struct ValAddresses { /// DVPair is struct that just has a delegator-validator pair with no other data. /// It is intended to be used as a marshalable pointer. For example, a DVPair can /// be used to construct the key to getting an UnbondingDelegation from state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPair")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPairDVPair")] pub struct DvPair { #[prost(string, tag = "1")] pub delegator_address: ::prost::alloc::string::String, @@ -176,17 +182,18 @@ pub struct DvPair { pub validator_address: ::prost::alloc::string::String, } /// DVPairs defines an array of DVPair objects. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPairs")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPairsDVPairs")] pub struct DvPairs { #[prost(message, repeated, tag = "1")] pub pairs: ::prost::alloc::vec::Vec, @@ -195,17 +202,18 @@ pub struct DvPairs { /// with no other data. It is intended to be used as a marshalable pointer. For /// example, a DVVTriplet can be used to construct the key to getting a /// Redelegation from state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTriplet")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTripletDVVTriplet")] pub struct DvvTriplet { #[prost(string, tag = "1")] pub delegator_address: ::prost::alloc::string::String, @@ -215,17 +223,18 @@ pub struct DvvTriplet { pub validator_dst_address: ::prost::alloc::string::String, } /// DVVTriplets defines an array of DVVTriplet objects. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTriplets")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTripletsDVVTriplets")] pub struct DvvTriplets { #[prost(message, repeated, tag = "1")] pub triplets: ::prost::alloc::vec::Vec, @@ -233,17 +242,18 @@ pub struct DvvTriplets { /// Delegation represents the bond with tokens held by an account. It is /// owned by one delegator, and is associated with the voting power of one /// validator. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Delegation")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DelegationDelegation")] pub struct Delegation { /// delegator_address is the bech32-encoded address of the delegator. #[prost(string, tag = "1")] @@ -257,17 +267,18 @@ pub struct Delegation { } /// UnbondingDelegation stores all of a single delegator's unbonding bonds /// for a single validator in an time-ordered list. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.UnbondingDelegation")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.UnbondingDelegationUnbondingDelegation")] pub struct UnbondingDelegation { /// delegator_address is the bech32-encoded address of the delegator. #[prost(string, tag = "1")] @@ -282,17 +293,20 @@ pub struct UnbondingDelegation { pub entries: ::prost::alloc::vec::Vec, } /// UnbondingDelegationEntry defines an unbonding object with relevant metadata. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.UnbondingDelegationEntry")] +#[proto_message( + type_url = "/cosmos.staking.v1beta1.UnbondingDelegationEntryUnbondingDelegationEntry" +)] pub struct UnbondingDelegationEntry { /// creation_height is the height which the unbonding took place. #[prost(int64, tag = "1")] @@ -312,17 +326,18 @@ pub struct UnbondingDelegationEntry { pub balance: ::prost::alloc::string::String, } /// RedelegationEntry defines a redelegation object with relevant metadata. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationEntry")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationEntryRedelegationEntry")] pub struct RedelegationEntry { /// creation_height defines the height which the redelegation took place. #[prost(int64, tag = "1")] @@ -343,17 +358,18 @@ pub struct RedelegationEntry { } /// Redelegation contains the list of a particular delegator's redelegating bonds /// from a particular source validator to a particular destination validator. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Redelegation")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationRedelegation")] pub struct Redelegation { /// delegator_address is the bech32-encoded address of the delegator. #[prost(string, tag = "1")] @@ -371,17 +387,18 @@ pub struct Redelegation { pub entries: ::prost::alloc::vec::Vec, } /// Params defines the parameters for the staking module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Params")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.ParamsParams")] pub struct Params { /// unbonding_time is the time duration of unbonding. #[prost(message, optional, tag = "1")] @@ -419,17 +436,18 @@ pub struct Params { } /// DelegationResponse is equivalent to Delegation except that it contains a /// balance in addition to shares which is more suitable for client responses. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DelegationResponse")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DelegationResponseDelegationResponse")] pub struct DelegationResponse { #[prost(message, optional, tag = "1")] pub delegation: ::core::option::Option, @@ -439,17 +457,20 @@ pub struct DelegationResponse { /// RedelegationEntryResponse is equivalent to a RedelegationEntry except that it /// contains a balance in addition to shares which is more suitable for client /// responses. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationEntryResponse")] +#[proto_message( + type_url = "/cosmos.staking.v1beta1.RedelegationEntryResponseRedelegationEntryResponse" +)] pub struct RedelegationEntryResponse { #[prost(message, optional, tag = "1")] pub redelegation_entry: ::core::option::Option, @@ -459,17 +480,18 @@ pub struct RedelegationEntryResponse { /// RedelegationResponse is equivalent to a Redelegation except that its entries /// contain a balance in addition to shares which is more suitable for client /// responses. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationResponse")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationResponseRedelegationResponse")] pub struct RedelegationResponse { #[prost(message, optional, tag = "1")] pub redelegation: ::core::option::Option, @@ -478,17 +500,18 @@ pub struct RedelegationResponse { } /// Pool is used for tracking bonded and not-bonded token supply of the bond /// denomination. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.Pool")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.PoolPool")] pub struct Pool { #[prost(string, tag = "1")] pub not_bonded_tokens: ::prost::alloc::string::String, @@ -498,6 +521,7 @@ pub struct Pool { /// BondStatus is the status of a validator. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] pub enum BondStatus { /// UNSPECIFIED defines an invalid validator status. Unspecified = 0, @@ -508,3 +532,292 @@ pub enum BondStatus { /// BONDED defines a validator that is bonded. Bonded = 3, } +impl BondStatus { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + BondStatus::Unspecified => "BOND_STATUS_UNSPECIFIED", + BondStatus::Unbonded => "BOND_STATUS_UNBONDED", + BondStatus::Unbonding => "BOND_STATUS_UNBONDING", + BondStatus::Bonded => "BOND_STATUS_BONDED", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "BOND_STATUS_UNSPECIFIED" => Some(Self::Unspecified), + "BOND_STATUS_UNBONDED" => Some(Self::Unbonded), + "BOND_STATUS_UNBONDING" => Some(Self::Unbonding), + "BOND_STATUS_BONDED" => Some(Self::Bonded), + _ => None, + } + } +} +/// GenesisState defines the staking module's 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 = "/cosmos.staking.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of related to deposit. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// last_total_power tracks the total amounts of bonded tokens recorded during + /// the previous end block. + #[prost(bytes = "vec", tag = "2")] + pub last_total_power: ::prost::alloc::vec::Vec, + /// last_validator_powers is a special index that provides a historical list + /// of the last-block's bonded validators. + #[prost(message, repeated, tag = "3")] + pub last_validator_powers: ::prost::alloc::vec::Vec, + /// delegations defines the validator set at genesis. + #[prost(message, repeated, tag = "4")] + pub validators: ::prost::alloc::vec::Vec, + /// delegations defines the delegations active at genesis. + #[prost(message, repeated, tag = "5")] + pub delegations: ::prost::alloc::vec::Vec, + /// unbonding_delegations defines the unbonding delegations active at genesis. + #[prost(message, repeated, tag = "6")] + pub unbonding_delegations: ::prost::alloc::vec::Vec, + /// redelegations defines the redelegations active at genesis. + #[prost(message, repeated, tag = "7")] + pub redelegations: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "8")] + pub exported: bool, +} +/// LastValidatorPower required for validator set update logic. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.LastValidatorPower")] +pub struct LastValidatorPower { + /// address is the address of the validator. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// power defines the power of the validator. + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub power: i64, +} +/// MsgCreateValidator defines a SDK message for creating a new validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.MsgCreateValidator")] +pub struct MsgCreateValidator { + #[prost(message, optional, tag = "1")] + pub description: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub commission: ::core::option::Option, + #[prost(string, tag = "3")] + pub min_self_delegation: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub validator_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub pubkey: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub value: ::core::option::Option, +} +/// MsgCreateValidatorResponse defines the Msg/CreateValidator response 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 = "/cosmos.staking.v1beta1.MsgCreateValidatorResponse")] +pub struct MsgCreateValidatorResponse {} +/// MsgEditValidator defines a SDK message for editing an existing validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.MsgEditValidator")] +pub struct MsgEditValidator { + #[prost(message, optional, tag = "1")] + pub description: ::core::option::Option, + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + /// We pass a reference to the new commission rate and min self delegation as + /// it's not mandatory to update. If not updated, the deserialized rate will be + /// zero with no way to distinguish if an update was intended. + /// REF: #2373 + #[prost(string, tag = "3")] + pub commission_rate: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub min_self_delegation: ::prost::alloc::string::String, +} +/// MsgEditValidatorResponse defines the Msg/EditValidator response 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 = "/cosmos.staking.v1beta1.MsgEditValidatorResponse")] +pub struct MsgEditValidatorResponse {} +/// MsgDelegate defines a SDK message for performing a delegation of coins +/// from a delegator to a validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.MsgDelegate")] +pub struct MsgDelegate { + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub amount: ::core::option::Option, +} +/// MsgDelegateResponse defines the Msg/Delegate response 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 = "/cosmos.staking.v1beta1.MsgDelegateResponse")] +pub struct MsgDelegateResponse {} +/// MsgBeginRedelegate defines a SDK message for performing a redelegation +/// of coins from a delegator and source validator to a destination validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.MsgBeginRedelegate")] +pub struct MsgBeginRedelegate { + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub validator_src_address: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub validator_dst_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub amount: ::core::option::Option, +} +/// MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response 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 = "/cosmos.staking.v1beta1.MsgBeginRedelegateResponse")] +pub struct MsgBeginRedelegateResponse { + #[prost(message, optional, tag = "1")] + pub completion_time: ::core::option::Option, +} +/// MsgUndelegate defines a SDK message for performing an undelegation from a +/// delegate and a validator. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.MsgUndelegate")] +pub struct MsgUndelegate { + #[prost(string, tag = "1")] + pub delegator_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub validator_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "3")] + pub amount: ::core::option::Option, +} +/// MsgUndelegateResponse defines the Msg/Undelegate response 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 = "/cosmos.staking.v1beta1.MsgUndelegateResponse")] +pub struct MsgUndelegateResponse { + #[prost(message, optional, tag = "1")] + pub completion_time: ::core::option::Option, +} diff --git a/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs index 0f875fba..8e02f9bd 100644 --- a/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/accum/v1beta1.rs @@ -1,12 +1,13 @@ use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.accum.v1beta1.AccumulatorContent")] @@ -16,26 +17,28 @@ pub struct AccumulatorContent { #[prost(string, tag = "2")] pub total_shares: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.accum.v1beta1.Options")] pub struct Options {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.accum.v1beta1.Record")] diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs deleted file mode 100644 index 654b781d..00000000 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs +++ /dev/null @@ -1,21 +0,0 @@ -pub mod v1beta1; -use osmosis_std_derive::CosmwasmExt; -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] -pub struct Params { - /// authorized_tick_spacing is an array of uint64s that represents the tick - /// spacing values concentrated-liquidity pools can be created with. For - /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools - /// to be created with tick spacing of 1, 10, or 30. - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub authorized_tick_spacing: ::prost::alloc::vec::Vec, -} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs deleted file mode 100644 index dfd00ded..00000000 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ /dev/null @@ -1,609 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// ===================== MsgCreatePosition -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] -pub struct MsgCreatePosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "5")] - pub token_desired0: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub token_desired1: ::core::option::Option, - #[prost(string, tag = "7")] - pub token_min_amount0: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub token_min_amount1: ::prost::alloc::string::String, - #[prost(message, optional, tag = "9")] - pub frozen_until: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] -pub struct MsgCreatePositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub liquidity_created: ::prost::alloc::string::String, -} -/// ===================== MsgWithdrawPosition -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] -pub struct MsgWithdrawPosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(string, tag = "5")] - pub liquidity_amount: ::prost::alloc::string::String, - #[prost(message, optional, tag = "6")] - pub frozen_until: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] -pub struct MsgWithdrawPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, -} -/// ===================== MsgCollectFees -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] -pub struct MsgCollectFees { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] -pub struct MsgCollectFeesResponse { - #[prost(message, repeated, tag = "1")] - pub token_out: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] -pub struct TickInfo { - #[prost(string, tag = "1")] - pub liquidity_gross: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub liquidity_net: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub fee_growth_outside: - ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Pool")] -pub struct Pool { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// Amount of total liquidity - #[prost(string, tag = "3")] - pub liquidity: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub token0: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub token1: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub current_sqrt_price: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub current_tick: ::prost::alloc::string::String, - /// tick_spacing must be one of the authorized_tick_spacing values set in the - /// concentrated-liquidity parameters - #[prost(uint64, tag = "8")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_spacing: u64, - #[prost(string, tag = "9")] - pub precision_factor_at_price_one: ::prost::alloc::string::String, - /// swap_fee is the ratio that is charged on the amount of token in. - #[prost(string, tag = "10")] - pub swap_fee: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] -pub struct Position { - #[prost(string, tag = "1")] - pub liquidity: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub frozen_until: ::core::option::Option, -} -/// ===================== MsgCreateConcentratedPool -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] -pub struct MsgCreateConcentratedPool { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub denom0: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub denom1: ::prost::alloc::string::String, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_spacing: u64, - #[prost(string, tag = "5")] - pub precision_factor_at_price_one: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub swap_fee: ::prost::alloc::string::String, -} -/// Returns a unique poolID to identify the pool with. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" -)] -pub struct MsgCreateConcentratedPoolResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, -} -///=============================== Positions -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", - response_type = QueryUserPositionsResponse -)] -pub struct QueryUserPositionsRequest { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] -pub struct QueryUserPositionsResponse { - #[prost(message, repeated, tag = "1")] - pub positions: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullPositionByOwnerResult")] -pub struct FullPositionByOwnerResult { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "4")] - pub frozen_until: ::core::option::Option, - #[prost(string, tag = "5")] - pub liquidity: ::prost::alloc::string::String, -} -///=============================== Pool -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Pool", - response_type = QueryPoolResponse -)] -pub struct QueryPoolRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolResponse")] -pub struct QueryPoolResponse { - #[prost(message, optional, tag = "1")] - pub pool: ::core::option::Option, -} -///=============================== Pools -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", - response_type = QueryPoolsResponse -)] -pub struct QueryPoolsRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: - ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] -pub struct QueryPoolsResponse { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: - ::core::option::Option, -} -///=============================== ModuleParams -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", - response_type = QueryParamsResponse -)] -pub struct QueryParamsRequest {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsResponse")] -pub struct QueryParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -///=============================== LiquidityDepthsForRange -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeRequest" -)] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityDepthsForRange", - response_type = QueryLiquidityDepthsForRangeResponse -)] -pub struct QueryLiquidityDepthsForRangeRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub lower_tick: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub upper_tick: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeResponse" -)] -pub struct QueryLiquidityDepthsForRangeResponse { - #[prost(message, repeated, tag = "1")] - pub liquidity_depths: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepth")] -pub struct LiquidityDepth { - #[prost(string, tag = "1")] - pub liquidity_net: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub tick_index: ::prost::alloc::string::String, -} -/// GenesisState defines the concentrated liquidity module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub pools: ::prost::alloc::vec::Vec, -} -pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn pools( - &self, - pagination: ::core::option::Option< - super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - ) -> Result { - QueryPoolsRequest { pagination }.query(self.querier) - } - pub fn pool(&self, pool_id: u64) -> Result { - QueryPoolRequest { pool_id }.query(self.querier) - } - pub fn params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } - pub fn liquidity_depths_for_range( - &self, - pool_id: u64, - lower_tick: ::prost::alloc::string::String, - upper_tick: ::prost::alloc::string::String, - ) -> Result { - QueryLiquidityDepthsForRangeRequest { - pool_id, - lower_tick, - upper_tick, - } - .query(self.querier) - } - pub fn user_positions( - &self, - address: ::prost::alloc::string::String, - ) -> Result { - QueryUserPositionsRequest { address }.query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs index a73d777d..dd5d1abe 100644 --- a/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/downtimedetector/v1beta1.rs @@ -1,6 +1,7 @@ use osmosis_std_derive::CosmwasmExt; #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] pub enum Downtime { Duration30s = 0, Duration1m = 1, @@ -28,14 +29,81 @@ pub enum Downtime { Duration36h = 23, Duration48h = 24, } +impl Downtime { + /// 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 { + Downtime::Duration30s => "DURATION_30S", + Downtime::Duration1m => "DURATION_1M", + Downtime::Duration2m => "DURATION_2M", + Downtime::Duration3m => "DURATION_3M", + Downtime::Duration4m => "DURATION_4M", + Downtime::Duration5m => "DURATION_5M", + Downtime::Duration10m => "DURATION_10M", + Downtime::Duration20m => "DURATION_20M", + Downtime::Duration30m => "DURATION_30M", + Downtime::Duration40m => "DURATION_40M", + Downtime::Duration50m => "DURATION_50M", + Downtime::Duration1h => "DURATION_1H", + Downtime::Duration15h => "DURATION_1_5H", + Downtime::Duration2h => "DURATION_2H", + Downtime::Duration25h => "DURATION_2_5H", + Downtime::Duration3h => "DURATION_3H", + Downtime::Duration4h => "DURATION_4H", + Downtime::Duration5h => "DURATION_5H", + Downtime::Duration6h => "DURATION_6H", + Downtime::Duration9h => "DURATION_9H", + Downtime::Duration12h => "DURATION_12H", + Downtime::Duration18h => "DURATION_18H", + Downtime::Duration24h => "DURATION_24H", + Downtime::Duration36h => "DURATION_36H", + Downtime::Duration48h => "DURATION_48H", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "DURATION_30S" => Some(Self::Duration30s), + "DURATION_1M" => Some(Self::Duration1m), + "DURATION_2M" => Some(Self::Duration2m), + "DURATION_3M" => Some(Self::Duration3m), + "DURATION_4M" => Some(Self::Duration4m), + "DURATION_5M" => Some(Self::Duration5m), + "DURATION_10M" => Some(Self::Duration10m), + "DURATION_20M" => Some(Self::Duration20m), + "DURATION_30M" => Some(Self::Duration30m), + "DURATION_40M" => Some(Self::Duration40m), + "DURATION_50M" => Some(Self::Duration50m), + "DURATION_1H" => Some(Self::Duration1h), + "DURATION_1_5H" => Some(Self::Duration15h), + "DURATION_2H" => Some(Self::Duration2h), + "DURATION_2_5H" => Some(Self::Duration25h), + "DURATION_3H" => Some(Self::Duration3h), + "DURATION_4H" => Some(Self::Duration4h), + "DURATION_5H" => Some(Self::Duration5h), + "DURATION_6H" => Some(Self::Duration6h), + "DURATION_9H" => Some(Self::Duration9h), + "DURATION_12H" => Some(Self::Duration12h), + "DURATION_18H" => Some(Self::Duration18h), + "DURATION_24H" => Some(Self::Duration24h), + "DURATION_36H" => Some(Self::Duration36h), + "DURATION_48H" => Some(Self::Duration48h), + _ => None, + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.downtimedetector.v1beta1.GenesisDowntimeEntry")] @@ -50,14 +118,15 @@ pub struct GenesisDowntimeEntry { pub last_downtime: ::core::option::Option, } /// GenesisState defines the twap module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.downtimedetector.v1beta1.GenesisState")] @@ -69,14 +138,15 @@ pub struct GenesisState { } /// Query for has it been at least $RECOVERY_DURATION units of time, /// since the chain has been down for $DOWNTIME_DURATION. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -96,14 +166,15 @@ pub struct RecoveredSinceDowntimeOfLengthRequest { #[prost(message, optional, tag = "2")] pub recovery: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( diff --git a/packages/osmosis-std/src/types/osmosis/epochs/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/epochs/v1beta1.rs index b70a948c..07289f7b 100644 --- a/packages/osmosis-std/src/types/osmosis/epochs/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/epochs/v1beta1.rs @@ -1,14 +1,15 @@ use osmosis_std_derive::CosmwasmExt; /// EpochInfo is a struct that describes the data going into /// a timer defined by the x/epochs module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.epochs.v1beta1.EpochInfo")] @@ -70,14 +71,15 @@ pub struct EpochInfo { pub current_epoch_start_height: i64, } /// GenesisState defines the epochs module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.epochs.v1beta1.GenesisState")] @@ -85,14 +87,15 @@ pub struct GenesisState { #[prost(message, repeated, tag = "1")] pub epochs: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.epochs.v1beta1.QueryEpochsInfoRequest")] @@ -101,14 +104,15 @@ pub struct GenesisState { response_type = QueryEpochsInfoResponse )] pub struct QueryEpochsInfoRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.epochs.v1beta1.QueryEpochsInfoResponse")] @@ -116,14 +120,15 @@ pub struct QueryEpochsInfoResponse { #[prost(message, repeated, tag = "1")] pub epochs: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.epochs.v1beta1.QueryCurrentEpochRequest")] @@ -135,14 +140,15 @@ pub struct QueryCurrentEpochRequest { #[prost(string, tag = "1")] pub identifier: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.epochs.v1beta1.QueryCurrentEpochResponse")] diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index c181e530..89247c63 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -1,13 +1,14 @@ use osmosis_std_derive::CosmwasmExt; /// ===================== MsgCreatePool +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgCreateBalancerPool")] @@ -22,14 +23,15 @@ pub struct MsgCreateBalancerPool { pub future_pool_governor: ::prost::alloc::string::String, } /// Returns the poolID +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -43,52 +45,3 @@ pub struct MsgCreateBalancerPoolResponse { )] pub pool_id: u64, } -/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" -)] -pub struct MsgMigrateSharesToFullRangeConcentratedPosition { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub shares_to_migrate: - ::core::option::Option, - /// temporary field, eventually gamm pool should be linked to cl pool - #[prost(uint64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id_entering: u64, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" -)] -pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_created: ::prost::alloc::string::String, -} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index 79ea926d..b13b1546 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -3,14 +3,15 @@ use osmosis_std_derive::CosmwasmExt; /// governance in the future. This params are not managed by the chain /// governance. Instead they will be managed by the token holders of the pool. /// The pool's token holders are specified in future_pool_governor. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.poolmodels.stableswap.v1beta1.PoolParams")] @@ -21,14 +22,15 @@ pub struct PoolParams { pub exit_fee: ::prost::alloc::string::String, } /// Pool is the stableswap Pool struct +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.poolmodels.stableswap.v1beta1.Pool")] @@ -70,14 +72,15 @@ pub struct Pool { pub scaling_factor_controller: ::prost::alloc::string::String, } /// ===================== MsgCreatePool +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.poolmodels.stableswap.v1beta1.MsgCreateStableswapPool")] @@ -97,14 +100,15 @@ pub struct MsgCreateStableswapPool { pub scaling_factor_controller: ::prost::alloc::string::String, } /// Returns a poolID with custom poolName. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -120,14 +124,15 @@ pub struct MsgCreateStableswapPoolResponse { } /// Sender must be the pool's scaling_factor_governor in order for the tx to /// succeed. Adjusts stableswap scaling factors. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -145,14 +150,15 @@ pub struct MsgStableSwapAdjustScalingFactors { #[prost(uint64, repeated, packed = "false", tag = "3")] pub scaling_factors: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index 68fedc43..bdac75ac 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -5,19 +5,20 @@ use osmosis_std_derive::CosmwasmExt; /// the two weights, but more types may be added in the future. /// When these parameters are set, the weight w(t) for pool time `t` is the /// following: -/// t <= start_time: w(t) = initial_pool_weights -/// start_time < t <= start_time + duration: -/// w(t) = initial_pool_weights + (t - start_time) * -/// (target_pool_weights - initial_pool_weights) / (duration) -/// t > start_time + duration: w(t) = target_pool_weights +/// t <= start_time: w(t) = initial_pool_weights +/// start_time < t <= start_time + duration: +/// w(t) = initial_pool_weights + (t - start_time) * +/// (target_pool_weights - initial_pool_weights) / (duration) +/// t > start_time + duration: w(t) = target_pool_weights +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.SmoothWeightChangeParams")] @@ -46,8 +47,8 @@ pub struct SmoothWeightChangeParams { /// (target_pool_weights - initial_pool_weights) / (duration) /// TODO: Work out precision, and decide if this is good to add /// repeated PoolAsset poolWeightSlope = 5 [ - /// (gogoproto.moretags) = "yaml:\"pool_weight_slope\"", - /// (gogoproto.nullable) = false + /// (gogoproto.moretags) = "yaml:\"pool_weight_slope\"", + /// (gogoproto.nullable) = false /// ]; #[prost(message, repeated, tag = "4")] pub target_pool_weights: ::prost::alloc::vec::Vec, @@ -56,14 +57,15 @@ pub struct SmoothWeightChangeParams { /// governance in the future. This params are not managed by the chain /// governance. Instead they will be managed by the token holders of the pool. /// The pool's token holders are specified in future_pool_governor. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.PoolParams")] @@ -79,14 +81,15 @@ pub struct PoolParams { /// token in the pool, and its balancer weight. /// This is an awkward packaging of data, /// and should be revisited in a future state migration. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.PoolAsset")] @@ -99,14 +102,15 @@ pub struct PoolAsset { #[prost(string, tag = "2")] pub weight: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.Pool")] @@ -144,16 +148,61 @@ pub struct Pool { #[prost(string, tag = "7")] pub total_weight: ::prost::alloc::string::String, } +/// Params holds parameters for the incentives 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 = "/osmosis.gamm.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub pool_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the gamm module's 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 = "/osmosis.gamm.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// will be renamed to next_pool_id in an upcoming version + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_pool_number: u64, + #[prost(message, optional, tag = "3")] + pub params: ::core::option::Option, +} /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgJoinPool")] @@ -171,14 +220,15 @@ pub struct MsgJoinPool { #[prost(message, repeated, tag = "4")] pub token_in_maxs: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgJoinPoolResponse")] @@ -189,14 +239,15 @@ pub struct MsgJoinPoolResponse { pub token_in: ::prost::alloc::vec::Vec, } /// ===================== MsgExitPool +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgExitPool")] @@ -214,14 +265,15 @@ pub struct MsgExitPool { #[prost(message, repeated, tag = "4")] pub token_out_mins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgExitPoolResponse")] @@ -230,14 +282,15 @@ pub struct MsgExitPoolResponse { pub token_out: ::prost::alloc::vec::Vec, } /// ===================== MsgSwapExactAmountIn +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgSwapExactAmountIn")] @@ -251,14 +304,15 @@ pub struct MsgSwapExactAmountIn { #[prost(string, tag = "4")] pub token_out_min_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgSwapExactAmountInResponse")] @@ -266,14 +320,15 @@ pub struct MsgSwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgSwapExactAmountOut")] @@ -287,14 +342,15 @@ pub struct MsgSwapExactAmountOut { #[prost(message, optional, tag = "4")] pub token_out: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgSwapExactAmountOutResponse")] @@ -304,14 +360,15 @@ pub struct MsgSwapExactAmountOutResponse { } /// ===================== MsgJoinSwapExternAmountIn /// TODO: Rename to MsgJoinSwapExactAmountIn +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgJoinSwapExternAmountIn")] @@ -327,20 +384,21 @@ pub struct MsgJoinSwapExternAmountIn { #[prost(message, optional, tag = "3")] pub token_in: ::core::option::Option, /// repeated cosmos.base.v1beta1.Coin tokensIn = 5 [ - /// (gogoproto.moretags) = "yaml:\"tokens_in\"", - /// (gogoproto.nullable) = false + /// (gogoproto.moretags) = "yaml:\"tokens_in\"", + /// (gogoproto.nullable) = false /// ]; #[prost(string, tag = "4")] pub share_out_min_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgJoinSwapExternAmountInResponse")] @@ -349,14 +407,15 @@ pub struct MsgJoinSwapExternAmountInResponse { pub share_out_amount: ::prost::alloc::string::String, } /// ===================== MsgJoinSwapShareAmountOut +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgJoinSwapShareAmountOut")] @@ -376,14 +435,15 @@ pub struct MsgJoinSwapShareAmountOut { #[prost(string, tag = "5")] pub token_in_max_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgJoinSwapShareAmountOutResponse")] @@ -392,14 +452,15 @@ pub struct MsgJoinSwapShareAmountOutResponse { pub token_in_amount: ::prost::alloc::string::String, } /// ===================== MsgExitSwapShareAmountIn +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgExitSwapShareAmountIn")] @@ -419,14 +480,15 @@ pub struct MsgExitSwapShareAmountIn { #[prost(string, tag = "5")] pub token_out_min_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgExitSwapShareAmountInResponse")] @@ -435,14 +497,15 @@ pub struct MsgExitSwapShareAmountInResponse { pub token_out_amount: ::prost::alloc::string::String, } /// ===================== MsgExitSwapExternAmountOut +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgExitSwapExternAmountOut")] @@ -460,14 +523,15 @@ pub struct MsgExitSwapExternAmountOut { #[prost(string, tag = "4")] pub share_in_max_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.MsgExitSwapExternAmountOutResponse")] @@ -475,159 +539,16 @@ pub struct MsgExitSwapExternAmountOutResponse { #[prost(string, tag = "1")] pub share_in_amount: ::prost::alloc::string::String, } -/// Params holds parameters for the incentives module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub pool_creation_fee: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the gamm module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// will be renamed to next_pool_id in an upcoming version - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_pool_number: u64, - #[prost(message, optional, tag = "3")] - pub params: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub migration_records: ::core::option::Option, -} -/// MigrationRecords contains all the links between balancer and concentrated -/// pools -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] -pub struct MigrationRecords { - #[prost(message, repeated, tag = "1")] - pub balancer_to_concentrated_pool_links: - ::prost::alloc::vec::Vec, -} -/// BalancerToConcentratedPoolLink defines a single link between a single -/// balancer pool and a single concentrated liquidity pool. This link is used to -/// allow a balancer pool to migrate to a single canonical full range -/// concentrated liquidity pool position -/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can -/// be linked to a maximum of one balancer pool. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] -pub struct BalancerToConcentratedPoolLink { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub balancer_pool_id: u64, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub cl_pool_id: u64, -} -/// ReplaceMigrationRecordsProposal is a gov Content type for updating the -/// migration records. If a ReplaceMigrationRecordsProposal passes, the -/// proposal’s records override the existing MigrationRecords set in the module. -/// Each record specifies a single connection between a single balancer pool and -/// a single concentrated pool. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] -pub struct ReplaceMigrationRecordsProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub records: ::prost::alloc::vec::Vec, -} -/// For example: if the existing DistrRecords were: -/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] -/// And an UpdateMigrationRecordsProposal includes -/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] -/// This would leave Balancer 1 record, delete Balancer 2 record, -/// Edit Balancer 3 record, and Add Balancer 4 record -/// The result MigrationRecords in state would be: -/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] -pub struct UpdateMigrationRecordsProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub records: ::prost::alloc::vec::Vec, -} -///=============================== Pool +/// =============================== Pool +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolRequest")] @@ -643,14 +564,15 @@ pub struct QueryPoolRequest { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolResponse")] @@ -658,15 +580,16 @@ pub struct QueryPoolResponse { #[prost(message, optional, tag = "1")] pub pool: ::core::option::Option, } -///=============================== Pools +/// =============================== Pools +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsRequest")] @@ -680,14 +603,15 @@ pub struct QueryPoolsRequest { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsResponse")] @@ -699,15 +623,16 @@ pub struct QueryPoolsResponse { pub pagination: ::core::option::Option, } -///=============================== NumPools +/// =============================== NumPools +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryNumPoolsRequest")] @@ -717,14 +642,15 @@ pub struct QueryPoolsResponse { )] #[deprecated] pub struct QueryNumPoolsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryNumPoolsResponse")] @@ -737,15 +663,16 @@ pub struct QueryNumPoolsResponse { )] pub num_pools: u64, } -///=============================== PoolType +/// =============================== PoolType +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolTypeRequest")] @@ -761,14 +688,15 @@ pub struct QueryPoolTypeRequest { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolTypeResponse")] @@ -776,15 +704,16 @@ pub struct QueryPoolTypeResponse { #[prost(string, tag = "1")] pub pool_type: ::prost::alloc::string::String, } -///=============================== CalcJoinPoolShares +/// =============================== CalcJoinPoolShares +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolSharesRequest")] @@ -802,14 +731,15 @@ pub struct QueryCalcJoinPoolSharesRequest { #[prost(message, repeated, tag = "2")] pub tokens_in: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolSharesResponse")] @@ -819,15 +749,16 @@ pub struct QueryCalcJoinPoolSharesResponse { #[prost(message, repeated, tag = "2")] pub tokens_out: ::prost::alloc::vec::Vec, } -///=============================== CalcExitPoolCoinsFromShares +/// =============================== CalcExitPoolCoinsFromShares +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcExitPoolCoinsFromSharesRequest")] @@ -845,14 +776,15 @@ pub struct QueryCalcExitPoolCoinsFromSharesRequest { #[prost(string, tag = "2")] pub share_in_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcExitPoolCoinsFromSharesResponse")] @@ -860,15 +792,16 @@ pub struct QueryCalcExitPoolCoinsFromSharesResponse { #[prost(message, repeated, tag = "1")] pub tokens_out: ::prost::alloc::vec::Vec, } -///=============================== PoolParams +/// =============================== PoolParams +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolParamsRequest")] @@ -884,14 +817,15 @@ pub struct QueryPoolParamsRequest { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolParamsResponse")] @@ -899,15 +833,16 @@ pub struct QueryPoolParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } -///=============================== PoolLiquidity +/// =============================== PoolLiquidity +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryTotalPoolLiquidityRequest")] @@ -923,14 +858,15 @@ pub struct QueryTotalPoolLiquidityRequest { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryTotalPoolLiquidityResponse")] @@ -938,15 +874,16 @@ pub struct QueryTotalPoolLiquidityResponse { #[prost(message, repeated, tag = "1")] pub liquidity: ::prost::alloc::vec::Vec, } -///=============================== TotalShares +/// =============================== TotalShares +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryTotalSharesRequest")] @@ -962,14 +899,15 @@ pub struct QueryTotalSharesRequest { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryTotalSharesResponse")] @@ -977,15 +915,16 @@ pub struct QueryTotalSharesResponse { #[prost(message, optional, tag = "1")] pub total_shares: ::core::option::Option, } -///=============================== CalcJoinPoolNoSwapShares +/// =============================== CalcJoinPoolNoSwapShares +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesRequest")] @@ -1003,14 +942,15 @@ pub struct QueryCalcJoinPoolNoSwapSharesRequest { #[prost(message, repeated, tag = "2")] pub tokens_in: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryCalcJoinPoolNoSwapSharesResponse")] @@ -1022,14 +962,15 @@ pub struct QueryCalcJoinPoolNoSwapSharesResponse { } /// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice /// query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySpotPriceRequest")] @@ -1050,14 +991,15 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsWithFilterRequest")] @@ -1076,14 +1018,15 @@ pub struct QueryPoolsWithFilterRequest { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolsWithFilterResponse")] @@ -1097,14 +1040,15 @@ pub struct QueryPoolsWithFilterResponse { } /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySpotPriceResponse")] @@ -1114,15 +1058,16 @@ pub struct QuerySpotPriceResponse { #[prost(string, tag = "1")] pub spot_price: ::prost::alloc::string::String, } -///=============================== EstimateSwapExactAmountIn +/// =============================== EstimateSwapExactAmountIn +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySwapExactAmountInRequest")] @@ -1145,14 +1090,15 @@ pub struct QuerySwapExactAmountInRequest { #[prost(message, repeated, tag = "4")] pub routes: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySwapExactAmountInResponse")] @@ -1161,15 +1107,16 @@ pub struct QuerySwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, } -///=============================== EstimateSwapExactAmountOut +/// =============================== EstimateSwapExactAmountOut +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySwapExactAmountOutRequest")] @@ -1192,14 +1139,15 @@ pub struct QuerySwapExactAmountOutRequest { #[prost(string, tag = "4")] pub token_out: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QuerySwapExactAmountOutResponse")] @@ -1208,14 +1156,15 @@ pub struct QuerySwapExactAmountOutResponse { #[prost(string, tag = "1")] pub token_in_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryTotalLiquidityRequest")] @@ -1224,14 +1173,15 @@ pub struct QuerySwapExactAmountOutResponse { response_type = QueryTotalLiquidityResponse )] pub struct QueryTotalLiquidityRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryTotalLiquidityResponse")] diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs index 2159599c..0bfe94aa 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -1,14 +1,15 @@ use osmosis_std_derive::CosmwasmExt; /// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice /// query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceRequest")] @@ -30,14 +31,15 @@ pub struct QuerySpotPriceRequest { } /// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice /// query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] diff --git a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs index 03f9dc99..e36731a1 100644 --- a/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/ibcratelimit/v1beta1.rs @@ -1,13 +1,14 @@ use osmosis_std_derive::CosmwasmExt; /// Params defines the parameters for the ibc-rate-limit module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.Params")] @@ -15,36 +16,56 @@ pub struct Params { #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, } -/// QueryParamsRequest is the request type for the Query/Params RPC method. +/// GenesisState defines the ibc-rate-limit module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsRequest")] +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// ParamsRequest is the request 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 = "/osmosis.ibcratelimit.v1beta1.ParamsRequest")] #[proto_query( path = "/osmosis.ibcratelimit.v1beta1.Query/Params", - response_type = QueryParamsResponse + response_type = ParamsResponse )] -pub struct QueryParamsRequest {} -/// QueryParamsResponse is the response type for the Query/Params RPC method. +pub struct ParamsRequest {} +/// aramsResponse is the 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.QueryParamsResponse")] -pub struct QueryParamsResponse { +#[proto_message(type_url = "/osmosis.ibcratelimit.v1beta1.ParamsResponse")] +pub struct ParamsResponse { /// params defines the parameters of the module. #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, @@ -56,7 +77,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> IbcratelimitQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } - pub fn params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) + pub fn params(&self) -> Result { + ParamsRequest {}.query(self.querier) } } diff --git a/packages/osmosis-std/src/types/osmosis/incentives.rs b/packages/osmosis-std/src/types/osmosis/incentives.rs index c761b0df..1717485c 100644 --- a/packages/osmosis-std/src/types/osmosis/incentives.rs +++ b/packages/osmosis-std/src/types/osmosis/incentives.rs @@ -2,14 +2,15 @@ use osmosis_std_derive::CosmwasmExt; /// Gauge is an object that stores and distributes yields to recipients who /// satisfy certain conditions. Currently gauges support conditions around the /// duration for which a given denom is locked. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.Gauge")] @@ -60,14 +61,15 @@ pub struct Gauge { #[prost(message, repeated, tag = "8")] pub distributed_coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.LockableDurationsInfo")] @@ -76,107 +78,68 @@ pub struct LockableDurationsInfo { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } -/// MsgCreateGauge creates a gague to distribute rewards to users +/// Params holds parameters for the incentives module +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.incentives.MsgCreateGauge")] -pub struct MsgCreateGauge { - /// is_perpetual shows if it's a perpetual or non-perpetual gauge - /// Non-perpetual gauges distribute their tokens equally per epoch while the - /// gauge is in the active period. Perpetual gauges distribute all their tokens - /// at a single time and only distribute their tokens again once the gauge is - /// refilled - #[prost(bool, tag = "1")] - pub is_perpetual: bool, - /// owner is the address of gauge creator - #[prost(string, tag = "2")] - pub owner: ::prost::alloc::string::String, - /// distribute_to show which lock the gauge should distribute to by time - /// duration or by timestamp - #[prost(message, optional, tag = "3")] - pub distribute_to: ::core::option::Option, - /// coins are coin(s) to be distributed by the gauge - #[prost(message, repeated, tag = "4")] - pub coins: ::prost::alloc::vec::Vec, - /// start_time is the distribution start time - #[prost(message, optional, tag = "5")] - pub start_time: ::core::option::Option, - /// num_epochs_paid_over is the number of epochs distribution will be completed - /// over - #[prost(uint64, tag = "6")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub num_epochs_paid_over: u64, +#[proto_message(type_url = "/osmosis.incentives.Params")] +pub struct Params { + /// distr_epoch_identifier is what epoch type distribution will be triggered by + /// (day, week, etc.) + #[prost(string, tag = "1")] + pub distr_epoch_identifier: ::prost::alloc::string::String, } +/// GenesisState defines the incentives module's various parameters when first +/// initialized +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.incentives.MsgCreateGaugeResponse")] -pub struct MsgCreateGaugeResponse {} -/// MsgAddToGauge adds coins to a previously created gauge -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.incentives.MsgAddToGauge")] -pub struct MsgAddToGauge { - /// owner is the gauge owner's address - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - /// gauge_id is the ID of gauge that rewards are getting added to - #[prost(uint64, tag = "2")] +#[proto_message(type_url = "/osmosis.incentives.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// gauges are all gauges that should exist at genesis + #[prost(message, repeated, tag = "2")] + pub gauges: ::prost::alloc::vec::Vec, + /// lockable_durations are all lockup durations that gauges can be locked for + /// in order to recieve incentives + #[prost(message, repeated, tag = "3")] + pub lockable_durations: ::prost::alloc::vec::Vec, + /// last_gauge_id is what the gauge number will increment from when creating + /// the next gauge after genesis + #[prost(uint64, tag = "4")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - pub gauge_id: u64, - /// rewards are the coin(s) to add to gauge - #[prost(message, repeated, tag = "3")] - pub rewards: ::prost::alloc::vec::Vec, + pub last_gauge_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 = "/osmosis.incentives.MsgAddToGaugeResponse")] -pub struct MsgAddToGaugeResponse {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.ModuleToDistributeCoinsRequest")] @@ -185,14 +148,15 @@ pub struct MsgAddToGaugeResponse {} response_type = ModuleToDistributeCoinsResponse )] pub struct ModuleToDistributeCoinsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.ModuleToDistributeCoinsResponse")] @@ -201,14 +165,15 @@ pub struct ModuleToDistributeCoinsResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.GaugeByIDRequest")] @@ -226,14 +191,15 @@ pub struct GaugeByIdRequest { )] pub id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.GaugeByIDResponse")] @@ -242,14 +208,15 @@ pub struct GaugeByIdResponse { #[prost(message, optional, tag = "1")] pub gauge: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.GaugesRequest")] @@ -259,14 +226,15 @@ pub struct GaugesRequest { #[prost(message, optional, tag = "1")] pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.GaugesResponse")] @@ -279,14 +247,15 @@ pub struct GaugesResponse { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.ActiveGaugesRequest")] @@ -299,14 +268,15 @@ pub struct ActiveGaugesRequest { #[prost(message, optional, tag = "1")] pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.ActiveGaugesResponse")] @@ -319,14 +289,15 @@ pub struct ActiveGaugesResponse { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.ActiveGaugesPerDenomRequest")] @@ -342,14 +313,15 @@ pub struct ActiveGaugesPerDenomRequest { #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.ActiveGaugesPerDenomResponse")] @@ -362,14 +334,15 @@ pub struct ActiveGaugesPerDenomResponse { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesRequest")] @@ -382,14 +355,15 @@ pub struct UpcomingGaugesRequest { #[prost(message, optional, tag = "1")] pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesResponse")] @@ -402,14 +376,15 @@ pub struct UpcomingGaugesResponse { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesPerDenomRequest")] @@ -425,14 +400,15 @@ pub struct UpcomingGaugesPerDenomRequest { #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.UpcomingGaugesPerDenomResponse")] @@ -445,14 +421,15 @@ pub struct UpcomingGaugesPerDenomResponse { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.RewardsEstRequest")] @@ -476,14 +453,15 @@ pub struct RewardsEstRequest { )] pub end_epoch: i64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.RewardsEstResponse")] @@ -493,14 +471,15 @@ pub struct RewardsEstResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.QueryLockableDurationsRequest")] @@ -509,14 +488,15 @@ pub struct RewardsEstResponse { response_type = QueryLockableDurationsResponse )] pub struct QueryLockableDurationsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.incentives.QueryLockableDurationsResponse")] @@ -525,57 +505,103 @@ pub struct QueryLockableDurationsResponse { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } -/// Params holds parameters for the incentives module +/// MsgCreateGauge creates a gague to distribute rewards to users +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.incentives.Params")] -pub struct Params { - /// distr_epoch_identifier is what epoch type distribution will be triggered by - /// (day, week, etc.) - #[prost(string, tag = "1")] - pub distr_epoch_identifier: ::prost::alloc::string::String, +#[proto_message(type_url = "/osmosis.incentives.MsgCreateGauge")] +pub struct MsgCreateGauge { + /// is_perpetual shows if it's a perpetual or non-perpetual gauge + /// Non-perpetual gauges distribute their tokens equally per epoch while the + /// gauge is in the active period. Perpetual gauges distribute all their tokens + /// at a single time and only distribute their tokens again once the gauge is + /// refilled + #[prost(bool, tag = "1")] + pub is_perpetual: bool, + /// owner is the address of gauge creator + #[prost(string, tag = "2")] + pub owner: ::prost::alloc::string::String, + /// distribute_to show which lock the gauge should distribute to by time + /// duration or by timestamp + #[prost(message, optional, tag = "3")] + pub distribute_to: ::core::option::Option, + /// coins are coin(s) to be distributed by the gauge + #[prost(message, repeated, tag = "4")] + pub coins: ::prost::alloc::vec::Vec, + /// start_time is the distribution start time + #[prost(message, optional, tag = "5")] + pub start_time: ::core::option::Option, + /// num_epochs_paid_over is the number of epochs distribution will be completed + /// over + #[prost(uint64, tag = "6")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub num_epochs_paid_over: u64, } -/// GenesisState defines the incentives module's various parameters when first -/// initialized +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.incentives.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// gauges are all gauges that should exist at genesis - #[prost(message, repeated, tag = "2")] - pub gauges: ::prost::alloc::vec::Vec, - /// lockable_durations are all lockup durations that gauges can be locked for - /// in order to recieve incentives - #[prost(message, repeated, tag = "3")] - pub lockable_durations: ::prost::alloc::vec::Vec, - /// last_gauge_id is what the gauge number will increment from when creating - /// the next gauge after genesis - #[prost(uint64, tag = "4")] +#[proto_message(type_url = "/osmosis.incentives.MsgCreateGaugeResponse")] +pub struct MsgCreateGaugeResponse {} +/// MsgAddToGauge adds coins to a previously created gauge +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.incentives.MsgAddToGauge")] +pub struct MsgAddToGauge { + /// owner is the gauge owner's address + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + /// gauge_id is the ID of gauge that rewards are getting added to + #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - pub last_gauge_id: u64, + pub gauge_id: u64, + /// rewards are the coin(s) to add to gauge + #[prost(message, repeated, tag = "3")] + pub rewards: ::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 = "/osmosis.incentives.MsgAddToGaugeResponse")] +pub struct MsgAddToGaugeResponse {} pub struct IncentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index 89aa72e0..c6adb51f 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -4,14 +4,15 @@ use osmosis_std_derive::CosmwasmExt; /// unlock time and the number of coins locked. A state of a period lock is /// created upon lock creation, and deleted once the lock has been matured after /// the `duration` has passed since unbonding started. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.PeriodLock")] @@ -46,14 +47,15 @@ pub struct PeriodLock { /// QueryCondition is a struct used for querying locks upon different conditions. /// Duration field and timestamp fields could be optional, depending on the /// LockQueryType. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.QueryCondition")] @@ -83,14 +85,15 @@ pub struct QueryCondition { /// original denom and synthetic suffix. At the time of synthetic lockup creation /// and deletion, accumulation store is also being updated and on querier side, /// they can query as freely as native lockup. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.SyntheticLock")] @@ -120,230 +123,81 @@ pub struct SyntheticLock { /// either be by duration or start time of the lock. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] pub enum LockQueryType { ByDuration = 0, ByTime = 1, } -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgLockTokens")] -pub struct MsgLockTokens { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub duration: ::core::option::Option, - #[prost(message, repeated, tag = "3")] - pub coins: ::prost::alloc::vec::Vec, +impl LockQueryType { + /// 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 { + LockQueryType::ByDuration => "ByDuration", + LockQueryType::ByTime => "ByTime", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ByDuration" => Some(Self::ByDuration), + "ByTime" => Some(Self::ByTime), + _ => None, + } + } } +/// GenesisState defines the lockup module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.lockup.MsgLockTokensResponse")] -pub struct MsgLockTokensResponse { +#[proto_message(type_url = "/osmosis.lockup.GenesisState")] +pub struct GenesisState { #[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, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgBeginUnlockingAll")] -pub struct MsgBeginUnlockingAll { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgBeginUnlockingAllResponse")] -pub struct MsgBeginUnlockingAllResponse { - #[prost(message, repeated, tag = "1")] - pub unlocks: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgBeginUnlocking")] -pub struct MsgBeginUnlocking { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// Amount of unlocking coins. Unlock all if not set. - #[prost(message, repeated, tag = "3")] - pub coins: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgBeginUnlockingResponse")] -pub struct MsgBeginUnlockingResponse { - #[prost(bool, tag = "1")] - pub success: bool, -} -/// MsgExtendLockup extends the existing lockup's duration. -/// The new duration is longer than the original. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgExtendLockup")] -pub struct MsgExtendLockup { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// duration to be set. fails if lower than the current duration, or is - /// unlocking - #[prost(message, optional, tag = "3")] - pub duration: ::core::option::Option, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgExtendLockupResponse")] -pub struct MsgExtendLockupResponse { - #[prost(bool, tag = "1")] - pub success: bool, -} -/// MsgForceUnlock unlocks locks immediately for -/// addresses registered via governance. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlock")] -pub struct MsgForceUnlock { - #[prost(string, tag = "1")] - pub owner: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// Amount of unlocking coins. Unlock all if not set. + pub last_lock_id: u64, + #[prost(message, repeated, tag = "2")] + pub locks: ::prost::alloc::vec::Vec, #[prost(message, repeated, tag = "3")] - pub coins: ::prost::alloc::vec::Vec, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlockResponse")] -pub struct MsgForceUnlockResponse { - #[prost(bool, tag = "1")] - pub success: bool, + pub synthetic_locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.Params")] pub struct Params { #[prost(string, repeated, tag = "1")] pub force_unlock_allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag = "2")] - pub non_owner_force_unlock_allowed_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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.ModuleBalanceRequest")] @@ -352,14 +206,15 @@ pub struct Params { response_type = ModuleBalanceResponse )] pub struct ModuleBalanceRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.ModuleBalanceResponse")] @@ -367,14 +222,15 @@ pub struct ModuleBalanceResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.ModuleLockedAmountRequest")] @@ -383,14 +239,15 @@ pub struct ModuleBalanceResponse { response_type = ModuleLockedAmountResponse )] pub struct ModuleLockedAmountRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.ModuleLockedAmountResponse")] @@ -398,14 +255,15 @@ pub struct ModuleLockedAmountResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountUnlockableCoinsRequest")] @@ -417,14 +275,15 @@ pub struct AccountUnlockableCoinsRequest { #[prost(string, tag = "1")] pub owner: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountUnlockableCoinsResponse")] @@ -432,14 +291,15 @@ pub struct AccountUnlockableCoinsResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountUnlockingCoinsRequest")] @@ -451,14 +311,15 @@ pub struct AccountUnlockingCoinsRequest { #[prost(string, tag = "1")] pub owner: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountUnlockingCoinsResponse")] @@ -466,14 +327,15 @@ pub struct AccountUnlockingCoinsResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedCoinsRequest")] @@ -485,14 +347,15 @@ pub struct AccountLockedCoinsRequest { #[prost(string, tag = "1")] pub owner: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedCoinsResponse")] @@ -500,14 +363,15 @@ pub struct AccountLockedCoinsResponse { #[prost(message, repeated, tag = "1")] pub coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedPastTimeRequest")] @@ -521,14 +385,15 @@ pub struct AccountLockedPastTimeRequest { #[prost(message, optional, tag = "2")] pub timestamp: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedPastTimeResponse")] @@ -536,14 +401,15 @@ pub struct AccountLockedPastTimeResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedPastTimeNotUnlockingOnlyRequest")] @@ -557,14 +423,15 @@ pub struct AccountLockedPastTimeNotUnlockingOnlyRequest { #[prost(message, optional, tag = "2")] pub timestamp: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedPastTimeNotUnlockingOnlyResponse")] @@ -572,14 +439,15 @@ pub struct AccountLockedPastTimeNotUnlockingOnlyResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountUnlockedBeforeTimeRequest")] @@ -593,14 +461,15 @@ pub struct AccountUnlockedBeforeTimeRequest { #[prost(message, optional, tag = "2")] pub timestamp: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountUnlockedBeforeTimeResponse")] @@ -608,14 +477,15 @@ pub struct AccountUnlockedBeforeTimeResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedPastTimeDenomRequest")] @@ -631,14 +501,15 @@ pub struct AccountLockedPastTimeDenomRequest { #[prost(string, tag = "3")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedPastTimeDenomResponse")] @@ -646,14 +517,15 @@ pub struct AccountLockedPastTimeDenomResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.LockedDenomRequest")] @@ -667,14 +539,15 @@ pub struct LockedDenomRequest { #[prost(message, optional, tag = "2")] pub duration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.LockedDenomResponse")] @@ -682,14 +555,15 @@ pub struct LockedDenomResponse { #[prost(string, tag = "1")] 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.LockedRequest")] @@ -702,14 +576,15 @@ pub struct LockedRequest { )] pub lock_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.LockedResponse")] @@ -717,14 +592,52 @@ pub struct LockedResponse { #[prost(message, optional, tag = "1")] pub lock: ::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 = "/osmosis.lockup.NextLockIDRequest")] +#[proto_query( + path = "/osmosis.lockup.Query/NextLockID", + response_type = NextLockIdResponse +)] +pub struct NextLockIdRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.NextLockIDResponse")] +pub struct NextLockIdResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.SyntheticLockupsByLockupIDRequest")] @@ -740,14 +653,15 @@ pub struct SyntheticLockupsByLockupIdRequest { )] pub lock_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.SyntheticLockupsByLockupIDResponse")] @@ -755,14 +669,15 @@ pub struct SyntheticLockupsByLockupIdResponse { #[prost(message, repeated, tag = "1")] pub synthetic_locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedLongerDurationRequest")] @@ -776,14 +691,15 @@ pub struct AccountLockedLongerDurationRequest { #[prost(message, optional, tag = "2")] pub duration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedLongerDurationResponse")] @@ -791,14 +707,15 @@ pub struct AccountLockedLongerDurationResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedDurationRequest")] @@ -812,14 +729,15 @@ pub struct AccountLockedDurationRequest { #[prost(message, optional, tag = "2")] pub duration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedDurationResponse")] @@ -827,14 +745,15 @@ pub struct AccountLockedDurationResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedLongerDurationNotUnlockingOnlyRequest")] @@ -848,14 +767,15 @@ pub struct AccountLockedLongerDurationNotUnlockingOnlyRequest { #[prost(message, optional, tag = "2")] pub duration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedLongerDurationNotUnlockingOnlyResponse")] @@ -863,14 +783,15 @@ pub struct AccountLockedLongerDurationNotUnlockingOnlyResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedLongerDurationDenomRequest")] @@ -886,14 +807,15 @@ pub struct AccountLockedLongerDurationDenomRequest { #[prost(string, tag = "3")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.AccountLockedLongerDurationDenomResponse")] @@ -901,14 +823,15 @@ pub struct AccountLockedLongerDurationDenomResponse { #[prost(message, repeated, tag = "1")] pub locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.QueryParamsRequest")] @@ -917,14 +840,15 @@ pub struct AccountLockedLongerDurationDenomResponse { 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.lockup.QueryParamsResponse")] @@ -932,29 +856,215 @@ pub struct QueryParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } -/// GenesisState defines the lockup module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.lockup.GenesisState")] -pub struct GenesisState { +#[proto_message(type_url = "/osmosis.lockup.MsgLockTokens")] +pub struct MsgLockTokens { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub duration: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub coins: ::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 = "/osmosis.lockup.MsgLockTokensResponse")] +pub struct MsgLockTokensResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - pub last_lock_id: u64, - #[prost(message, repeated, tag = "2")] - pub locks: ::prost::alloc::vec::Vec, + pub 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 = "/osmosis.lockup.MsgBeginUnlockingAll")] +pub struct MsgBeginUnlockingAll { + #[prost(string, tag = "1")] + pub owner: ::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 = "/osmosis.lockup.MsgBeginUnlockingAllResponse")] +pub struct MsgBeginUnlockingAllResponse { + #[prost(message, repeated, tag = "1")] + pub unlocks: ::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 = "/osmosis.lockup.MsgBeginUnlocking")] +pub struct MsgBeginUnlocking { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of unlocking coins. Unlock all if not set. #[prost(message, repeated, tag = "3")] - pub synthetic_locks: ::prost::alloc::vec::Vec, + pub coins: ::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 = "/osmosis.lockup.MsgBeginUnlockingResponse")] +pub struct MsgBeginUnlockingResponse { + #[prost(bool, tag = "1")] + pub success: bool, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub unlocking_lock_id: u64, +} +/// MsgExtendLockup extends the existing lockup's duration. +/// The new duration is longer than the original. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.MsgExtendLockup")] +pub struct MsgExtendLockup { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// duration to be set. fails if lower than the current duration, or is + /// unlocking + #[prost(message, optional, tag = "3")] + pub duration: ::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 = "/osmosis.lockup.MsgExtendLockupResponse")] +pub struct MsgExtendLockupResponse { + #[prost(bool, tag = "1")] + pub success: bool, +} +/// MsgForceUnlock unlocks locks immediately for +/// addresses registered via governance. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.lockup.MsgForceUnlock")] +pub struct MsgForceUnlock { + #[prost(string, tag = "1")] + pub owner: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of unlocking coins. Unlock all if not set. + #[prost(message, repeated, tag = "3")] + pub coins: ::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 = "/osmosis.lockup.MsgForceUnlockResponse")] +pub struct MsgForceUnlockResponse { + #[prost(bool, tag = "1")] + pub success: bool, } pub struct LockupQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, @@ -1033,6 +1143,9 @@ impl<'a, Q: cosmwasm_std::CustomQuery> LockupQuerier<'a, Q> { pub fn locked_by_id(&self, lock_id: u64) -> Result { LockedRequest { lock_id }.query(self.querier) } + pub fn next_lock_id(&self) -> Result { + NextLockIdRequest {}.query(self.querier) + } pub fn synthetic_lockups_by_lockup_id( &self, lock_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs index f17f5bc2..eb54eaee 100644 --- a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs @@ -1,13 +1,14 @@ use osmosis_std_derive::CosmwasmExt; /// Minter represents the minting state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.Minter")] @@ -19,14 +20,15 @@ pub struct Minter { /// WeightedAddress represents an address with a weight assigned to it. /// The weight is used to determine the proportion of the total minted /// tokens to be minted to the address. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.WeightedAddress")] @@ -39,14 +41,15 @@ pub struct WeightedAddress { /// DistributionProportions defines the distribution proportions of the minted /// denom. In other words, defines which stakeholders will receive the minted /// denoms and how much. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.DistributionProportions")] @@ -69,14 +72,15 @@ pub struct DistributionProportions { pub community_pool: ::prost::alloc::string::String, } /// Params holds parameters for the x/mint module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.Params")] @@ -122,15 +126,45 @@ pub struct Params { )] pub minting_rewards_distribution_start_epoch: i64, } +/// GenesisState defines the mint module's 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 = "/osmosis.mint.v1beta1.GenesisState")] +pub struct GenesisState { + /// minter is an abstraction for holding current rewards information. + #[prost(message, optional, tag = "1")] + pub minter: ::core::option::Option, + /// params defines all the paramaters of the mint module. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, + /// reduction_started_epoch is the first epoch in which the reduction of mint + /// begins. + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub reduction_started_epoch: i64, +} /// QueryParamsRequest is the request 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.QueryParamsRequest")] @@ -140,14 +174,15 @@ pub struct Params { )] pub struct QueryParamsRequest {} /// QueryParamsResponse is the 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.QueryParamsResponse")] @@ -158,14 +193,15 @@ pub struct QueryParamsResponse { } /// QueryEpochProvisionsRequest is the request type for the /// Query/EpochProvisions RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.QueryEpochProvisionsRequest")] @@ -176,14 +212,15 @@ pub struct QueryParamsResponse { pub struct QueryEpochProvisionsRequest {} /// QueryEpochProvisionsResponse is the response type for the /// Query/EpochProvisions RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.mint.v1beta1.QueryEpochProvisionsResponse")] @@ -192,34 +229,6 @@ pub struct QueryEpochProvisionsResponse { #[prost(bytes = "vec", tag = "1")] pub epoch_provisions: ::prost::alloc::vec::Vec, } -/// GenesisState defines the mint module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.mint.v1beta1.GenesisState")] -pub struct GenesisState { - /// minter is an abstraction for holding current rewards information. - #[prost(message, optional, tag = "1")] - pub minter: ::core::option::Option, - /// params defines all the paramaters of the mint module. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, - /// reduction_started_epoch is the first epoch in which the reduction of mint - /// begins. - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub reduction_started_epoch: i64, -} pub struct MintQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 57d3576c..12becca8 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,5 +1,4 @@ pub mod accum; -pub mod concentratedliquidity; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs index 57b4ec97..4ad54256 100644 --- a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs @@ -1,12 +1,13 @@ use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.Params")] @@ -18,14 +19,15 @@ pub struct Params { #[prost(string, tag = "1")] pub minted_denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.LockableDurationsInfo")] @@ -33,14 +35,15 @@ pub struct LockableDurationsInfo { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.DistrInfo")] @@ -50,14 +53,15 @@ pub struct DistrInfo { #[prost(message, repeated, tag = "2")] pub records: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.DistrRecord")] @@ -71,14 +75,15 @@ pub struct DistrRecord { #[prost(string, tag = "2")] pub weight: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauge")] @@ -98,14 +103,15 @@ pub struct PoolToGauge { #[prost(message, optional, tag = "3")] pub duration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauges")] @@ -113,6 +119,30 @@ pub struct PoolToGauges { #[prost(message, repeated, tag = "2")] pub pool_to_gauge: ::prost::alloc::vec::Vec, } +/// GenesisState defines the pool incentives module's 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 = "/osmosis.poolincentives.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines all the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub lockable_durations: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub distr_info: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub pool_to_gauges: ::core::option::Option, +} /// ReplacePoolIncentivesProposal is a gov Content type for updating the pool /// incentives. If a ReplacePoolIncentivesProposal passes, the proposal’s records /// override the existing DistrRecords set in the module. Each record has a @@ -120,14 +150,15 @@ pub struct PoolToGauges { /// gauge according to weight/total_weight. The incentives are put in the fee /// pool and it is allocated to gauges and community pool by the DistrRecords /// configuration. Note that gaugeId=0 represents the community pool. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.ReplacePoolIncentivesProposal")] @@ -146,14 +177,15 @@ pub struct ReplacePoolIncentivesProposal { /// This would delete Gauge 1, Edit Gauge 2, and Add Gauge 3 /// The result DistrRecords in state would be: /// [(Gauge 0, 5), (Gauge 2, 4), (Gauge 3, 10)] +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.UpdatePoolIncentivesProposal")] @@ -165,14 +197,15 @@ pub struct UpdatePoolIncentivesProposal { #[prost(message, repeated, tag = "3")] pub records: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryGaugeIdsRequest")] @@ -188,14 +221,15 @@ pub struct QueryGaugeIdsRequest { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryGaugeIdsResponse")] @@ -207,14 +241,15 @@ pub struct QueryGaugeIdsResponse { /// Nested message and enum types in `QueryGaugeIdsResponse`. pub mod query_gauge_ids_response { use osmosis_std_derive::CosmwasmExt; + #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -233,14 +268,15 @@ pub mod query_gauge_ids_response { pub gauge_incentive_percentage: ::prost::alloc::string::String, } } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryDistrInfoRequest")] @@ -249,14 +285,15 @@ pub mod query_gauge_ids_response { response_type = QueryDistrInfoResponse )] pub struct QueryDistrInfoRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryDistrInfoResponse")] @@ -264,14 +301,15 @@ pub struct QueryDistrInfoResponse { #[prost(message, optional, tag = "1")] pub distr_info: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryParamsRequest")] @@ -280,14 +318,15 @@ pub struct QueryDistrInfoResponse { 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryParamsResponse")] @@ -295,14 +334,15 @@ 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryLockableDurationsRequest")] @@ -311,14 +351,15 @@ pub struct QueryParamsResponse { response_type = QueryLockableDurationsResponse )] pub struct QueryLockableDurationsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryLockableDurationsResponse")] @@ -326,14 +367,15 @@ pub struct QueryLockableDurationsResponse { #[prost(message, repeated, tag = "1")] pub lockable_durations: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryIncentivizedPoolsRequest")] @@ -342,14 +384,15 @@ pub struct QueryLockableDurationsResponse { response_type = QueryIncentivizedPoolsResponse )] pub struct QueryIncentivizedPoolsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.IncentivizedPool")] @@ -369,14 +412,15 @@ pub struct IncentivizedPool { )] pub gauge_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryIncentivizedPoolsResponse")] @@ -384,14 +428,15 @@ pub struct QueryIncentivizedPoolsResponse { #[prost(message, repeated, tag = "1")] pub incentivized_pools: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryExternalIncentiveGaugesRequest")] @@ -400,14 +445,15 @@ pub struct QueryIncentivizedPoolsResponse { response_type = QueryExternalIncentiveGaugesResponse )] pub struct QueryExternalIncentiveGaugesRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryExternalIncentiveGaugesResponse")] @@ -415,29 +461,6 @@ pub struct QueryExternalIncentiveGaugesResponse { #[prost(message, repeated, tag = "1")] pub data: ::prost::alloc::vec::Vec, } -/// GenesisState defines the pool incentives module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolincentives.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines all the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub lockable_durations: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub distr_info: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub pool_to_gauges: ::core::option::Option, -} pub struct PoolincentivesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index 61bc1f95..0da6c949 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -1,12 +1,13 @@ use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SwapAmountInRoute")] @@ -20,14 +21,15 @@ pub struct SwapAmountInRoute { #[prost(string, tag = "2")] pub token_out_denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SwapAmountOutRoute")] @@ -41,15 +43,124 @@ pub struct SwapAmountOutRoute { #[prost(string, tag = "2")] pub token_in_denom: ::prost::alloc::string::String, } +/// ModuleRouter defines a route encapsulating pool type. +/// It is used as the value of a mapping from pool id to the pool type, +/// allowing the pool manager to know which module to route swaps to given the +/// pool 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 = "/osmosis.poolmanager.v1beta1.ModuleRoute")] +pub struct ModuleRoute { + /// pool_type specifies the type of the pool + #[prost(enumeration = "PoolType", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_type: i32, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +/// PoolType is an enumeration of all supported pool types. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] +pub enum PoolType { + /// Balancer is the standard xy=k curve. Its pool model is defined in x/gamm. + Balancer = 0, + /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined + /// in x/gamm. + Stableswap = 1, +} +impl PoolType { + /// 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 { + PoolType::Balancer => "Balancer", + PoolType::Stableswap => "Stableswap", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "Balancer" => Some(Self::Balancer), + "Stableswap" => Some(Self::Stableswap), + _ => None, + } + } +} +/// Params holds parameters for the poolmanager 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 = "/osmosis.poolmanager.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub pool_creation_fee: + ::prost::alloc::vec::Vec, +} +/// GenesisState defines the poolmanager module's 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 = "/osmosis.poolmanager.v1beta1.GenesisState")] +pub struct GenesisState { + /// the next_pool_id + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_pool_id: u64, + /// params is the container of poolmanager parameters. + #[prost(message, optional, tag = "2")] + pub params: ::core::option::Option, + /// pool_routes is the container of the mappings from pool id to pool type. + #[prost(message, repeated, tag = "3")] + pub pool_routes: ::prost::alloc::vec::Vec, +} /// ===================== MsgSwapExactAmountIn +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountIn")] @@ -63,14 +174,15 @@ pub struct MsgSwapExactAmountIn { #[prost(string, tag = "4")] pub token_out_min_amount: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountInResponse")] @@ -79,14 +191,15 @@ pub struct MsgSwapExactAmountInResponse { pub token_out_amount: ::prost::alloc::string::String, } /// ===================== MsgSwapExactAmountOut +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountOut")] @@ -100,14 +213,15 @@ pub struct MsgSwapExactAmountOut { #[prost(message, optional, tag = "4")] pub token_out: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.MsgSwapExactAmountOutResponse")] @@ -115,56 +229,16 @@ pub struct MsgSwapExactAmountOutResponse { #[prost(string, tag = "1")] pub token_in_amount: ::prost::alloc::string::String, } -/// Params holds parameters for the poolmanager module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub pool_creation_fee: - ::prost::alloc::vec::Vec, -} -/// GenesisState defines the poolmanager module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.GenesisState")] -pub struct GenesisState { - /// the next_pool_id - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_pool_id: u64, - /// params is the container of poolmanager parameters. - #[prost(message, optional, tag = "2")] - pub params: ::core::option::Option, -} -///=============================== Params +/// =============================== Params +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.ParamsRequest")] @@ -173,14 +247,15 @@ pub struct GenesisState { response_type = ParamsResponse )] pub struct ParamsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.ParamsResponse")] @@ -188,15 +263,16 @@ pub struct ParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } -///=============================== EstimateSwapExactAmountIn +/// =============================== EstimateSwapExactAmountIn +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInRequest")] @@ -219,14 +295,15 @@ pub struct EstimateSwapExactAmountInRequest { #[prost(message, repeated, tag = "4")] pub routes: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] @@ -234,15 +311,16 @@ pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] pub token_out_amount: ::prost::alloc::string::String, } -///=============================== EstimateSwapExactAmountOut +/// =============================== EstimateSwapExactAmountOut +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutRequest")] @@ -265,14 +343,15 @@ pub struct EstimateSwapExactAmountOutRequest { #[prost(string, tag = "4")] pub token_out: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] @@ -280,15 +359,16 @@ pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] pub token_in_amount: ::prost::alloc::string::String, } -///=============================== NumPools +/// =============================== NumPools +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.NumPoolsRequest")] @@ -297,14 +377,15 @@ pub struct EstimateSwapExactAmountOutResponse { response_type = NumPoolsResponse )] pub struct NumPoolsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.NumPoolsResponse")] @@ -316,43 +397,6 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } -/// ModuleRouter defines a route encapsulating pool type. -/// It is used as the value of a mapping from pool id to the pool type, -/// allowing the pool manager to know which module to route swaps to given the -/// pool id. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.ModuleRoute")] -pub struct ModuleRoute { - /// pool_type specifies the type of the pool - #[prost(enumeration = "PoolType", tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_type: i32, -} -/// PoolType is an enumeration of all supported pool types. -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum PoolType { - /// Balancer is the standard xy=k curve. Its pool model is defined in x/gamm. - Balancer = 0, - /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined - /// in x/gamm. - Stableswap = 1, - /// Concentrated is the pool model specific to concentrated liquidity. It is - /// defined in x/concentrated-liquidity. - Concentrated = 2, -} pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs index 7fba2a77..20a8e761 100644 --- a/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/protorev/v1beta1.rs @@ -1,13 +1,14 @@ use osmosis_std_derive::CosmwasmExt; /// TokenPairArbRoutes tracks all of the hot routes for a given pair of tokens +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.TokenPairArbRoutes")] @@ -23,14 +24,15 @@ pub struct TokenPairArbRoutes { pub token_out: ::prost::alloc::string::String, } /// Route is a hot route for a given pair of tokens +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.Route")] @@ -39,45 +41,50 @@ pub struct Route { /// -> right) #[prost(message, repeated, tag = "1")] pub trades: ::prost::alloc::vec::Vec, + /// The step size that will be used to find the optimal swap amount in the + /// binary search + #[prost(string, tag = "2")] + pub step_size: ::prost::alloc::string::String, } /// Trade is a single trade in a route +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.Trade")] pub struct Trade { - /// The pool IDs that are travered in the directed cyclic graph (traversed left - /// -> right) + /// The pool id of the pool that is traded on #[prost(uint64, tag = "1")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub pool: u64, - /// The denom of token A that is traded + /// The denom of the token that is traded #[prost(string, tag = "2")] pub token_in: ::prost::alloc::string::String, - /// The denom of token B that is traded + /// The denom of the token that is received #[prost(string, tag = "3")] pub token_out: ::prost::alloc::string::String, } /// RouteStatistics contains the number of trades the module has executed after a /// swap on a given route and the profits from the trades +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.RouteStatistics")] @@ -90,7 +97,7 @@ pub struct RouteStatistics { #[prost(string, tag = "2")] pub number_of_trades: ::prost::alloc::string::String, /// route is the route that was used (pool ids along the arbitrage route) - #[prost(uint64, repeated, tag = "3")] + #[prost(uint64, repeated, packed = "false", tag = "3")] pub route: ::prost::alloc::vec::Vec, } /// PoolWeights contains the weights of all of the different pool types. This @@ -98,14 +105,15 @@ pub struct RouteStatistics { /// significantly between the different pool types. Each weight roughly /// corresponds to the amount of time (in ms) it takes to execute a swap on that /// pool type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.PoolWeights")] @@ -135,14 +143,15 @@ pub struct PoolWeights { /// BaseDenom represents a single base denom that the module uses for its /// arbitrage trades. It contains the denom name alongside the step size of the /// binary search that is used to find the optimal swap amount +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.BaseDenom")] @@ -155,230 +164,110 @@ pub struct BaseDenom { #[prost(string, tag = "2")] pub step_size: ::prost::alloc::string::String, } -/// MsgSetHotRoutes defines the Msg/SetHotRoutes request type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetHotRoutes")] -pub struct MsgSetHotRoutes { - /// admin is the account that is authorized to set the hot routes. - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, - /// hot_routes is the list of hot routes to set. - #[prost(message, repeated, tag = "2")] - pub hot_routes: ::prost::alloc::vec::Vec, -} -/// MsgSetHotRoutesResponse defines the Msg/SetHotRoutes response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetHotRoutesResponse")] -pub struct MsgSetHotRoutesResponse {} -/// MsgSetDeveloperAccount defines the Msg/SetDeveloperAccount request type. +/// Params defines the parameters for the module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccount")] -pub struct MsgSetDeveloperAccount { - /// admin is the account that is authorized to set the developer account. - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, - /// developer_account is the account that will receive a portion of the profits - /// from the protorev module. +#[proto_message(type_url = "/osmosis.protorev.v1beta1.Params")] +pub struct Params { + /// Boolean whether the protorev module is enabled. + #[prost(bool, tag = "1")] + pub enabled: bool, + /// The admin account (settings manager) of the protorev module. #[prost(string, tag = "2")] - pub developer_account: ::prost::alloc::string::String, -} -/// MsgSetDeveloperAccountResponse defines the Msg/SetDeveloperAccount response -/// type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccountResponse")] -pub struct MsgSetDeveloperAccountResponse {} -/// MsgSetPoolWeights defines the Msg/SetPoolWeights request type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetPoolWeights")] -pub struct MsgSetPoolWeights { - /// admin is the account that is authorized to set the pool weights. - #[prost(string, tag = "1")] pub admin: ::prost::alloc::string::String, - /// pool_weights is the list of pool weights to set. - #[prost(message, optional, tag = "2")] - pub pool_weights: ::core::option::Option, } -/// MsgSetPoolWeightsResponse defines the Msg/SetPoolWeights response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetPoolWeightsResponse")] -pub struct MsgSetPoolWeightsResponse {} -/// MsgSetMaxPoolPointsPerTx defines the Msg/SetMaxPoolPointsPerTx request type. +/// GenesisState defines the protorev module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerTx")] -pub struct MsgSetMaxPoolPointsPerTx { - /// admin is the account that is authorized to set the max pool points per tx. - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, - /// max_pool_points_per_tx is the maximum number of pool points that can be - /// consumed per transaction. - #[prost(uint64, tag = "2")] +#[proto_message(type_url = "/osmosis.protorev.v1beta1.GenesisState")] +pub struct GenesisState { + /// Parameters for the protorev module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// Token pair arb routes for the protorev module (hot routes). + #[prost(message, repeated, tag = "2")] + pub token_pair_arb_routes: ::prost::alloc::vec::Vec, + /// The base denominations being used to create cyclic arbitrage routes via the + /// highest liquidity method. + #[prost(message, repeated, tag = "3")] + pub base_denoms: ::prost::alloc::vec::Vec, + /// The pool weights that are being used to calculate the weight (compute cost) + /// of each route. + #[prost(message, optional, tag = "4")] + pub pool_weights: ::core::option::Option, + /// The number of days since module genesis. + #[prost(uint64, tag = "5")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] - pub max_pool_points_per_tx: u64, -} -/// MsgSetMaxPoolPointsPerTxResponse defines the Msg/SetMaxPoolPointsPerTx -/// response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerTxResponse")] -pub struct MsgSetMaxPoolPointsPerTxResponse {} -/// MsgSetMaxPoolPointsPerBlock defines the Msg/SetMaxPoolPointsPerBlock request -/// type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerBlock")] -pub struct MsgSetMaxPoolPointsPerBlock { - /// admin is the account that is authorized to set the max pool points per - /// block. - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, - /// max_pool_points_per_block is the maximum number of pool points that can be - /// consumed per block. - #[prost(uint64, tag = "2")] + pub days_since_module_genesis: u64, + /// The fees the developer account has accumulated over time. + #[prost(message, repeated, tag = "6")] + pub developer_fees: ::prost::alloc::vec::Vec, + /// The latest block height that the module has processed. + #[prost(uint64, tag = "7")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub latest_block_height: u64, + /// The developer account address of the module. + #[prost(string, tag = "8")] + pub developer_address: ::prost::alloc::string::String, + /// Max pool points per block i.e. the maximum compute time (in ms) + /// that protorev can use per block. + #[prost(uint64, tag = "9")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub max_pool_points_per_block: u64, + /// Max pool points per tx i.e. the maximum compute time (in ms) that + /// protorev can use per tx. + #[prost(uint64, tag = "10")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_tx: u64, + /// The number of pool points that have been consumed in the current block. + #[prost(uint64, tag = "11")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub point_count_for_block: u64, } -/// MsgSetMaxPoolPointsPerBlockResponse defines the -/// Msg/SetMaxPoolPointsPerBlock response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerBlockResponse")] -pub struct MsgSetMaxPoolPointsPerBlockResponse {} -/// MsgSetBaseDenoms defines the Msg/SetBaseDenoms request type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetBaseDenoms")] -pub struct MsgSetBaseDenoms { - /// admin is the account that is authorized to set the base denoms. - #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, - /// base_denoms is the list of base denoms to set. - #[prost(message, repeated, tag = "2")] - pub base_denoms: ::prost::alloc::vec::Vec, -} -/// MsgSetBaseDenomsResponse defines the Msg/SetBaseDenoms response type. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetBaseDenomsResponse")] -pub struct MsgSetBaseDenomsResponse {} /// SetProtoRevEnabledProposal is a gov Content type to update whether the /// protorev module is enabled +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevEnabledProposal")] @@ -393,14 +282,15 @@ pub struct SetProtoRevEnabledProposal { /// SetProtoRevAdminAccountProposal is a gov Content type to set the admin /// account that will receive permissions to alter hot routes and set the /// developer address that will be receiving a share of profits from the module +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.SetProtoRevAdminAccountProposal")] @@ -412,32 +302,16 @@ pub struct SetProtoRevAdminAccountProposal { #[prost(string, tag = "3")] pub account: ::prost::alloc::string::String, } -/// Params defines the parameters for the module. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.Params")] -pub struct Params { - /// Boolean whether the module is going to be enabled - #[prost(bool, tag = "1")] - pub enabled: bool, -} /// QueryParamsRequest is request 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryParamsRequest")] @@ -447,14 +321,15 @@ pub struct Params { )] 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryParamsResponse")] @@ -465,14 +340,15 @@ pub struct QueryParamsResponse { } /// QueryGetProtoRevNumberOfTradesRequest is request type for the /// Query/GetProtoRevNumberOfTrades RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevNumberOfTradesRequest")] @@ -483,14 +359,15 @@ pub struct QueryParamsResponse { pub struct QueryGetProtoRevNumberOfTradesRequest {} /// QueryGetProtoRevNumberOfTradesResponse is response type for the /// Query/GetProtoRevNumberOfTrades RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevNumberOfTradesResponse")] @@ -501,14 +378,15 @@ pub struct QueryGetProtoRevNumberOfTradesResponse { } /// QueryGetProtoRevProfitsByDenomRequest is request type for the /// Query/GetProtoRevProfitsByDenom RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevProfitsByDenomRequest")] @@ -523,14 +401,15 @@ pub struct QueryGetProtoRevProfitsByDenomRequest { } /// QueryGetProtoRevProfitsByDenomResponse is response type for the /// Query/GetProtoRevProfitsByDenom RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevProfitsByDenomResponse")] @@ -541,14 +420,15 @@ pub struct QueryGetProtoRevProfitsByDenomResponse { } /// QueryGetProtoRevAllProfitsRequest is request type for the /// Query/GetProtoRevAllProfits RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllProfitsRequest")] @@ -559,14 +439,15 @@ pub struct QueryGetProtoRevProfitsByDenomResponse { pub struct QueryGetProtoRevAllProfitsRequest {} /// QueryGetProtoRevAllProfitsResponse is response type for the /// Query/GetProtoRevAllProfits RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllProfitsResponse")] @@ -577,14 +458,15 @@ pub struct QueryGetProtoRevAllProfitsResponse { } /// QueryGetProtoRevStatisticsByPoolRequest is request type for the /// Query/GetProtoRevStatisticsByRoute RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByRouteRequest")] @@ -594,19 +476,20 @@ pub struct QueryGetProtoRevAllProfitsResponse { )] pub struct QueryGetProtoRevStatisticsByRouteRequest { /// route is the set of pool ids to query statistics by i.e. 1,2,3 - #[prost(uint64, repeated, tag = "1")] + #[prost(uint64, repeated, packed = "false", tag = "1")] pub route: ::prost::alloc::vec::Vec, } /// QueryGetProtoRevStatisticsByRouteResponse is response type for the /// Query/GetProtoRevStatisticsByRoute RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevStatisticsByRouteResponse")] @@ -618,14 +501,15 @@ pub struct QueryGetProtoRevStatisticsByRouteResponse { } /// QueryGetProtoRevAllRouteStatisticsRequest is request type for the /// Query/GetProtoRevAllRouteStatistics RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllRouteStatisticsRequest")] @@ -636,14 +520,15 @@ pub struct QueryGetProtoRevStatisticsByRouteResponse { pub struct QueryGetProtoRevAllRouteStatisticsRequest {} /// QueryGetProtoRevAllRouteStatisticsResponse is response type for the /// Query/GetProtoRevAllRouteStatistics RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAllRouteStatisticsResponse")] @@ -655,14 +540,15 @@ pub struct QueryGetProtoRevAllRouteStatisticsResponse { } /// QueryGetProtoRevTokenPairArbRoutesRequest is request type for the /// Query/GetProtoRevTokenPairArbRoutes RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevTokenPairArbRoutesRequest")] @@ -673,14 +559,15 @@ pub struct QueryGetProtoRevAllRouteStatisticsResponse { pub struct QueryGetProtoRevTokenPairArbRoutesRequest {} /// QueryGetProtoRevTokenPairArbRoutesResponse is response type for the /// Query/GetProtoRevTokenPairArbRoutes RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevTokenPairArbRoutesResponse")] @@ -692,14 +579,15 @@ pub struct QueryGetProtoRevTokenPairArbRoutesResponse { } /// QueryGetProtoRevAdminAccountRequest is request type for the /// Query/GetProtoRevAdminAccount RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAdminAccountRequest")] @@ -710,14 +598,15 @@ pub struct QueryGetProtoRevTokenPairArbRoutesResponse { pub struct QueryGetProtoRevAdminAccountRequest {} /// QueryGetProtoRevAdminAccountResponse is response type for the /// Query/GetProtoRevAdminAccount RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevAdminAccountResponse")] @@ -728,14 +617,15 @@ pub struct QueryGetProtoRevAdminAccountResponse { } /// QueryGetProtoRevDeveloperAccountRequest is request type for the /// Query/GetProtoRevDeveloperAccount RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevDeveloperAccountRequest")] @@ -746,14 +636,15 @@ pub struct QueryGetProtoRevAdminAccountResponse { pub struct QueryGetProtoRevDeveloperAccountRequest {} /// QueryGetProtoRevDeveloperAccountResponse is response type for the /// Query/GetProtoRevDeveloperAccount RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevDeveloperAccountResponse")] @@ -764,14 +655,15 @@ pub struct QueryGetProtoRevDeveloperAccountResponse { } /// QueryGetProtoRevPoolWeightsRequest is request type for the /// Query/GetProtoRevPoolWeights RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevPoolWeightsRequest")] @@ -782,14 +674,15 @@ pub struct QueryGetProtoRevDeveloperAccountResponse { pub struct QueryGetProtoRevPoolWeightsRequest {} /// QueryGetProtoRevPoolWeightsResponse is response type for the /// Query/GetProtoRevPoolWeights RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevPoolWeightsResponse")] @@ -800,14 +693,15 @@ pub struct QueryGetProtoRevPoolWeightsResponse { } /// QueryGetProtoRevMaxPoolPointsPerBlockRequest is request type for the /// Query/GetProtoRevMaxPoolPointsPerBlock RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -820,14 +714,15 @@ pub struct QueryGetProtoRevPoolWeightsResponse { pub struct QueryGetProtoRevMaxPoolPointsPerBlockRequest {} /// QueryGetProtoRevMaxPoolPointsPerBlockResponse is response type for the /// Query/GetProtoRevMaxPoolPointsPerBlock RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -845,14 +740,15 @@ pub struct QueryGetProtoRevMaxPoolPointsPerBlockResponse { } /// QueryGetProtoRevMaxPoolPointsPerTxRequest is request type for the /// Query/GetProtoRevMaxPoolPointsPerTx RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevMaxPoolPointsPerTxRequest")] @@ -863,14 +759,15 @@ pub struct QueryGetProtoRevMaxPoolPointsPerBlockResponse { pub struct QueryGetProtoRevMaxPoolPointsPerTxRequest {} /// QueryGetProtoRevMaxPoolPointsPerTxResponse is response type for the /// Query/GetProtoRevMaxPoolPointsPerTx RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevMaxPoolPointsPerTxResponse")] @@ -886,14 +783,15 @@ pub struct QueryGetProtoRevMaxPoolPointsPerTxResponse { } /// QueryGetProtoRevBaseDenomsRequest is request type for the /// Query/GetProtoRevBaseDenoms RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevBaseDenomsRequest")] @@ -904,14 +802,15 @@ pub struct QueryGetProtoRevMaxPoolPointsPerTxResponse { pub struct QueryGetProtoRevBaseDenomsRequest {} /// QueryGetProtoRevBaseDenomsResponse is response type for the /// Query/GetProtoRevBaseDenoms RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevBaseDenomsResponse")] @@ -922,14 +821,15 @@ pub struct QueryGetProtoRevBaseDenomsResponse { } /// QueryGetProtoRevEnabledRequest is request type for the /// Query/GetProtoRevEnabled RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevEnabledRequest")] @@ -940,14 +840,15 @@ pub struct QueryGetProtoRevBaseDenomsResponse { pub struct QueryGetProtoRevEnabledRequest {} /// QueryGetProtoRevEnabledResponse is response type for the /// Query/GetProtoRevEnabled RPC method. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.protorev.v1beta1.QueryGetProtoRevEnabledResponse")] @@ -956,26 +857,232 @@ pub struct QueryGetProtoRevEnabledResponse { #[prost(bool, tag = "1")] pub enabled: bool, } -/// GenesisState defines the protorev module's genesis state. +/// MsgSetHotRoutes defines the Msg/SetHotRoutes request type. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.protorev.v1beta1.GenesisState")] -pub struct GenesisState { - /// Module Parameters - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// Hot routes that are configured on genesis +#[proto_message(type_url = "/osmosis.protorev.v1beta1.MsgSetHotRoutes")] +pub struct MsgSetHotRoutes { + /// admin is the account that is authorized to set the hot routes. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// hot_routes is the list of hot routes to set. + #[prost(message, repeated, tag = "2")] + pub hot_routes: ::prost::alloc::vec::Vec, +} +/// MsgSetHotRoutesResponse defines the Msg/SetHotRoutes response 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 = "/osmosis.protorev.v1beta1.MsgSetHotRoutesResponse")] +pub struct MsgSetHotRoutesResponse {} +/// MsgSetDeveloperAccount defines the Msg/SetDeveloperAccount 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 = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccount")] +pub struct MsgSetDeveloperAccount { + /// admin is the account that is authorized to set the developer account. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// developer_account is the account that will receive a portion of the profits + /// from the protorev module. + #[prost(string, tag = "2")] + pub developer_account: ::prost::alloc::string::String, +} +/// MsgSetDeveloperAccountResponse defines the Msg/SetDeveloperAccount response +/// 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 = "/osmosis.protorev.v1beta1.MsgSetDeveloperAccountResponse")] +pub struct MsgSetDeveloperAccountResponse {} +/// MsgSetPoolWeights defines the Msg/SetPoolWeights 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 = "/osmosis.protorev.v1beta1.MsgSetPoolWeights")] +pub struct MsgSetPoolWeights { + /// admin is the account that is authorized to set the pool weights. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// pool_weights is the list of pool weights to set. + #[prost(message, optional, tag = "2")] + pub pool_weights: ::core::option::Option, +} +/// MsgSetPoolWeightsResponse defines the Msg/SetPoolWeights response 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 = "/osmosis.protorev.v1beta1.MsgSetPoolWeightsResponse")] +pub struct MsgSetPoolWeightsResponse {} +/// MsgSetMaxPoolPointsPerTx defines the Msg/SetMaxPoolPointsPerTx 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 = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerTx")] +pub struct MsgSetMaxPoolPointsPerTx { + /// admin is the account that is authorized to set the max pool points per tx. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// max_pool_points_per_tx is the maximum number of pool points that can be + /// consumed per transaction. + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_tx: u64, +} +/// MsgSetMaxPoolPointsPerTxResponse defines the Msg/SetMaxPoolPointsPerTx +/// response 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 = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerTxResponse")] +pub struct MsgSetMaxPoolPointsPerTxResponse {} +/// MsgSetMaxPoolPointsPerBlock defines the Msg/SetMaxPoolPointsPerBlock 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 = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerBlock")] +pub struct MsgSetMaxPoolPointsPerBlock { + /// admin is the account that is authorized to set the max pool points per + /// block. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// max_pool_points_per_block is the maximum number of pool points that can be + /// consumed per block. + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub max_pool_points_per_block: u64, +} +/// MsgSetMaxPoolPointsPerBlockResponse defines the +/// Msg/SetMaxPoolPointsPerBlock response 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 = "/osmosis.protorev.v1beta1.MsgSetMaxPoolPointsPerBlockResponse")] +pub struct MsgSetMaxPoolPointsPerBlockResponse {} +/// MsgSetBaseDenoms defines the Msg/SetBaseDenoms 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 = "/osmosis.protorev.v1beta1.MsgSetBaseDenoms")] +pub struct MsgSetBaseDenoms { + /// admin is the account that is authorized to set the base denoms. + #[prost(string, tag = "1")] + pub admin: ::prost::alloc::string::String, + /// base_denoms is the list of base denoms to set. #[prost(message, repeated, tag = "2")] - pub token_pairs: ::prost::alloc::vec::Vec, + pub base_denoms: ::prost::alloc::vec::Vec, } +/// MsgSetBaseDenomsResponse defines the Msg/SetBaseDenoms response 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 = "/osmosis.protorev.v1beta1.MsgSetBaseDenomsResponse")] +pub struct MsgSetBaseDenomsResponse {} pub struct ProtorevQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/store/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/store/v1beta1.rs index 386043df..4e8bc278 100644 --- a/packages/osmosis-std/src/types/osmosis/store/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/store/v1beta1.rs @@ -1,12 +1,13 @@ use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.store.v1beta1.Node")] @@ -14,14 +15,15 @@ pub struct Node { #[prost(message, repeated, tag = "1")] pub children: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.store.v1beta1.Child")] @@ -31,14 +33,15 @@ pub struct Child { #[prost(string, tag = "2")] pub accumulation: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.store.v1beta1.Leaf")] diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index df7ac15a..a7a0a4ef 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1,14 +1,15 @@ pub mod v1beta1; use osmosis_std_derive::CosmwasmExt; /// SuperfluidAsset stores the pair of superfluid asset type and denom pair +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidAsset")] @@ -27,14 +28,15 @@ pub struct SuperfluidAsset { /// SuperfluidIntermediaryAccount takes the role of intermediary between LP token /// and OSMO tokens for superfluid staking. The intermediary account is the /// actual account responsible for delegation, not the validator account itself. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidIntermediaryAccount")] @@ -59,14 +61,15 @@ pub struct SuperfluidIntermediaryAccount { /// epochs rewards) However for now, this is not the TWAP but instead the spot /// price at the boundary. For different types of assets in the future, it could /// change. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.OsmoEquivalentMultiplierRecord")] @@ -85,14 +88,15 @@ pub struct OsmoEquivalentMultiplierRecord { } /// SuperfluidDelegationRecord is a struct used to indicate superfluid /// delegations of an account in the state machine in a user friendly form. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationRecord")] @@ -109,14 +113,15 @@ pub struct SuperfluidDelegationRecord { /// LockIdIntermediaryAccountConnection is a struct used to indicate the /// relationship between the underlying lock id and superfluid delegation done /// via lp shares. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.LockIdIntermediaryAccountConnection")] @@ -130,14 +135,15 @@ pub struct LockIdIntermediaryAccountConnection { #[prost(string, tag = "2")] pub intermediary_account: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.UnpoolWhitelistedPools")] @@ -149,262 +155,94 @@ pub struct UnpoolWhitelistedPools { /// a native token itself or the lp share of a pool. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] pub enum SuperfluidAssetType { Native = 0, /// SuperfluidAssetTypeLendingShare = 2; // for now not exist LpShare = 1, } -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidDelegate")] -pub struct MsgSuperfluidDelegate { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lock_id: u64, - #[prost(string, tag = "3")] - pub val_addr: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidDelegateResponse")] -pub struct MsgSuperfluidDelegateResponse {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegate")] -pub struct MsgSuperfluidUndelegate { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lock_id: u64, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegateResponse")] -pub struct MsgSuperfluidUndelegateResponse {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUnbondLock")] -pub struct MsgSuperfluidUnbondLock { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lock_id: u64, +impl SuperfluidAssetType { + /// 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 { + SuperfluidAssetType::Native => "SuperfluidAssetTypeNative", + SuperfluidAssetType::LpShare => "SuperfluidAssetTypeLPShare", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "SuperfluidAssetTypeNative" => Some(Self::Native), + "SuperfluidAssetTypeLPShare" => Some(Self::LpShare), + _ => None, + } + } } +/// Params holds parameters for the superfluid 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 = "/osmosis.superfluid.MsgSuperfluidUnbondLockResponse")] -pub struct MsgSuperfluidUnbondLockResponse {} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegateAndUnbondLock")] -pub struct MsgSuperfluidUndelegateAndUnbondLock { +#[proto_message(type_url = "/osmosis.superfluid.Params")] +pub struct Params { + /// minimum_risk_factor is to be cut on OSMO equivalent value of lp tokens for + /// superfluid staking, default: 5%. The minimum risk factor works + /// to counter-balance the staked amount on chain's exposure to various asset + /// volatilities, and have base staking be 'resistant' to volatility. #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lock_id: u64, - /// Amount of unlocking coin. - #[prost(message, optional, tag = "3")] - pub coin: ::core::option::Option, + pub minimum_risk_factor: ::prost::alloc::string::String, } +/// GenesisState defines the module's 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 = "/osmosis.superfluid.MsgSuperfluidUndelegateAndUnbondLockResponse")] -pub struct MsgSuperfluidUndelegateAndUnbondLockResponse {} -/// MsgLockAndSuperfluidDelegate locks coins with the unbonding period duration, -/// and then does a superfluid lock from the newly created lockup, to the -/// specified validator addr. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.superfluid.MsgLockAndSuperfluidDelegate")] -pub struct MsgLockAndSuperfluidDelegate { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, +#[proto_message(type_url = "/osmosis.superfluid.GenesisState")] +pub struct GenesisState { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// superfluid_assets defines the registered superfluid assets that have been + /// registered via governance. #[prost(message, repeated, tag = "2")] - pub coins: ::prost::alloc::vec::Vec, - #[prost(string, tag = "3")] - pub val_addr: ::prost::alloc::string::String, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgLockAndSuperfluidDelegateResponse")] -pub struct MsgLockAndSuperfluidDelegateResponse { - #[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, -} -/// MsgUnPoolWhitelistedPool Unpools every lock the sender has, that is -/// associated with pool pool_id. If pool_id is not approved for unpooling by -/// governance, this is a no-op. Unpooling takes the locked gamm shares, and runs -/// "ExitPool" on it, to get the constituent tokens. e.g. z gamm/pool/1 tokens -/// ExitPools into constituent tokens x uatom, y uosmo. Then it creates a new -/// lock for every constituent token, with the duration associated with the lock. -/// If the lock was unbonding, the new lockup durations should be the time left -/// until unbond completion. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgUnPoolWhitelistedPool")] -pub struct MsgUnPoolWhitelistedPool { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, -} -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.MsgUnPoolWhitelistedPoolResponse")] -pub struct MsgUnPoolWhitelistedPoolResponse { - #[prost(uint64, repeated, tag = "1")] - pub exited_lock_ids: ::prost::alloc::vec::Vec, -} -/// Params holds parameters for the superfluid module -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.superfluid.Params")] -pub struct Params { - /// minimum_risk_factor is to be cut on OSMO equivalent value of lp tokens for - /// superfluid staking, default: 5%. The minimum risk factor works - /// to counter-balance the staked amount on chain's exposure to various asset - /// volatilities, and have base staking be 'resistant' to volatility. - #[prost(string, tag = "1")] - pub minimum_risk_factor: ::prost::alloc::string::String, + pub superfluid_assets: ::prost::alloc::vec::Vec, + /// osmo_equivalent_multipliers is the records of osmo equivalent amount of + /// each superfluid registered pool, updated every epoch. + #[prost(message, repeated, tag = "3")] + pub osmo_equivalent_multipliers: ::prost::alloc::vec::Vec, + /// intermediary_accounts is a secondary account for superfluid staking that + /// plays an intermediary role between validators and the delegators. + #[prost(message, repeated, tag = "4")] + pub intermediary_accounts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub intemediary_account_connections: + ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryParamsRequest")] @@ -413,14 +251,15 @@ pub struct Params { 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryParamsResponse")] @@ -429,14 +268,15 @@ 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AssetTypeRequest")] @@ -448,14 +288,15 @@ pub struct AssetTypeRequest { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AssetTypeResponse")] @@ -467,14 +308,15 @@ pub struct AssetTypeResponse { )] pub asset_type: i32, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AllAssetsRequest")] @@ -483,14 +325,15 @@ pub struct AssetTypeResponse { response_type = AllAssetsResponse )] pub struct AllAssetsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AllAssetsResponse")] @@ -498,14 +341,15 @@ pub struct AllAssetsResponse { #[prost(message, repeated, tag = "1")] pub assets: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AssetMultiplierRequest")] @@ -517,14 +361,15 @@ pub struct AssetMultiplierRequest { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AssetMultiplierResponse")] @@ -532,14 +377,15 @@ pub struct AssetMultiplierResponse { #[prost(message, optional, tag = "1")] pub osmo_equivalent_multiplier: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidIntermediaryAccountInfo")] @@ -557,14 +403,15 @@ pub struct SuperfluidIntermediaryAccountInfo { #[prost(string, tag = "4")] pub address: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AllIntermediaryAccountsRequest")] @@ -576,14 +423,15 @@ pub struct AllIntermediaryAccountsRequest { #[prost(message, optional, tag = "1")] pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.AllIntermediaryAccountsResponse")] @@ -594,14 +442,15 @@ pub struct AllIntermediaryAccountsResponse { pub pagination: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.ConnectedIntermediaryAccountRequest")] @@ -617,14 +466,15 @@ pub struct ConnectedIntermediaryAccountRequest { )] pub lock_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.ConnectedIntermediaryAccountResponse")] @@ -632,14 +482,15 @@ pub struct ConnectedIntermediaryAccountResponse { #[prost(message, optional, tag = "1")] pub account: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByValidatorForDenomRequest")] @@ -651,14 +502,15 @@ pub struct QueryTotalDelegationByValidatorForDenomRequest { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByValidatorForDenomResponse")] @@ -666,14 +518,15 @@ pub struct QueryTotalDelegationByValidatorForDenomResponse { #[prost(message, repeated, tag = "1")] pub assets: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.Delegations")] @@ -685,14 +538,15 @@ pub struct Delegations { #[prost(string, tag = "3")] pub osmo_equivalent: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.TotalSuperfluidDelegationsRequest")] @@ -701,14 +555,15 @@ pub struct Delegations { response_type = TotalSuperfluidDelegationsResponse )] pub struct TotalSuperfluidDelegationsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.TotalSuperfluidDelegationsResponse")] @@ -716,14 +571,15 @@ pub struct TotalSuperfluidDelegationsResponse { #[prost(string, tag = "1")] pub total_delegations: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationAmountRequest")] @@ -739,14 +595,15 @@ pub struct SuperfluidDelegationAmountRequest { #[prost(string, tag = "3")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationAmountResponse")] @@ -754,14 +611,15 @@ pub struct SuperfluidDelegationAmountResponse { #[prost(message, repeated, tag = "1")] pub amount: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationsByDelegatorRequest")] @@ -773,14 +631,15 @@ pub struct SuperfluidDelegationsByDelegatorRequest { #[prost(string, tag = "1")] pub delegator_address: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationsByDelegatorResponse")] @@ -793,14 +652,15 @@ pub struct SuperfluidDelegationsByDelegatorResponse { pub total_equivalent_staked_amount: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidUndelegationsByDelegatorRequest")] @@ -814,14 +674,15 @@ pub struct SuperfluidUndelegationsByDelegatorRequest { #[prost(string, tag = "2")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidUndelegationsByDelegatorResponse")] @@ -834,14 +695,15 @@ pub struct SuperfluidUndelegationsByDelegatorResponse { #[prost(message, repeated, tag = "3")] pub synthetic_locks: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationsByValidatorDenomRequest")] @@ -855,14 +717,15 @@ pub struct SuperfluidDelegationsByValidatorDenomRequest { #[prost(string, tag = "2")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.SuperfluidDelegationsByValidatorDenomResponse")] @@ -870,14 +733,15 @@ pub struct SuperfluidDelegationsByValidatorDenomResponse { #[prost(message, repeated, tag = "1")] pub superfluid_delegation_records: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -893,14 +757,15 @@ pub struct EstimateSuperfluidDelegatedAmountByValidatorDenomRequest { #[prost(string, tag = "2")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message( @@ -910,14 +775,15 @@ pub struct EstimateSuperfluidDelegatedAmountByValidatorDenomResponse { #[prost(message, repeated, tag = "1")] pub total_delegated_coins: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByDelegatorRequest")] @@ -929,14 +795,15 @@ pub struct QueryTotalDelegationByDelegatorRequest { #[prost(string, tag = "1")] pub delegator_address: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryTotalDelegationByDelegatorResponse")] @@ -952,14 +819,15 @@ pub struct QueryTotalDelegationByDelegatorResponse { pub total_equivalent_staked_amount: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistRequest")] @@ -968,14 +836,15 @@ pub struct QueryTotalDelegationByDelegatorResponse { response_type = QueryUnpoolWhitelistResponse )] pub struct QueryUnpoolWhitelistRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistResponse")] @@ -983,36 +852,240 @@ pub struct QueryUnpoolWhitelistResponse { #[prost(uint64, repeated, tag = "1")] pub pool_ids: ::prost::alloc::vec::Vec, } -/// GenesisState defines the module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.superfluid.GenesisState")] -pub struct GenesisState { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// superfluid_assets defines the registered superfluid assets that have been - /// registered via governance. +#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidDelegate")] +pub struct MsgSuperfluidDelegate { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, + #[prost(string, tag = "3")] + pub val_addr: ::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 = "/osmosis.superfluid.MsgSuperfluidDelegateResponse")] +pub struct MsgSuperfluidDelegateResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegate")] +pub struct MsgSuperfluidUndelegate { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_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 = "/osmosis.superfluid.MsgSuperfluidUndelegateResponse")] +pub struct MsgSuperfluidUndelegateResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUnbondLock")] +pub struct MsgSuperfluidUnbondLock { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_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 = "/osmosis.superfluid.MsgSuperfluidUnbondLockResponse")] +pub struct MsgSuperfluidUnbondLockResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgSuperfluidUndelegateAndUnbondLock")] +pub struct MsgSuperfluidUndelegateAndUnbondLock { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, + /// Amount of unlocking coin. + #[prost(message, optional, tag = "3")] + pub coin: ::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 = "/osmosis.superfluid.MsgSuperfluidUndelegateAndUnbondLockResponse")] +pub struct MsgSuperfluidUndelegateAndUnbondLockResponse {} +/// MsgLockAndSuperfluidDelegate locks coins with the unbonding period duration, +/// and then does a superfluid lock from the newly created lockup, to the +/// specified validator addr. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgLockAndSuperfluidDelegate")] +pub struct MsgLockAndSuperfluidDelegate { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, #[prost(message, repeated, tag = "2")] - pub superfluid_assets: ::prost::alloc::vec::Vec, - /// osmo_equivalent_multipliers is the records of osmo equivalent amount of - /// each superfluid registered pool, updated every epoch. - #[prost(message, repeated, tag = "3")] - pub osmo_equivalent_multipliers: ::prost::alloc::vec::Vec, - /// intermediary_accounts is a secondary account for superfluid staking that - /// plays an intermediary role between validators and the delegators. - #[prost(message, repeated, tag = "4")] - pub intermediary_accounts: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "5")] - pub intemediary_account_connections: - ::prost::alloc::vec::Vec, + pub coins: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub val_addr: ::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 = "/osmosis.superfluid.MsgLockAndSuperfluidDelegateResponse")] +pub struct MsgLockAndSuperfluidDelegateResponse { + #[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, +} +/// MsgUnPoolWhitelistedPool Unpools every lock the sender has, that is +/// associated with pool pool_id. If pool_id is not approved for unpooling by +/// governance, this is a no-op. Unpooling takes the locked gamm shares, and runs +/// "ExitPool" on it, to get the constituent tokens. e.g. z gamm/pool/1 tokens +/// ExitPools into constituent tokens x uatom, y uosmo. Then it creates a new +/// lock for every constituent token, with the duration associated with the lock. +/// If the lock was unbonding, the new lockup durations should be the time left +/// until unbond completion. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.superfluid.MsgUnPoolWhitelistedPool")] +pub struct MsgUnPoolWhitelistedPool { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.superfluid.MsgUnPoolWhitelistedPoolResponse")] +pub struct MsgUnPoolWhitelistedPoolResponse { + #[prost(uint64, repeated, tag = "1")] + pub exited_lock_ids: ::prost::alloc::vec::Vec, } pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs index 008bfe39..c4b7ecef 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/v1beta1.rs @@ -1,14 +1,15 @@ use osmosis_std_derive::CosmwasmExt; /// SetSuperfluidAssetsProposal is a gov Content type to update the superfluid /// assets +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.v1beta1.SetSuperfluidAssetsProposal")] @@ -22,14 +23,15 @@ pub struct SetSuperfluidAssetsProposal { } /// RemoveSuperfluidAssetsProposal is a gov Content type to remove the superfluid /// assets by denom +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.v1beta1.RemoveSuperfluidAssetsProposal")] @@ -43,14 +45,15 @@ pub struct RemoveSuperfluidAssetsProposal { } /// UpdateUnpoolWhiteListProposal is a gov Content type to update the /// allowed list of pool ids. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.superfluid.v1beta1.UpdateUnpoolWhiteListProposal")] diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index dadf806a..52e8eef8 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -1,363 +1,383 @@ use osmosis_std_derive::CosmwasmExt; -/// MsgCreateDenom defines the message structure for the CreateDenom gRPC service -/// method. It allows an account to create a new denom. It requires a sender -/// address and a sub denomination. The (sender_address, sub_denomination) tuple -/// must be unique and cannot be re-used. -/// -/// The resulting denom created is defined as -/// . The resulting denom's admin is -/// originally set to be the creator, but this can be changed later. The token -/// denom does not indicate the current admin. +/// DenomAuthorityMetadata specifies metadata for addresses that have specific +/// capabilities over a token factory denom. Right now there is only one Admin +/// permission, but is planned to be extended to the future. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgCreateDenom")] -pub struct MsgCreateDenom { +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.DenomAuthorityMetadata")] +pub struct DenomAuthorityMetadata { + /// Can be empty for no admin, or a valid osmosis address #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - /// subdenom can be up to 44 "alphanumeric" characters long. - #[prost(string, tag = "2")] - pub subdenom: ::prost::alloc::string::String, + pub admin: ::prost::alloc::string::String, } -/// MsgCreateDenomResponse is the return value of MsgCreateDenom -/// It returns the full string of the newly created denom +/// Params defines the parameters for the tokenfactory module. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgCreateDenomResponse")] -pub struct MsgCreateDenomResponse { - #[prost(string, tag = "1")] - pub new_token_denom: ::prost::alloc::string::String, +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.Params")] +pub struct Params { + #[prost(message, repeated, tag = "1")] + pub denom_creation_fee: + ::prost::alloc::vec::Vec, } -/// MsgMint is the sdk.Msg type for allowing an admin account to mint -/// more of a token. For now, we only support minting to the sender account +/// GenesisState defines the tokenfactory module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgMint")] -pub struct MsgMint { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub amount: ::core::option::Option, +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisState")] +pub struct GenesisState { + /// params defines the paramaters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub factory_denoms: ::prost::alloc::vec::Vec, } +/// GenesisDenom defines a tokenfactory denom that is defined within genesis +/// state. The structure contains DenomAuthorityMetadata which defines the +/// denom's admin. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgMintResponse")] -pub struct MsgMintResponse {} -/// MsgBurn is the sdk.Msg type for allowing an admin account to burn -/// a token. For now, we only support burning from the sender account. +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisDenom")] +pub struct GenesisDenom { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub authority_metadata: ::core::option::Option, +} +/// QueryParamsRequest is the request 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgBurn")] -pub struct MsgBurn { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub amount: ::core::option::Option, -} +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.tokenfactory.v1beta1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +/// QueryParamsResponse is the 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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgBurnResponse")] -pub struct MsgBurnResponse {} -/// MsgChangeAdmin is the sdk.Msg type for allowing an admin account to reassign -/// adminship of a denom to a new account +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// QueryDenomAuthorityMetadataRequest defines the request structure for the +/// DenomAuthorityMetadata gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdmin")] -pub struct MsgChangeAdmin { +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomAuthorityMetadataRequest")] +#[proto_query( + path = "/osmosis.tokenfactory.v1beta1.Query/DenomAuthorityMetadata", + response_type = QueryDenomAuthorityMetadataResponse +)] +pub struct QueryDenomAuthorityMetadataRequest { #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "2")] pub denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub new_admin: ::prost::alloc::string::String, } -/// MsgChangeAdminResponse defines the response structure for an executed -/// MsgChangeAdmin message. +/// QueryDenomAuthorityMetadataResponse defines the response structure for the +/// DenomAuthorityMetadata gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] -pub struct MsgChangeAdminResponse {} -/// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set -/// the denom's bank metadata +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomAuthorityMetadataResponse")] +pub struct QueryDenomAuthorityMetadataResponse { + #[prost(message, optional, tag = "1")] + pub authority_metadata: ::core::option::Option, +} +/// QueryDenomsFromCreatorRequest defines the request structure for the +/// DenomsFromCreator gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadata")] -pub struct MsgSetDenomMetadata { +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomsFromCreatorRequest")] +#[proto_query( + path = "/osmosis.tokenfactory.v1beta1.Query/DenomsFromCreator", + response_type = QueryDenomsFromCreatorResponse +)] +pub struct QueryDenomsFromCreatorRequest { #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub metadata: ::core::option::Option, + pub creator: ::prost::alloc::string::String, } -/// MsgSetDenomMetadataResponse defines the response structure for an executed -/// MsgSetDenomMetadata message. +/// QueryDenomsFromCreatorRequest defines the response structure for the +/// DenomsFromCreator gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] -pub struct MsgSetDenomMetadataResponse {} -/// DenomAuthorityMetadata specifies metadata for addresses that have specific -/// capabilities over a token factory denom. Right now there is only one Admin -/// permission, but is planned to be extended to the future. +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomsFromCreatorResponse")] +pub struct QueryDenomsFromCreatorResponse { + #[prost(string, repeated, tag = "1")] + pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// MsgCreateDenom defines the message structure for the CreateDenom gRPC service +/// method. It allows an account to create a new denom. It requires a sender +/// address and a sub denomination. The (sender_address, sub_denomination) tuple +/// must be unique and cannot be re-used. +/// +/// The resulting denom created is defined as +/// . The resulting denom's admin is +/// originally set to be the creator, but this can be changed later. The token +/// denom does not indicate the current admin. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.DenomAuthorityMetadata")] -pub struct DenomAuthorityMetadata { - /// Can be empty for no admin, or a valid osmosis address +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgCreateDenom")] +pub struct MsgCreateDenom { #[prost(string, tag = "1")] - pub admin: ::prost::alloc::string::String, + pub sender: ::prost::alloc::string::String, + /// subdenom can be up to 44 "alphanumeric" characters long. + #[prost(string, tag = "2")] + pub subdenom: ::prost::alloc::string::String, } -/// Params defines the parameters for the tokenfactory module. +/// MsgCreateDenomResponse is the return value of MsgCreateDenom +/// It returns the full string of the newly created denom +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.Params")] -pub struct Params { - #[prost(message, repeated, tag = "1")] - pub denom_creation_fee: - ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgCreateDenomResponse")] +pub struct MsgCreateDenomResponse { + #[prost(string, tag = "1")] + pub new_token_denom: ::prost::alloc::string::String, } -/// QueryParamsRequest is the request type for the Query/Params RPC method. +/// MsgMint is the sdk.Msg type for allowing an admin account to mint +/// more of a token. For now, we only support minting to the sender account +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryParamsRequest")] -#[proto_query( - path = "/osmosis.tokenfactory.v1beta1.Query/Params", - response_type = QueryParamsResponse -)] -pub struct QueryParamsRequest {} -/// QueryParamsResponse is the response type for the Query/Params RPC method. +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgMint")] +pub struct MsgMint { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub amount: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryParamsResponse")] -pub struct QueryParamsResponse { - /// params defines the parameters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -/// QueryDenomAuthorityMetadataRequest defines the request structure for the -/// DenomAuthorityMetadata gRPC query. +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgMintResponse")] +pub struct MsgMintResponse {} +/// MsgBurn is the sdk.Msg type for allowing an admin account to burn +/// a token. For now, we only support burning from the sender account. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomAuthorityMetadataRequest")] -#[proto_query( - path = "/osmosis.tokenfactory.v1beta1.Query/DenomAuthorityMetadata", - response_type = QueryDenomAuthorityMetadataResponse -)] -pub struct QueryDenomAuthorityMetadataRequest { +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgBurn")] +pub struct MsgBurn { #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub amount: ::core::option::Option, } -/// QueryDenomAuthorityMetadataResponse defines the response structure for the -/// DenomAuthorityMetadata gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomAuthorityMetadataResponse")] -pub struct QueryDenomAuthorityMetadataResponse { - #[prost(message, optional, tag = "1")] - pub authority_metadata: ::core::option::Option, -} -/// QueryDenomsFromCreatorRequest defines the request structure for the -/// DenomsFromCreator gRPC query. +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgBurnResponse")] +pub struct MsgBurnResponse {} +/// MsgChangeAdmin is the sdk.Msg type for allowing an admin account to reassign +/// adminship of a denom to a new account +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomsFromCreatorRequest")] -#[proto_query( - path = "/osmosis.tokenfactory.v1beta1.Query/DenomsFromCreator", - response_type = QueryDenomsFromCreatorResponse -)] -pub struct QueryDenomsFromCreatorRequest { +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdmin")] +pub struct MsgChangeAdmin { #[prost(string, tag = "1")] - pub creator: ::prost::alloc::string::String, + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub new_admin: ::prost::alloc::string::String, } -/// QueryDenomsFromCreatorRequest defines the response structure for the -/// DenomsFromCreator gRPC query. +/// MsgChangeAdminResponse defines the response structure for an executed +/// MsgChangeAdmin message. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryDenomsFromCreatorResponse")] -pub struct QueryDenomsFromCreatorResponse { - #[prost(string, repeated, tag = "1")] - pub denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// GenesisState defines the tokenfactory module's genesis state. +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] +pub struct MsgChangeAdminResponse {} +/// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set +/// the denom's bank metadata +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisState")] -pub struct GenesisState { - /// params defines the paramaters of the module. - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - #[prost(message, repeated, tag = "2")] - pub factory_denoms: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadata")] +pub struct MsgSetDenomMetadata { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub metadata: ::core::option::Option, } -/// GenesisDenom defines a tokenfactory denom that is defined within genesis -/// state. The structure contains DenomAuthorityMetadata which defines the -/// denom's admin. +/// MsgSetDenomMetadataResponse defines the response structure for an executed +/// MsgSetDenomMetadata message. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.GenesisDenom")] -pub struct GenesisDenom { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub authority_metadata: ::core::option::Option, -} +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] +pub struct MsgSetDenomMetadataResponse {} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 872c8027..945dc339 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -6,14 +6,15 @@ use osmosis_std_derive::CosmwasmExt; /// given SDK today. Would rather we optimize for readability and correctness, /// than an optimal state storage format. The system bottleneck is elsewhere for /// now. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.TwapRecord")] @@ -60,14 +61,15 @@ pub struct TwapRecord { pub last_error_time: ::core::option::Option, } /// Params holds parameters for the twap module +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.Params")] @@ -78,14 +80,15 @@ pub struct Params { pub record_history_keep_period: ::core::option::Option, } /// GenesisState defines the twap module's genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GenesisState")] @@ -97,14 +100,15 @@ pub struct GenesisState { #[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, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapRequest")] @@ -128,14 +132,15 @@ pub struct ArithmeticTwapRequest { #[prost(message, optional, tag = "5")] pub end_time: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapResponse")] @@ -143,14 +148,15 @@ pub struct ArithmeticTwapResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowRequest")] @@ -172,14 +178,15 @@ pub struct ArithmeticTwapToNowRequest { #[prost(message, optional, tag = "4")] pub start_time: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ArithmeticTwapToNowResponse")] @@ -187,14 +194,15 @@ pub struct ArithmeticTwapToNowResponse { #[prost(string, tag = "1")] pub arithmetic_twap: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapRequest")] @@ -218,14 +226,15 @@ pub struct GeometricTwapRequest { #[prost(message, optional, tag = "5")] pub end_time: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapResponse")] @@ -233,14 +242,15 @@ pub struct GeometricTwapResponse { #[prost(string, tag = "1")] pub geometric_twap: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapToNowRequest")] @@ -262,14 +272,15 @@ pub struct GeometricTwapToNowRequest { #[prost(message, optional, tag = "4")] pub start_time: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.GeometricTwapToNowResponse")] @@ -277,14 +288,15 @@ pub struct GeometricTwapToNowResponse { #[prost(string, tag = "1")] pub geometric_twap: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsRequest")] @@ -293,14 +305,15 @@ pub struct GeometricTwapToNowResponse { response_type = ParamsResponse )] pub struct ParamsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.twap.v1beta1.ParamsResponse")] diff --git a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs index ea732b17..f320e0de 100644 --- a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs @@ -3,14 +3,15 @@ use osmosis_std_derive::CosmwasmExt; /// This marks the token as eligible for use as a tx fee asset in Osmosis. /// Its price in osmo is derived through looking at the provided pool ID. /// The pool ID must have osmo as one of its assets. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.FeeToken")] @@ -24,19 +25,39 @@ pub struct FeeToken { )] pub pool_id: u64, } +/// GenesisState defines the txfees module's 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 = "/osmosis.txfees.v1beta1.GenesisState")] +pub struct GenesisState { + #[prost(string, tag = "1")] + pub basedenom: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "2")] + pub feetokens: ::prost::alloc::vec::Vec, +} /// UpdateFeeTokenProposal is a gov Content type for adding a new whitelisted fee /// token. It must specify a denom along with gamm pool ID to use as a spot price /// calculator. It can be used to add a new denom to the whitelist It can also be /// used to update the Pool to associate with the denom. If Pool ID is set to 0, /// it will remove the denom from the whitelisted set. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.UpdateFeeTokenProposal")] @@ -48,14 +69,15 @@ pub struct UpdateFeeTokenProposal { #[prost(message, optional, tag = "3")] pub feetoken: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryFeeTokensRequest")] @@ -64,14 +86,15 @@ pub struct UpdateFeeTokenProposal { response_type = QueryFeeTokensResponse )] pub struct QueryFeeTokensRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryFeeTokensResponse")] @@ -81,14 +104,15 @@ pub struct QueryFeeTokensResponse { } /// QueryDenomSpotPriceRequest defines grpc request structure for querying spot /// price for the specified tx fee denom +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryDenomSpotPriceRequest")] @@ -102,14 +126,15 @@ pub struct QueryDenomSpotPriceRequest { } /// QueryDenomSpotPriceRequest defines grpc response structure for querying spot /// price for the specified tx fee denom +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryDenomSpotPriceResponse")] @@ -123,14 +148,15 @@ pub struct QueryDenomSpotPriceResponse { #[prost(string, tag = "2")] pub spot_price: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryDenomPoolIdRequest")] @@ -142,14 +168,15 @@ pub struct QueryDenomPoolIdRequest { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryDenomPoolIdResponse")] @@ -161,14 +188,15 @@ pub struct QueryDenomPoolIdResponse { )] pub pool_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryBaseDenomRequest")] @@ -177,14 +205,15 @@ pub struct QueryDenomPoolIdResponse { response_type = QueryBaseDenomResponse )] pub struct QueryBaseDenomRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryBaseDenomResponse")] @@ -192,24 +221,6 @@ pub struct QueryBaseDenomResponse { #[prost(string, tag = "1")] pub base_denom: ::prost::alloc::string::String, } -/// GenesisState defines the txfees module's genesis state. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.txfees.v1beta1.GenesisState")] -pub struct GenesisState { - #[prost(string, tag = "1")] - pub basedenom: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "2")] - pub feetokens: ::prost::alloc::vec::Vec, -} pub struct TxfeesQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs index 9c2ea9e7..441b6257 100644 --- a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs @@ -4,14 +4,15 @@ use osmosis_std_derive::CosmwasmExt; /// state. If a user does not have a validator set preference list set, and has /// staked, make their preference list default to their current staking /// distribution. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.ValidatorPreference")] @@ -28,14 +29,15 @@ pub struct ValidatorPreference { /// It contains a list of (validator, percent_allocation) pairs. /// The percent allocation are arranged in decimal notation from 0 to 1 and must /// add up to 1. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.ValidatorSetPreferences")] @@ -44,15 +46,55 @@ pub struct ValidatorSetPreferences { #[prost(message, repeated, tag = "2")] pub preferences: ::prost::alloc::vec::Vec, } +/// Request type for UserValidatorPreferences. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.UserValidatorPreferencesRequest")] +#[proto_query( + path = "/osmosis.valsetpref.v1beta1.Query/UserValidatorPreferences", + response_type = UserValidatorPreferencesResponse +)] +pub struct UserValidatorPreferencesRequest { + /// user account address + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +/// Response type the QueryUserValidatorPreferences query request +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.UserValidatorPreferencesResponse")] +pub struct UserValidatorPreferencesResponse { + #[prost(message, repeated, tag = "1")] + pub preferences: ::prost::alloc::vec::Vec, +} /// MsgCreateValidatorSetPreference is a list that holds validator-set. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgSetValidatorSetPreference")] @@ -64,28 +106,30 @@ pub struct MsgSetValidatorSetPreference { #[prost(message, repeated, tag = "2")] pub preferences: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgSetValidatorSetPreferenceResponse")] pub struct MsgSetValidatorSetPreferenceResponse {} /// MsgDelegateToValidatorSet allows users to delegate to an existing /// validator-set +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateToValidatorSet")] @@ -100,26 +144,28 @@ pub struct MsgDelegateToValidatorSet { #[prost(message, optional, tag = "2")] pub coin: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateToValidatorSetResponse")] pub struct MsgDelegateToValidatorSetResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgUndelegateFromValidatorSet")] @@ -135,26 +181,28 @@ pub struct MsgUndelegateFromValidatorSet { #[prost(message, optional, tag = "3")] pub coin: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgUndelegateFromValidatorSetResponse")] pub struct MsgUndelegateFromValidatorSetResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgRedelegateValidatorSet")] @@ -166,28 +214,30 @@ pub struct MsgRedelegateValidatorSet { #[prost(message, repeated, tag = "2")] pub preferences: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgRedelegateValidatorSetResponse")] pub struct MsgRedelegateValidatorSetResponse {} /// MsgWithdrawDelegationRewards allows user to claim staking rewards from the /// validator set. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgWithdrawDelegationRewards")] @@ -196,14 +246,15 @@ pub struct MsgWithdrawDelegationRewards { #[prost(string, tag = "1")] pub delegator: ::prost::alloc::string::String, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgWithdrawDelegationRewardsResponse")] @@ -211,14 +262,15 @@ pub struct MsgWithdrawDelegationRewardsResponse {} /// MsgDelegateBondedTokens breaks bonded lockup (by ID) of osmo, of /// length <= 2 weeks and takes all that osmo and delegates according to /// delegator's current validator set preference. +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateBondedTokens")] @@ -234,55 +286,19 @@ pub struct MsgDelegateBondedTokens { )] pub lock_id: u64, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, PartialEq, Eq, ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, CosmwasmExt, )] #[proto_message(type_url = "/osmosis.valsetpref.v1beta1.MsgDelegateBondedTokensResponse")] pub struct MsgDelegateBondedTokensResponse {} -/// Request type for UserValidatorPreferences. -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.UserValidatorPreferencesRequest")] -#[proto_query( - path = "/osmosis.valsetpref.v1beta1.Query/UserValidatorPreferences", - response_type = UserValidatorPreferencesResponse -)] -pub struct UserValidatorPreferencesRequest { - /// user account address - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, -} -/// Response type the QueryUserValidatorPreferences query request -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - serde::Serialize, - serde::Deserialize, - schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.valsetpref.v1beta1.UserValidatorPreferencesResponse")] -pub struct UserValidatorPreferencesResponse { - #[prost(message, repeated, tag = "1")] - pub preferences: ::prost::alloc::vec::Vec, -} pub struct ValsetprefQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/proto-build/buf.gen.yaml b/packages/proto-build/buf.gen.yaml new file mode 100644 index 00000000..429154c6 --- /dev/null +++ b/packages/proto-build/buf.gen.yaml @@ -0,0 +1,9 @@ +version: v1 +plugins: + # - remote: buf.build/prost/plugins/prost:v0.2.1-1 + - plugin: buf.build/community/neoeinstein-prost + out: . + opt: + - extern_path=.google.protobuf.Timestamp=crate::shim::Timestamp + - extern_path=.google.protobuf.Duration=crate::shim::Duration + - extern_path=.google.protobuf.Any=crate::shim::Any diff --git a/packages/proto-build/buf.lock b/packages/proto-build/buf.lock new file mode 100644 index 00000000..958ce7c0 --- /dev/null +++ b/packages/proto-build/buf.lock @@ -0,0 +1,19 @@ +# Generated by buf. DO NOT EDIT. +version: v1 +deps: + - remote: buf.build + owner: cosmos + repository: cosmos-proto + commit: 1935555c206d4afb9e94615dfd0fad31 + - remote: buf.build + owner: cosmos + repository: cosmos-sdk + commit: 4074ba39c09e4b4799271a56a053227c + - remote: buf.build + owner: cosmos + repository: gogo-proto + commit: 34d970b699f84aa382f3c29773a60836 + - remote: buf.build + owner: googleapis + repository: googleapis + commit: 75b4300737fb4efca0831636be94e517 diff --git a/packages/proto-build/buf.yaml b/packages/proto-build/buf.yaml new file mode 100644 index 00000000..2504a080 --- /dev/null +++ b/packages/proto-build/buf.yaml @@ -0,0 +1,23 @@ +version: v1 +name: buf.build/osmosis-labs/osmosis +deps: + - buf.build/cosmos/cosmos-sdk + - buf.build/cosmos/cosmos-proto + - buf.build/cosmos/gogo-proto + - buf.build/googleapis/googleapis +breaking: + use: + - FILE +lint: + use: + - DEFAULT + - COMMENTS + - FILE_LOWER_SNAKE_CASE + except: + - UNARY_RPC + - COMMENT_FIELD + - SERVICE_SUFFIX + - PACKAGE_VERSION_SUFFIX + - RPC_REQUEST_STANDARD_NAME + ignore: + - tendermint diff --git a/packages/proto-build/src/code_generator.rs b/packages/proto-build/src/code_generator.rs index 67c11bac..8f1964b4 100644 --- a/packages/proto-build/src/code_generator.rs +++ b/packages/proto-build/src/code_generator.rs @@ -1,7 +1,7 @@ use std::fs::{create_dir_all, remove_dir_all}; use std::path::{Path, PathBuf}; use std::process::Command; -use std::{env, fs}; +use std::{env, fs, io}; use log::info; use prost::Message; @@ -10,9 +10,14 @@ use walkdir::WalkDir; use crate::{mod_gen, transform}; -const DESCRIPTOR_FILE: &str = "descriptor.bin"; const UNSUPPORTED_MODULE: &[&str] = &[ - "cosmos.base.abci", // currently unsupported due to dependency on tendermint-proto + // currently unsupported due to dependency on tendermint-proto + "cosmos.base.abci", + "cosmos.base.kv", + "cosmos.base.reflection", + "cosmos.base.store", + "cosmos.base.snapshots", + "cosmos.base.tendermint", ]; #[derive(Clone, Debug)] @@ -22,13 +27,11 @@ pub struct CosmosProject { pub project_dir: String, /// determines which modules to include from the project - /// empty vector means include all modules pub include_mods: Vec, } pub struct CodeGenerator { project: CosmosProject, - tonic_build_config: tonic_build::Builder, root: PathBuf, out_dir: PathBuf, tmp_build_dir: PathBuf, @@ -43,16 +46,8 @@ impl CodeGenerator { project: CosmosProject, deps: Vec, ) -> Self { - let tonic_build_config = tonic_build::configure() - .build_client(false) - .build_server(false) - .extern_path(".google.protobuf.Timestamp", "crate::shim::Timestamp") - .extern_path(".google.protobuf.Duration", "crate::shim::Duration") - .extern_path(".google.protobuf.Any", "crate::shim::Any"); - Self { project, - tonic_build_config, root: PathBuf::from(env!("CARGO_MANIFEST_DIR")), out_dir, tmp_build_dir, @@ -148,65 +143,84 @@ impl CodeGenerator { } fn compile_proto(&self) { - let include_paths = ["proto", "third_party/proto"]; + let buf_gen_template = self.root.join("buf.gen.yaml"); let all_related_projects = vec![self.deps.clone(), vec![self.project.clone()]].concat(); - // construct absolute paths to be included from all related projects - let proto_includes_paths: Vec = all_related_projects - .iter() - .flat_map(|project| { - { - include_paths - .iter() - .map(|path| self.root.join(&project.project_dir).join(path)) - } - }) - .map(PathBuf::from) - .collect(); - - let proto_paths = all_related_projects - .iter() - .map(|p| { - let paths = fs::read_dir( - self.root - .join(&p.project_dir) - .join(format!("proto/{}", p.name)), - ) - .unwrap() - .map(|d| d.unwrap().path().to_string_lossy().to_string()) - .collect::>(); - - // if include_mods is not empty, include only those, else include everything - if !p.include_mods.is_empty() { - let include_mods = p.include_mods.to_vec(); - paths - .into_iter() - .filter(|p| include_mods.iter().any(|m| p.contains(m))) - .collect() - } else { - paths - } - }) - .collect::>>() - .concat(); - - // List available proto files - let mut protos: Vec = vec![]; - collect_protos(&proto_paths, &mut protos); - info!( "🧪 [{}] Compiling types from protobuf definitions...", self.project.name ); - let descriptor_file = self.tmp_namespaced_dir().join(DESCRIPTOR_FILE); - self.tonic_build_config - .clone() - .out_dir(self.tmp_namespaced_dir()) - .file_descriptor_set_path(&descriptor_file) - .compile(&protos, &proto_includes_paths) - .unwrap(); + // Compile proto files for each file in `protos` variable + // `buf generate —template {` + for project in all_related_projects { + let buf_root = WalkDir::new(&self.root.join(&project.project_dir)) + .into_iter() + .filter_map(|e| e.ok()) + .find(|e| { + e.file_name() + .to_str() + .map(|s| s == "buf.yaml" || s == "buf.yml") + .unwrap_or(false) + }) + .map(|e| e.path().parent().unwrap().to_path_buf()) + .unwrap(); + + let proto_path = &self.root.join(&project.project_dir).join("proto"); + + let mut cmd = Command::new("buf"); + cmd.arg("generate") + .arg(buf_root.to_string_lossy().to_string()) + .arg("--template") + .arg(buf_gen_template.to_string_lossy().to_string()) + .arg("--output") + .arg(self.tmp_namespaced_dir().to_string_lossy().to_string()); + + if !project.include_mods.is_empty() { + for include_mod in project.include_mods.clone() { + cmd.arg("--path") + .arg(proto_path.join(project.name.clone()).join(include_mod)); + } + } + + let exit_status = cmd.spawn().unwrap().wait().unwrap(); + + if !exit_status.success() { + panic!( + "unable to generate with: {:?}", + cmd.get_args().collect::>() + ); + } + + let descriptor_file = self + .tmp_namespaced_dir() + .join(format!("descriptor_{}.bin", project.name)); + + // generate descriptor file with `buf build buf.yaml --as-file-descriptor-set -o {descriptor_file}` + let mut cmd = Command::new("buf"); + cmd.arg("build") + .arg(buf_root.to_string_lossy().to_string()) + .arg("--as-file-descriptor-set") + .arg("-o") + .arg(descriptor_file.to_string_lossy().to_string()); + + if !project.include_mods.is_empty() { + for include_mod in project.include_mods { + cmd.arg("--path") + .arg(proto_path.join(project.name.clone()).join(include_mod)); + } + } + + let exit_status = cmd.spawn().unwrap().wait().unwrap(); + + if !exit_status.success() { + panic!( + "unable to build with: {:?}", + cmd.get_args().collect::>() + ); + } + } info!( "✨ [{}] Types from protobuf definitions is compiled successfully!", @@ -215,13 +229,37 @@ impl CodeGenerator { } pub fn file_descriptor_set(&self) -> FileDescriptorSet { - let descriptor_file = self.tmp_namespaced_dir().join(DESCRIPTOR_FILE); - let descriptor_bytes = &fs::read(descriptor_file).unwrap()[..]; + // list all files in self.tmp_namespaced_dir() + let files = fs::read_dir(self.tmp_namespaced_dir()) + .unwrap() + .map(|res| res.map(|e| e.path())) + .collect::, io::Error>>() + .unwrap(); - FileDescriptorSet::decode(descriptor_bytes).unwrap() - } + // filter only files that match "descriptor_*.bin" + let descriptor_files = files + .iter() + .filter(|f| { + f.file_name() + .unwrap() + .to_str() + .unwrap() + .starts_with("descriptor_") + }) + .collect::>(); + + // read all files and merge them into one FileDescriptorSet + let mut file_descriptor_set = FileDescriptorSet { file: vec![] }; + for descriptor_file in descriptor_files { + let descriptor_bytes = &fs::read(descriptor_file).unwrap()[..]; + let mut file_descriptor_set_tmp = FileDescriptorSet::decode(descriptor_bytes).unwrap(); + file_descriptor_set + .file + .append(&mut file_descriptor_set_tmp.file); + } - // TODO: create config tonic + file_descriptor_set + } fn tmp_namespaced_dir(&self) -> PathBuf { self.tmp_build_dir.join(&self.project.name) @@ -233,27 +271,6 @@ fn output_version_file(project_name: &str, versions: &str, out_dir: &Path) { fs::write(path, versions).unwrap(); } -/// collect_protos walks every path in `proto_paths` and recursively locates all .proto -/// files in each path's subdirectories, adding the full path of each file to `protos` -/// -/// Any errors encountered will cause failure for the path provided to WalkDir::new() -fn collect_protos(proto_paths: &[String], protos: &mut Vec) { - for proto_path in proto_paths { - protos.append( - &mut WalkDir::new(proto_path) - .into_iter() - .filter_map(|e| e.ok()) - .filter(|e| { - e.file_type().is_file() - && e.path().extension().is_some() - && e.path().extension().unwrap() == "proto" - }) - .map(|e| e.into_path()) - .collect(), - ); - } -} - fn find_cargo_toml(path: &Path) -> PathBuf { if path.join("Cargo.toml").exists() { path.to_path_buf().join("Cargo.toml") diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 30b1445c..17dff5b9 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -11,10 +11,10 @@ use proto_build::{ }; /// The Cosmos SDK commit or tag to be cloned and used to build the proto files -const COSMOS_SDK_REV: &str = "sdk-v13.0.0-rc2"; +const COSMOS_SDK_REV: &str = "origin/osmosis-main"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "origin/feat/non-owner-force-unlock"; +const OSMOSIS_REV: &str = "v15.0.0-rc3"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. @@ -49,7 +49,15 @@ pub fn generate() { name: "cosmos".to_string(), version: COSMOS_SDK_REV.to_string(), project_dir: COSMOS_SDK_DIR.to_string(), - include_mods: vec!["bank".to_string(), "authz".to_string()], + include_mods: vec![ + "auth".to_string(), + "authz".to_string(), + "bank".to_string(), + "base".to_string(), + "staking/v1beta1/genesis.proto".to_string(), + "staking/v1beta1/staking.proto".to_string(), + "staking/v1beta1/tx.proto".to_string(), + ], }; let osmosis_code_generator = CodeGenerator::new( diff --git a/packages/proto-build/src/transform.rs b/packages/proto-build/src/transform.rs index 201381a3..91247a26 100644 --- a/packages/proto-build/src/transform.rs +++ b/packages/proto-build/src/transform.rs @@ -156,15 +156,23 @@ fn transform_items( }; items .into_iter() - .map(|i| match i.clone() { + .map(|i| match i { Item::Struct(s) => Item::Struct({ - let s = transformers::add_derive_eq(&s); - let s = transformers::append_attrs(src, &s, descriptor); + let s = transformers::add_derive_eq_struct(&s); + let s = transformers::append_attrs_struct(src, &s, descriptor); let s = transformers::serde_alias_id_with_uppercased(s); transformers::allow_serde_int_as_str(s) }), - _ => i, + Item::Enum(e) => Item::Enum({ + let e = transformers::add_derive_eq_enum(&e); + transformers::append_attrs_enum(src, &e, descriptor) + }), + + // This is a temporary hack to fix the issue with clashing stake authorization validators + Item::Mod(m) => Item::Mod(transformers::fix_clashing_stake_authorization_validators(m)), + + i => i, }) // TODO: Remove this temporary hack when cosmos & tendermint code gen is supported .map(remove_struct_fields_that_depends_on_tendermint_proto) diff --git a/packages/proto-build/src/transformers.rs b/packages/proto-build/src/transformers.rs index 59e20a4d..78c6846a 100644 --- a/packages/proto-build/src/transformers.rs +++ b/packages/proto-build/src/transformers.rs @@ -7,6 +7,8 @@ use prost_types::{ DescriptorProto, EnumDescriptorProto, FileDescriptorSet, ServiceDescriptorProto, }; use regex::Regex; +use syn::ItemEnum; +use syn::ItemMod; use syn::__private::quote::__private::Group; use syn::__private::quote::__private::TokenStream as TokenStream2; use syn::__private::quote::__private::TokenTree; @@ -34,74 +36,81 @@ pub const REPLACEMENTS: &[(&str, &str)] = &[ ), ]; -pub fn add_derive_eq(s: &ItemStruct) -> ItemStruct { - let mut item_struct = s.clone(); - item_struct.attrs = item_struct - .attrs - .into_iter() - .map(|mut attr| { - // find derive attribute - if attr.path.is_ident("derive") { - attr.tokens = attr - .tokens - .into_iter() - .map(|token_tree| { - match token_tree { - // with group token stream, which is `#[derive( ... )]` - TokenTree::Group(group) => { - let has_ident = |ident_str: &str| { - group.stream().into_iter().any(|token| match token { +pub fn add_derive_eq(mut attr: Attribute) -> Attribute { + // find derive attribute + if attr.path.is_ident("derive") { + attr.tokens = attr + .tokens + .into_iter() + .map(|token_tree| { + match token_tree { + // with group token stream, which is `#[derive( ... )]` + TokenTree::Group(group) => { + let has_ident = |ident_str: &str| { + group.stream().into_iter().any(|token| match token { + TokenTree::Ident(ident) => ident == format_ident!("{}", ident_str), + _ => false, + }) + }; + + // if does not have both PartialEq and Eq + let stream = if !(has_ident("PartialEq") && has_ident("Eq")) { + // construct new token stream + group + .stream() + .into_iter() + .flat_map(|token| { + match token { + // if there exist `PartialEq` in derive attr TokenTree::Ident(ident) => { - ident == format_ident!("{}", ident_str) - } - _ => false, - }) - }; - - // if does not have both PartialEq and Eq - let stream = if !(has_ident("PartialEq") && has_ident("Eq")) { - // construct new token stream - group - .stream() - .into_iter() - .flat_map(|token| { - match token { - // if there exist `PartialEq` in derive attr - TokenTree::Ident(ident) => { - if ident == format_ident!("PartialEq") { - // expand token stream in group with `#[derive( ..., PartialEq, ... )]` to ``#[derive( ..., PartialEq, Eq, ... )]`` - let expanded_token_stream: TokenStream2 = - syn::parse_quote!(PartialEq, Eq); - expanded_token_stream.into_iter().collect() - } else { - vec![TokenTree::Ident(ident)] - } - } - tt => vec![tt], + if ident == format_ident!("PartialEq") { + // expand token stream in group with `#[derive( ..., PartialEq, ... )]` to ``#[derive( ..., PartialEq, Eq, ... )]`` + let expanded_token_stream: TokenStream2 = + syn::parse_quote!(PartialEq, Eq); + expanded_token_stream.into_iter().collect() + } else { + vec![TokenTree::Ident(ident)] } - }) - .collect() - } else { - group.stream() - }; + } + tt => vec![tt], + } + }) + .collect() + } else { + group.stream() + }; + + TokenTree::Group(Group::new(group.delimiter(), stream)) + } + _ => token_tree, + } + }) + .collect(); + attr + } else { + attr + } +} - TokenTree::Group(Group::new(group.delimiter(), stream)) - } - _ => token_tree, - } - }) - .collect(); - attr - } else { - attr - } - }) - .collect(); +pub fn add_derive_eq_struct(s: &ItemStruct) -> ItemStruct { + let mut item_struct = s.clone(); + item_struct.attrs = item_struct.attrs.into_iter().map(add_derive_eq).collect(); item_struct } -pub fn append_attrs(src: &Path, s: &ItemStruct, descriptor: &FileDescriptorSet) -> ItemStruct { +pub fn add_derive_eq_enum(s: &ItemEnum) -> ItemEnum { + let mut item_enum = s.clone(); + item_enum.attrs = item_enum.attrs.into_iter().map(add_derive_eq).collect(); + + item_enum +} + +pub fn append_attrs_struct( + src: &Path, + s: &ItemStruct, + descriptor: &FileDescriptorSet, +) -> ItemStruct { let mut s = s.clone(); let query_services = extract_query_services(descriptor); let type_url = get_type_url(src, &s.ident, descriptor); @@ -109,7 +118,7 @@ pub fn append_attrs(src: &Path, s: &ItemStruct, descriptor: &FileDescriptorSet) let deprecated = get_deprecation(src, &s.ident, descriptor); s.attrs.append(&mut vec![ - syn::parse_quote! { #[derive(serde::Serialize, serde::Deserialize, schemars::JsonSchema, CosmwasmExt)] }, + syn::parse_quote! { #[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema, CosmwasmExt)] }, syn::parse_quote! { #[proto_message(type_url = #type_url)] }, ]); @@ -125,6 +134,22 @@ pub fn append_attrs(src: &Path, s: &ItemStruct, descriptor: &FileDescriptorSet) s } +pub fn append_attrs_enum(src: &Path, e: &ItemEnum, descriptor: &FileDescriptorSet) -> ItemEnum { + let mut e = e.clone(); + let deprecated = get_deprecation(src, &e.ident, descriptor); + + e.attrs.append(&mut vec![ + syn::parse_quote! { #[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] }, + ]); + + if deprecated { + e.attrs + .append(&mut vec![syn::parse_quote! { #[deprecated] }]); + } + + e +} + pub fn allow_serde_int_as_str(s: ItemStruct) -> ItemStruct { let fields_vec = s .fields @@ -449,6 +474,51 @@ pub fn append_querier( vec![items, querier].concat() } +/// This is a hack to fix a clashing name in the stake_authorization module +pub fn fix_clashing_stake_authorization_validators(input: ItemMod) -> ItemMod { + // do this only if the module is named "stake_authorization" + if input.ident != "stake_authorization" { + return input; + } + let new_name = Ident::new("Validators_", input.ident.span()); + let mut validators = None; + let items = input.content.clone().unwrap().1; + + // Iterate over the items in the module and look for the Validators struct then rename it + let items = items.into_iter().map(|mut item| { + if let Item::Struct(ref mut s) = item { + if s.ident == "Validators" { + s.ident = new_name.clone(); + validators = Some(s.clone()); + } + } + item + }); + + // Update any references to the struct + let items = items.into_iter().map(|mut item| { + if let Item::Enum(ref mut e) = item { + if e.ident == "Validators" { + for v in e.variants.iter_mut() { + if let Fields::Unnamed(ref mut f) = v.fields { + if let Type::Path(ref mut p) = f.unnamed.first_mut().unwrap().ty { + if p.path.segments.first().unwrap().ident == "Validators" { + p.path.segments.first_mut().unwrap().ident = new_name.clone(); + } + } + } + } + } + } + item + }); + + ItemMod { + content: Some((input.content.unwrap().0, items.collect())), + ..input + } +} + #[cfg(test)] mod tests { use super::*; @@ -479,7 +549,7 @@ mod tests { } }; - let result = add_derive_eq(&item_struct); + let result = add_derive_eq_struct(&item_struct); let expected: ItemStruct = syn::parse_quote! { #[derive(PartialEq, Eq, Debug)] struct Hello { @@ -499,7 +569,7 @@ mod tests { } }; - let result = add_derive_eq(&item_struct); + let result = add_derive_eq_struct(&item_struct); assert_ast_eq!(item_struct, result); } @@ -513,7 +583,7 @@ mod tests { } }; - let result = add_derive_eq(&item_struct); + let result = add_derive_eq_struct(&item_struct); let expected: ItemStruct = syn::parse_quote! { #[derive(PartialEq, Eq, Debug)] From 8d6f6fb96f7f7c75ddc7a54aa01296b4d6dea638 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 10 Mar 2023 13:19:54 +0700 Subject: [PATCH 120/142] install buf on github action --- .github/workflows/update-and-rebuild.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/update-and-rebuild.yaml b/.github/workflows/update-and-rebuild.yaml index cb3cbf1e..356bde80 100644 --- a/.github/workflows/update-and-rebuild.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -26,6 +26,10 @@ jobs: with: go-version: ">=1.19.0" + - name: Install buf + run: | + GO111MODULE=on go install github.com/bufbuild/buf/cmd/buf@v1.15.1 + - name: Checkout uses: actions/checkout@v3 From b95c82c70b3f78021eb6d375132d6c4c7385e0e2 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 10 Mar 2023 13:24:03 +0700 Subject: [PATCH 121/142] add proper name to generate code step --- .github/workflows/update-and-rebuild.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/update-and-rebuild.yaml b/.github/workflows/update-and-rebuild.yaml index 356bde80..76ed0ae4 100644 --- a/.github/workflows/update-and-rebuild.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -46,7 +46,8 @@ jobs: key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} restore-keys: ${{ runner.os }}-cargo- - - run: | + - name: Generate code + run: | git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" ./scripts/update-and-rebuild.sh "$OSMOSIS_REV" From de0617edc12a91e76a5b20d31ff94bb817b14b9a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 10 Mar 2023 13:31:44 +0700 Subject: [PATCH 122/142] remove osmosis-testing updates --- .github/workflows/update-and-rebuild.yaml | 4 ++++ scripts/update-and-rebuild.sh | 25 ----------------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/.github/workflows/update-and-rebuild.yaml b/.github/workflows/update-and-rebuild.yaml index 76ed0ae4..f77ec9d4 100644 --- a/.github/workflows/update-and-rebuild.yaml +++ b/.github/workflows/update-and-rebuild.yaml @@ -50,6 +50,10 @@ jobs: run: | git config --global user.name "github-actions[bot]" git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + + # buf is installed in GOPATH + export PATH=${PATH}:`go env GOPATH`/bin + ./scripts/update-and-rebuild.sh "$OSMOSIS_REV" env: diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index b7734b11..d665a6d9 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -29,31 +29,6 @@ git diff # rebuild osmosis-std cd "$SCRIPT_DIR/../packages/proto-build/" && cargo run -- --update-deps -######################################## -## Update and rebuild osmosis-testing ## -######################################## - -# submodules already updated due to `cargo run -- --update-deps` - - -# build and run update-osmosis-testing -cd "$SCRIPT_DIR/update-osmosis-testing-replace" && go build -UPDATE_OSMOSIS_TESTING_REPLACE_BIN="$SCRIPT_DIR/update-osmosis-testing-replace/update-osmosis-testing-replace" - -# run update-osmosis-testing-replace which will replace the `replace directives` in osmosis-testing -# with osmosis' -$UPDATE_OSMOSIS_TESTING_REPLACE_BIN - - -cd "$SCRIPT_DIR/../packages/osmosis-testing/libosmosistesting" - -# sync rev -go get "github.com/osmosis-labs/osmosis/$OSMOSIS_VERSION@$(echo "$OSMOSIS_REV" | sed "s/^origin\///")" - -# tidy up updated go.mod -go mod tidy - - ######################################## ## Update git revision if there is ## ## any change ## From a6f3e521dd37dc2422e6fd6411ee0e173bb8e230 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 11 Mar 2023 01:31:58 +0000 Subject: [PATCH 123/142] Update latest osmosis tag timestamp to 1678471069 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 92a02013..dbf84e0e 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1678220834 +1678471069 From 355861fbb5bb5718a486de0f264b92f4941dea7d Mon Sep 17 00:00:00 2001 From: larry <26318510+larry0x@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:50:59 +0000 Subject: [PATCH 124/142] remove private imports --- packages/proto-build/Cargo.toml | 2 ++ packages/proto-build/src/mod_gen.rs | 4 ++-- packages/proto-build/src/transform.rs | 2 +- packages/proto-build/src/transformers.rs | 7 ++----- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/proto-build/Cargo.toml b/packages/proto-build/Cargo.toml index f3dcc9be..b548ae4b 100644 --- a/packages/proto-build/Cargo.toml +++ b/packages/proto-build/Cargo.toml @@ -11,9 +11,11 @@ itertools = "0.10.3" log = "0.4.17" pretty_env_logger = "0.4.0" prettyplease = "0.1.16" +proc-macro2 = "1.0.52" prost = "0.10" prost-build = "0.10" prost-types = "0.10" +quote = "1.0.26" regex = "1" syn = {version = "1.0.98", features = ["full", "parsing"]} tonic = "0.7" diff --git a/packages/proto-build/src/mod_gen.rs b/packages/proto-build/src/mod_gen.rs index 384df193..4e020045 100644 --- a/packages/proto-build/src/mod_gen.rs +++ b/packages/proto-build/src/mod_gen.rs @@ -1,10 +1,10 @@ use itertools::Itertools; +use proc_macro2::{TokenStream as TokenStream2}; +use quote::{format_ident, quote}; use std::ffi::OsStr; use std::fs; use std::fs::create_dir_all; use std::path::{Path, PathBuf}; -use syn::__private::quote::__private::TokenStream as TokenStream2; -use syn::__private::quote::{format_ident, quote}; pub fn generate_mod_file(for_dir: &Path) { let root = PathBuf::from(env!("CARGO_MANIFEST_DIR")); diff --git a/packages/proto-build/src/transform.rs b/packages/proto-build/src/transform.rs index 91247a26..55201eca 100644 --- a/packages/proto-build/src/transform.rs +++ b/packages/proto-build/src/transform.rs @@ -1,12 +1,12 @@ use heck::ToUpperCamelCase; use log::debug; use prost_types::FileDescriptorSet; +use quote::ToTokens; use regex::Regex; use std::ffi::OsStr; use std::fs::{create_dir_all, remove_dir_all}; use std::path::{Path, PathBuf}; use std::{fs, io}; -use syn::__private::ToTokens; use syn::{parse_quote, File, Item, ItemMod}; use walkdir::WalkDir; diff --git a/packages/proto-build/src/transformers.rs b/packages/proto-build/src/transformers.rs index 78c6846a..78be62dd 100644 --- a/packages/proto-build/src/transformers.rs +++ b/packages/proto-build/src/transformers.rs @@ -3,17 +3,14 @@ use std::path::Path; use heck::ToSnakeCase; use heck::ToUpperCamelCase; +use proc_macro2::{Group, TokenStream as TokenStream2, TokenTree}; use prost_types::{ DescriptorProto, EnumDescriptorProto, FileDescriptorSet, ServiceDescriptorProto, }; +use quote::{format_ident, quote}; use regex::Regex; use syn::ItemEnum; use syn::ItemMod; -use syn::__private::quote::__private::Group; -use syn::__private::quote::__private::TokenStream as TokenStream2; -use syn::__private::quote::__private::TokenTree; -use syn::__private::quote::format_ident; -use syn::__private::quote::quote; use syn::{parse_quote, Attribute, Fields, Ident, Item, ItemStruct, Type}; /// Regex substitutions to apply to the prost-generated output From c9394477132f1f073088dfbb0a75bb86fbab7831 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 28 Mar 2023 02:08:17 +0000 Subject: [PATCH 125/142] rebuild with 3ffb10f --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../osmosis/concentratedliquidity/mod.rs | 24 + .../osmosis/concentratedliquidity/v1beta1.rs | 967 ++++++++++++++++++ .../gamm/poolmodels/balancer/v1beta1.rs | 46 + .../src/types/osmosis/gamm/v1beta1.rs | 111 ++ .../osmosis-std/src/types/osmosis/gamm/v2.rs | 9 +- packages/osmosis-std/src/types/osmosis/mod.rs | 1 + .../src/types/osmosis/poolmanager/v1beta1.rs | 251 ++++- .../src/types/osmosis/superfluid/mod.rs | 52 + .../src/types/osmosis/tokenfactory/v1beta1.rs | 120 +++ packages/proto-build/src/main.rs | 2 +- 12 files changed, 1570 insertions(+), 17 deletions(-) create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index 3ffb10f6..a55bbb90 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 3ffb10f6eec16001a55aa46f5aeddf0d50a5cffd +Subproject commit a55bbb90bb79e302358b66c6901a4f4e7504a258 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index ea9a5e1e..1a99750f 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v15.0.0-rc3 \ No newline at end of file +origin/main \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs new file mode 100644 index 00000000..8da56098 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs @@ -0,0 +1,24 @@ +pub mod v1beta1; +use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] +pub struct Params { + /// authorized_tick_spacing is an array of uint64s that represents the tick + /// spacing values concentrated-liquidity pools can be created with. For + /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools + /// to be created with tick spacing of 1, 10, or 30. + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub authorized_tick_spacing: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "2")] + pub authorized_swap_fees: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs new file mode 100644 index 00000000..63729db5 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -0,0 +1,967 @@ +use osmosis_std_derive::CosmwasmExt; +/// Position contains position's id, address, pool id, lower tick, upper tick +/// join time, freeze duration, and liquidity. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] +pub struct Position { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "6")] + pub join_time: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub freeze_duration: ::core::option::Option, + #[prost(string, tag = "8")] + pub liquidity: ::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 = "/osmosis.concentratedliquidity.v1beta1.PositionWithUnderlyingAssetBreakdown" +)] +pub struct PositionWithUnderlyingAssetBreakdown { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(string, tag = "2")] + pub asset0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub asset1: ::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 = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] +pub struct TickInfo { + #[prost(string, tag = "1")] + pub liquidity_gross: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub fee_growth_outside: + ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub uptime_trackers: ::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 = "/osmosis.concentratedliquidity.v1beta1.UptimeTracker")] +pub struct UptimeTracker { + #[prost(message, repeated, tag = "1")] + pub uptime_growth_outside: + ::prost::alloc::vec::Vec, +} +/// FullTick contains tick index and pool id along with other tick model +/// information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullTick")] +pub struct FullTick { + /// pool id associated with the tick. + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + /// tick's index. + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_index: i64, + /// tick's info. + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, +} +/// PoolData represents a serialized pool along with its ticks +/// for 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 = "/osmosis.concentratedliquidity.v1beta1.PoolData")] +pub struct PoolData { + /// pool struct + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, + /// pool's ticks + #[prost(message, repeated, tag = "2")] + pub ticks: ::prost::alloc::vec::Vec, +} +/// GenesisState defines the concentrated liquidity module's 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 = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// pool data containining serialized pool struct and ticks. + #[prost(message, repeated, tag = "2")] + pub pool_data: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub positions: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_position_id: u64, +} +/// IncentiveRecordBody represents an active perpetual incentive gauge for a pool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] +pub struct IncentiveRecordBody { + /// remaining_amount is the total amount of incentives to be distributed + #[prost(string, tag = "1")] + pub remaining_amount: ::prost::alloc::string::String, + /// emission_rate is the incentive emission rate per second + #[prost(string, tag = "2")] + pub emission_rate: ::prost::alloc::string::String, + /// start_time is the time when the incentive starts distributing + #[prost(message, optional, tag = "3")] + pub start_time: ::core::option::Option, +} +/// =============================== UserPositions +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", + response_type = QueryUserPositionsResponse +)] +pub struct QueryUserPositionsRequest { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] +pub struct QueryUserPositionsResponse { + #[prost(message, repeated, tag = "1")] + pub positions: ::prost::alloc::vec::Vec, +} +/// =============================== PositionById +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/PositionById", + response_type = QueryPositionByIdResponse +)] +pub struct QueryPositionByIdRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdResponse")] +pub struct QueryPositionByIdResponse { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, +} +/// =============================== Pools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", + response_type = QueryPoolsResponse +)] +pub struct QueryPoolsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::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 = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] +pub struct QueryPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// =============================== ModuleParams +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", + 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 = "/osmosis.concentratedliquidity.v1beta1.QueryParamsResponse")] +pub struct QueryParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// =============================== LiquidityDepthsForRange +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityDepthsForRange", + response_type = QueryLiquidityDepthsForRangeResponse +)] +pub struct QueryLiquidityDepthsForRangeRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub lower_tick: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub upper_tick: ::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 = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeResponse" +)] +pub struct QueryLiquidityDepthsForRangeResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity_depths: ::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 = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepth")] +pub struct LiquidityDepth { + #[prost(string, tag = "1")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub tick_index: ::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 = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] +pub struct LiquidityDepthWithRange { + #[prost(string, tag = "1")] + pub liquidity_amount: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub lower_tick: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub upper_tick: ::prost::alloc::string::String, +} +/// =============================== TickLiquidityInBatches +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/TotalLiquidityForRange", + response_type = QueryTotalLiquidityForRangeResponse +)] +pub struct QueryTotalLiquidityForRangeRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeResponse" +)] +pub struct QueryTotalLiquidityForRangeResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity: ::prost::alloc::vec::Vec, +} +/// ===================== MsgQueryClaimableFees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/ClaimableFees", + response_type = QueryClaimableFeesResponse +)] +pub struct QueryClaimableFeesRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesResponse")] +pub struct QueryClaimableFeesResponse { + #[prost(message, repeated, tag = "1")] + pub claimable_fees: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateConcentratedPool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] +pub struct MsgCreateConcentratedPool { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub denom1: ::prost::alloc::string::String, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, + #[prost(string, tag = "5")] + pub precision_factor_at_price_one: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub swap_fee: ::prost::alloc::string::String, +} +/// Returns a unique poolID to identify the pool with. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" +)] +pub struct MsgCreateConcentratedPoolResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.Pool")] +pub struct Pool { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde(alias = "ID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of total liquidity + #[prost(string, tag = "3")] + pub current_tick_liquidity: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub token0: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub token1: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub current_sqrt_price: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub current_tick: ::prost::alloc::string::String, + /// tick_spacing must be one of the authorized_tick_spacing values set in the + /// concentrated-liquidity parameters + #[prost(uint64, tag = "8")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, + #[prost(string, tag = "9")] + pub precision_factor_at_price_one: ::prost::alloc::string::String, + /// swap_fee is the ratio that is charged on the amount of token in. + #[prost(string, tag = "10")] + pub swap_fee: ::prost::alloc::string::String, + /// last_liquidity_update is the last time either the pool liquidity or the + /// active tick changed + #[prost(message, optional, tag = "11")] + pub last_liquidity_update: ::core::option::Option, +} +/// ===================== MsgCreatePosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] +pub struct MsgCreatePosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "5")] + pub token_desired0: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub token_desired1: ::core::option::Option, + #[prost(string, tag = "7")] + pub token_min_amount0: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub token_min_amount1: ::prost::alloc::string::String, + #[prost(message, optional, tag = "9")] + pub freeze_duration: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] +pub struct MsgCreatePositionResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub amount1: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, + #[prost(string, tag = "5")] + pub liquidity_created: ::prost::alloc::string::String, +} +/// ===================== MsgWithdrawPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] +pub struct MsgWithdrawPosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_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 = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] +pub struct MsgWithdrawPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, +} +/// ===================== MsgCollectFees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] +pub struct MsgCollectFees { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] +pub struct MsgCollectFeesResponse { + #[prost(message, repeated, tag = "1")] + pub collected_fees: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCollectIncentives +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentives")] +pub struct MsgCollectIncentives { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentivesResponse")] +pub struct MsgCollectIncentivesResponse { + #[prost(message, repeated, tag = "1")] + pub collected_incentives: + ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateIncentive +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentive")] +pub struct MsgCreateIncentive { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub incentive_denom: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub incentive_amount: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub emission_rate: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub min_uptime: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentiveResponse")] +pub struct MsgCreateIncentiveResponse { + #[prost(string, tag = "1")] + pub incentive_denom: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub incentive_amount: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub emission_rate: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub min_uptime: ::core::option::Option, +} +pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn pools( + &self, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryPoolsRequest { pagination }.query(self.querier) + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } + pub fn liquidity_depths_for_range( + &self, + pool_id: u64, + lower_tick: ::prost::alloc::string::String, + upper_tick: ::prost::alloc::string::String, + ) -> Result { + QueryLiquidityDepthsForRangeRequest { + pool_id, + lower_tick, + upper_tick, + } + .query(self.querier) + } + pub fn user_positions( + &self, + address: ::prost::alloc::string::String, + pool_id: u64, + ) -> Result { + QueryUserPositionsRequest { address, pool_id }.query(self.querier) + } + pub fn total_liquidity_for_range( + &self, + pool_id: u64, + ) -> Result { + QueryTotalLiquidityForRangeRequest { pool_id }.query(self.querier) + } + pub fn claimable_fees( + &self, + position_id: u64, + ) -> Result { + QueryClaimableFeesRequest { position_id }.query(self.querier) + } + pub fn position_by_id( + &self, + position_id: u64, + ) -> Result { + QueryPositionByIdRequest { position_id }.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index 89247c63..8bbfdd79 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -45,3 +45,49 @@ pub struct MsgCreateBalancerPoolResponse { )] pub pool_id: u64, } +/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub shares_to_migrate: + ::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 = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index bdac75ac..ddb4e5f3 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -191,6 +191,112 @@ pub struct GenesisState { pub next_pool_number: u64, #[prost(message, optional, tag = "3")] pub params: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub migration_records: ::core::option::Option, +} +/// MigrationRecords contains all the links between balancer and concentrated +/// pools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] +pub struct MigrationRecords { + #[prost(message, repeated, tag = "1")] + pub balancer_to_concentrated_pool_links: + ::prost::alloc::vec::Vec, +} +/// BalancerToConcentratedPoolLink defines a single link between a single +/// balancer pool and a single concentrated liquidity pool. This link is used to +/// allow a balancer pool to migrate to a single canonical full range +/// concentrated liquidity pool position +/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can +/// be linked to a maximum of one balancer pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] +pub struct BalancerToConcentratedPoolLink { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub balancer_pool_id: u64, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub cl_pool_id: u64, +} +/// ReplaceMigrationRecordsProposal is a gov Content type for updating the +/// migration records. If a ReplaceMigrationRecordsProposal passes, the +/// proposal’s records override the existing MigrationRecords set in the module. +/// Each record specifies a single connection between a single balancer pool and +/// a single concentrated pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] +pub struct ReplaceMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, +} +/// For example: if the existing DistrRecords were: +/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] +/// And an UpdateMigrationRecordsProposal includes +/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] +/// This would leave Balancer 1 record, delete Balancer 2 record, +/// Edit Balancer 3 record, and Add Balancer 4 record +/// The result MigrationRecords in state would be: +/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] +pub struct UpdateMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, } /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap @@ -540,6 +646,7 @@ pub struct MsgExitSwapExternAmountOutResponse { pub share_in_amount: ::prost::alloc::string::String, } /// =============================== Pool +/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -556,6 +663,7 @@ pub struct MsgExitSwapExternAmountOutResponse { path = "/osmosis.gamm.v1beta1.Query/Pool", response_type = QueryPoolResponse )] +#[deprecated] pub struct QueryPoolRequest { #[prost(uint64, tag = "1")] #[serde( @@ -564,6 +672,7 @@ pub struct QueryPoolRequest { )] pub pool_id: u64, } +/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -576,6 +685,7 @@ pub struct QueryPoolRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolResponse")] +#[deprecated] pub struct QueryPoolResponse { #[prost(message, optional, tag = "1")] pub pool: ::core::option::Option, @@ -1226,6 +1336,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } + #[deprecated] pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs index 0bfe94aa..1722d385 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -1,6 +1,5 @@ use osmosis_std_derive::CosmwasmExt; -/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice -/// query. +/// Deprecated: please use alternate in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -17,6 +16,7 @@ use osmosis_std_derive::CosmwasmExt; path = "/osmosis.gamm.v2.Query/SpotPrice", response_type = QuerySpotPriceResponse )] +#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde( @@ -29,8 +29,7 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } -/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice -/// query. +/// Depreacted: please use alternate in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -43,6 +42,7 @@ pub struct QuerySpotPriceRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] +#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -55,6 +55,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } + #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 12becca8..57d3576c 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,4 +1,5 @@ pub mod accum; +pub mod concentratedliquidity; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index 0da6c949..2a104414 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -84,6 +84,9 @@ pub enum PoolType { /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined /// in x/gamm. Stableswap = 1, + /// Concentrated is the pool model specific to concentrated liquidity. It is + /// defined in x/concentrated-liquidity. + Concentrated = 2, } impl PoolType { /// String value of the enum field names used in the ProtoBuf definition. @@ -94,6 +97,7 @@ impl PoolType { match self { PoolType::Balancer => "Balancer", PoolType::Stableswap => "Stableswap", + PoolType::Concentrated => "Concentrated", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -101,6 +105,7 @@ impl PoolType { match value { "Balancer" => Some(Self::Balancer), "Stableswap" => Some(Self::Stableswap), + "Concentrated" => Some(Self::Concentrated), _ => None, } } @@ -281,9 +286,6 @@ pub struct ParamsResponse { response_type = EstimateSwapExactAmountInResponse )] pub struct EstimateSwapExactAmountInRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -306,6 +308,36 @@ pub struct EstimateSwapExactAmountInRequest { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message( + type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountInRequest" +)] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountIn", + response_type = EstimateSwapExactAmountInResponse +)] +pub struct EstimateSinglePoolSwapExactAmountInRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub token_out_denom: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] @@ -329,9 +361,6 @@ pub struct EstimateSwapExactAmountInResponse { response_type = EstimateSwapExactAmountOutResponse )] pub struct EstimateSwapExactAmountOutRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -354,6 +383,36 @@ pub struct EstimateSwapExactAmountOutRequest { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message( + type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountOutRequest" +)] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountOut", + response_type = EstimateSwapExactAmountOutResponse +)] +pub struct EstimateSinglePoolSwapExactAmountOutRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub token_out: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] @@ -397,6 +456,137 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } +/// =============================== Pool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.PoolRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/Pool", + response_type = PoolResponse +)] +pub struct PoolRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.poolmanager.v1beta1.PoolResponse")] +pub struct PoolResponse { + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, +} +/// =============================== AllPools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.AllPoolsRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/AllPools", + response_type = AllPoolsResponse +)] +pub struct AllPoolsRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.poolmanager.v1beta1.AllPoolsResponse")] +pub struct AllPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, +} +/// SpotPriceRequest defines the gRPC request structure for a SpotPrice +/// query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/SpotPrice", + response_type = SpotPriceResponse +)] +pub struct SpotPriceRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset_denom: ::prost::alloc::string::String, +} +/// SpotPriceResponse defines the gRPC response structure for a SpotPrice +/// query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceResponse")] +pub struct SpotPriceResponse { + /// String of the Dec. Ex) 10.203uatom + #[prost(string, tag = "1")] + pub spot_price: ::prost::alloc::string::String, +} pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -409,35 +599,76 @@ impl<'a, Q: cosmwasm_std::CustomQuery> PoolmanagerQuerier<'a, Q> { } pub fn estimate_swap_exact_amount_in( &self, - sender: ::prost::alloc::string::String, pool_id: u64, token_in: ::prost::alloc::string::String, routes: ::prost::alloc::vec::Vec, ) -> Result { EstimateSwapExactAmountInRequest { - sender, pool_id, token_in, routes, } .query(self.querier) } + pub fn estimate_single_pool_swap_exact_amount_in( + &self, + pool_id: u64, + token_in: ::prost::alloc::string::String, + token_out_denom: ::prost::alloc::string::String, + ) -> Result { + EstimateSinglePoolSwapExactAmountInRequest { + pool_id, + token_in, + token_out_denom, + } + .query(self.querier) + } pub fn estimate_swap_exact_amount_out( &self, - sender: ::prost::alloc::string::String, pool_id: u64, routes: ::prost::alloc::vec::Vec, token_out: ::prost::alloc::string::String, ) -> Result { EstimateSwapExactAmountOutRequest { - sender, pool_id, routes, token_out, } .query(self.querier) } + pub fn estimate_single_pool_swap_exact_amount_out( + &self, + pool_id: u64, + token_in_denom: ::prost::alloc::string::String, + token_out: ::prost::alloc::string::String, + ) -> Result { + EstimateSinglePoolSwapExactAmountOutRequest { + pool_id, + token_in_denom, + token_out, + } + .query(self.querier) + } pub fn num_pools(&self) -> Result { NumPoolsRequest {}.query(self.querier) } + pub fn pool(&self, pool_id: u64) -> Result { + PoolRequest { pool_id }.query(self.querier) + } + pub fn all_pools(&self, pool_id: u64) -> Result { + AllPoolsRequest { pool_id }.query(self.querier) + } + pub fn spot_price( + &self, + pool_id: u64, + base_asset_denom: ::prost::alloc::string::String, + quote_asset_denom: ::prost::alloc::string::String, + ) -> Result { + SpotPriceRequest { + pool_id, + base_asset_denom, + quote_asset_denom, + } + .query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index a7a0a4ef..ef781094 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1087,6 +1087,58 @@ pub struct MsgUnPoolWhitelistedPoolResponse { #[prost(uint64, repeated, tag = "1")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } +/// ===================== +/// MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, + #[prost(message, optional, tag = "3")] + pub shares_to_migrate: ::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 = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, +} pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index 52e8eef8..ee842904 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -194,6 +194,44 @@ pub struct QueryDenomsFromCreatorResponse { #[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 = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressRequest")] +#[proto_query( + path = "/osmosis.tokenfactory.v1beta1.Query/BeforeSendHookAddress", + response_type = QueryBeforeSendHookAddressResponse +)] +pub struct QueryBeforeSendHookAddressRequest { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +/// QueryBeforeSendHookAddressResponse defines the response structure for the +/// DenomBeforeSendHook gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressResponse")] +pub struct QueryBeforeSendHookAddressResponse { + #[prost(string, tag = "1")] + pub cosmwasm_address: ::prost::alloc::string::String, +} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -259,6 +297,8 @@ pub struct MsgMint { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub mint_to_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -292,6 +332,8 @@ pub struct MsgBurn { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub burn_from_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -343,6 +385,43 @@ pub struct MsgChangeAdmin { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] pub struct MsgChangeAdminResponse {} +/// MsgSetBeforeSendHook is the sdk.Msg type for allowing an admin account to +/// assign a CosmWasm contract to call with a BeforeSend hook +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHook")] +pub struct MsgSetBeforeSendHook { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub cosmwasm_address: ::prost::alloc::string::String, +} +/// MsgSetBeforeSendHookResponse defines the response structure for an executed +/// MsgSetBeforeSendHook message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHookResponse")] +pub struct MsgSetBeforeSendHookResponse {} /// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set /// the denom's bank metadata #[allow(clippy::derive_partial_eq_without_eq)] @@ -378,6 +457,41 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgForceTransfer")] +pub struct MsgForceTransfer { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub transfer_from_address: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub transfer_to_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 = "/osmosis.tokenfactory.v1beta1.MsgForceTransferResponse")] +pub struct MsgForceTransferResponse {} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -400,4 +514,10 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TokenfactoryQuerier<'a, Q> { ) -> Result { QueryDenomsFromCreatorRequest { creator }.query(self.querier) } + pub fn before_send_hook_address( + &self, + denom: ::prost::alloc::string::String, + ) -> Result { + QueryBeforeSendHookAddressRequest { denom }.query(self.querier) + } } diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 17dff5b9..38ca186d 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "origin/osmosis-main"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v15.0.0-rc3"; +const OSMOSIS_REV: &str = "origin/main"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From 6841a23fc9a0b11649acdb7eb436f564b1a87cbb Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Fri, 10 Mar 2023 13:51:07 +0700 Subject: [PATCH 126/142] rebuild with 3ffb10f --- packages/proto-build/src/main.rs-- | 76 ++++++++++++++++++++++++++++++ scripts/update-and-rebuild.sh | 2 +- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 packages/proto-build/src/main.rs-- diff --git a/packages/proto-build/src/main.rs-- b/packages/proto-build/src/main.rs-- new file mode 100644 index 00000000..17dff5b9 --- /dev/null +++ b/packages/proto-build/src/main.rs-- @@ -0,0 +1,76 @@ +//! Build Osmosis proto files. This build script clones the CosmosSDK and Osmosis version +//! specified in the COSMOS_SDK_REV and OSMOSIS_REV constant respectively and then +//! uses that to build the required proto files for further compilation. +//! This is based on the proto-compiler code in github.com/informalsystems/ibc-rs + +use std::{env, path::PathBuf}; + +use proto_build::{ + code_generator::{CodeGenerator, CosmosProject}, + git, +}; + +/// The Cosmos SDK commit or tag to be cloned and used to build the proto files +const COSMOS_SDK_REV: &str = "origin/osmosis-main"; + +/// The osmosis commit or tag to be cloned and used to build the proto files +const OSMOSIS_REV: &str = "v15.0.0-rc3"; + +// All paths must end with a / and either be absolute or include a ./ to reference the current +// working directory. + +/// The directory generated cosmos-sdk proto files go into in this repo +const OUT_DIR: &str = "../osmosis-std/src/types/"; +/// Directory where the cosmos-sdk submodule is located +const COSMOS_SDK_DIR: &str = "../../dependencies/cosmos-sdk/"; +/// Directory where the osmosis submodule is located +const OSMOSIS_DIR: &str = "../../dependencies/osmosis/"; + +/// A temporary directory for proto building +const TMP_BUILD_DIR: &str = "/tmp/tmp-protobuf/"; + +pub fn generate() { + let args: Vec = env::args().collect(); + if args.iter().any(|arg| arg == "--update-deps") { + git::update_submodule(COSMOS_SDK_DIR, COSMOS_SDK_REV); + git::update_submodule(OSMOSIS_DIR, OSMOSIS_REV); + } + + let tmp_build_dir: PathBuf = TMP_BUILD_DIR.parse().unwrap(); + let out_dir: PathBuf = OUT_DIR.parse().unwrap(); + + let osmosis_project = CosmosProject { + name: "osmosis".to_string(), + version: OSMOSIS_REV.to_string(), + project_dir: OSMOSIS_DIR.to_string(), + include_mods: vec![], + }; + let cosmos_project = CosmosProject { + name: "cosmos".to_string(), + version: COSMOS_SDK_REV.to_string(), + project_dir: COSMOS_SDK_DIR.to_string(), + include_mods: vec![ + "auth".to_string(), + "authz".to_string(), + "bank".to_string(), + "base".to_string(), + "staking/v1beta1/genesis.proto".to_string(), + "staking/v1beta1/staking.proto".to_string(), + "staking/v1beta1/tx.proto".to_string(), + ], + }; + + let osmosis_code_generator = CodeGenerator::new( + out_dir, + tmp_build_dir, + osmosis_project, + vec![cosmos_project], + ); + + osmosis_code_generator.generate(); +} + +fn main() { + pretty_env_logger::init(); + generate(); +} diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index d665a6d9..4186cb30 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -22,7 +22,7 @@ fi PROTO_BUILD_MAIN_RS="$SCRIPT_DIR/../packages/proto-build/src/main.rs" # use @ as a separator to avoid confusion on input like "origin/main" -sed -i "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" +sed -i -- "s@const OSMOSIS_REV: \&str = \".*\";@const OSMOSIS_REV: \&str = \"$OSMOSIS_REV\";@g" "$PROTO_BUILD_MAIN_RS" git diff From 765f3910c98500a31558c2eebf4c7c849809735b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 5 Apr 2023 02:11:30 +0000 Subject: [PATCH 127/142] rebuild with a55bbb9 --- dependencies/osmosis | 2 +- .../osmosis/concentratedliquidity/v1beta1.rs | 257 +++++++++++------- .../src/types/osmosis/cosmwasmpool/mod.rs | 1 + .../src/types/osmosis/cosmwasmpool/v1beta1.rs | 154 +++++++++++ .../gamm/poolmodels/stableswap/v1beta1.rs | 3 + .../src/types/osmosis/gamm/v1beta1.rs | 3 + packages/osmosis-std/src/types/osmosis/mod.rs | 1 + .../src/types/osmosis/poolmanager/v1beta1.rs | 5 + 8 files changed, 334 insertions(+), 92 deletions(-) create mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index a55bbb90..4745c379 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit a55bbb90bb79e302358b66c6901a4f4e7504a258 +Subproject commit 4745c3793869bb5f3c5fdbb77469aa5004c91c66 diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs index 63729db5..291c1447 100644 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -1,6 +1,6 @@ use osmosis_std_derive::CosmwasmExt; /// Position contains position's id, address, pool id, lower tick, upper tick -/// join time, freeze duration, and liquidity. +/// join time, and liquidity. #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -42,9 +42,7 @@ pub struct Position { pub upper_tick: i64, #[prost(message, optional, tag = "6")] pub join_time: ::core::option::Option, - #[prost(message, optional, tag = "7")] - pub freeze_duration: ::core::option::Option, - #[prost(string, tag = "8")] + #[prost(string, tag = "7")] pub liquidity: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] @@ -109,6 +107,72 @@ pub struct UptimeTracker { pub uptime_growth_outside: ::prost::alloc::vec::Vec, } +/// IncentiveRecord is the high-level struct we use to deal with an independent +/// incentive being distributed on a pool. Note that PoolId, Denom, and MinUptime +/// are included in the key so we avoid storing them in state, hence the +/// distinction between IncentiveRecord and IncentiveRecordBody. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecord")] +pub struct IncentiveRecord { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + /// incentive_denom is the denom of the token being distributed as part of this + /// incentive record + #[prost(string, tag = "2")] + pub incentive_denom: ::prost::alloc::string::String, + /// incentiveCreator is the address that created the incentive record. This + /// address does not have any special privileges – it is only kept to keep + /// incentive records created by different addresses separate. + #[prost(string, tag = "3")] + pub incentive_creator_addr: ::prost::alloc::string::String, + /// incentive record body holds necessary + #[prost(message, optional, tag = "4")] + pub incentive_record_body: ::core::option::Option, + /// min_uptime is the minimum uptime required for liquidity to qualify for this + /// incentive. It should be always be one of the supported uptimes in + /// types.SupportedUptimes + #[prost(message, optional, tag = "5")] + pub min_uptime: ::core::option::Option, +} +/// IncentiveRecordBody represents the body stored in state for each individual +/// record. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] +pub struct IncentiveRecordBody { + /// remaining_amount is the total amount of incentives to be distributed + #[prost(string, tag = "1")] + pub remaining_amount: ::prost::alloc::string::String, + /// emission_rate is the incentive emission rate per second + #[prost(string, tag = "2")] + pub emission_rate: ::prost::alloc::string::String, + /// start_time is the time when the incentive starts distributing + #[prost(message, optional, tag = "3")] + pub start_time: ::core::option::Option, +} /// FullTick contains tick index and pool id along with other tick model /// information. #[allow(clippy::derive_partial_eq_without_eq)] @@ -163,6 +227,13 @@ pub struct PoolData { /// pool's ticks #[prost(message, repeated, tag = "2")] pub ticks: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub fee_accumulator: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub incentives_accumulators: ::prost::alloc::vec::Vec, + /// incentive records to be set + #[prost(message, repeated, tag = "5")] + pub incentive_records: ::prost::alloc::vec::Vec, } /// GenesisState defines the concentrated liquidity module's genesis state. #[allow(clippy::derive_partial_eq_without_eq)] @@ -193,7 +264,9 @@ pub struct GenesisState { )] pub next_position_id: u64, } -/// IncentiveRecordBody represents an active perpetual incentive gauge for a pool +/// In original struct of Accum object, store.KVStore is stored together. +/// For handling genesis, we do not need to include store.KVStore since we use +/// CL module's KVStore. #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -205,17 +278,13 @@ pub struct GenesisState { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] -pub struct IncentiveRecordBody { - /// remaining_amount is the total amount of incentives to be distributed +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.AccumObject")] +pub struct AccumObject { + /// Accumulator's name (pulled from AccumulatorContent) #[prost(string, tag = "1")] - pub remaining_amount: ::prost::alloc::string::String, - /// emission_rate is the incentive emission rate per second - #[prost(string, tag = "2")] - pub emission_rate: ::prost::alloc::string::String, - /// start_time is the time when the incentive starts distributing - #[prost(message, optional, tag = "3")] - pub start_time: ::core::option::Option, + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub accum_content: ::core::option::Option, } /// =============================== UserPositions #[allow(clippy::derive_partial_eq_without_eq)] @@ -378,7 +447,6 @@ pub struct QueryParamsResponse { #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } -/// =============================== LiquidityDepthsForRange #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -390,24 +458,12 @@ pub struct QueryParamsResponse { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeRequest" -)] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityDepthsForRange", - response_type = QueryLiquidityDepthsForRangeResponse -)] -pub struct QueryLiquidityDepthsForRangeRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.TickLiquidityNet")] +pub struct TickLiquidityNet { + #[prost(string, tag = "1")] + pub liquidity_net: ::prost::alloc::string::String, #[prost(string, tag = "2")] - pub lower_tick: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub upper_tick: ::prost::alloc::string::String, + pub tick_index: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -420,13 +476,16 @@ pub struct QueryLiquidityDepthsForRangeRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityDepthsForRangeResponse" -)] -pub struct QueryLiquidityDepthsForRangeResponse { - #[prost(message, repeated, tag = "1")] - pub liquidity_depths: ::prost::alloc::vec::Vec, +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] +pub struct LiquidityDepthWithRange { + #[prost(string, tag = "1")] + pub liquidity_amount: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub lower_tick: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub upper_tick: ::prost::alloc::string::String, } +/// =============================== LiquidityNetInDirection #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -438,12 +497,26 @@ pub struct QueryLiquidityDepthsForRangeResponse { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepth")] -pub struct LiquidityDepth { - #[prost(string, tag = "1")] - pub liquidity_net: ::prost::alloc::string::String, +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityNetInDirection", + response_type = QueryLiquidityNetInDirectionResponse +)] +pub struct QueryLiquidityNetInDirectionRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, #[prost(string, tag = "2")] - pub tick_index: ::prost::alloc::string::String, + pub token_in: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub start_tick: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub bound_tick: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -456,16 +529,22 @@ pub struct LiquidityDepth { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] -pub struct LiquidityDepthWithRange { - #[prost(string, tag = "1")] - pub liquidity_amount: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub lower_tick: ::prost::alloc::string::String, +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionResponse" +)] +pub struct QueryLiquidityNetInDirectionResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity_depths: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub current_tick: i64, #[prost(string, tag = "3")] - pub upper_tick: ::prost::alloc::string::String, + pub current_liquidity: ::prost::alloc::string::String, } -/// =============================== TickLiquidityInBatches +/// =============================== TotalLiquidityForRange #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -578,7 +657,7 @@ pub struct MsgCreateConcentratedPool { )] pub tick_spacing: u64, #[prost(string, tag = "5")] - pub precision_factor_at_price_one: ::prost::alloc::string::String, + pub exponent_at_price_one: ::prost::alloc::string::String, #[prost(string, tag = "9")] pub swap_fee: ::prost::alloc::string::String, } @@ -618,9 +697,13 @@ pub struct MsgCreateConcentratedPoolResponse { )] #[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Pool")] pub struct Pool { + /// pool's address holding all liquidity tokens. #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] + /// address holding the incentives liquidity. + #[prost(string, tag = "2")] + pub incentives_address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] #[serde(alias = "ID")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -628,32 +711,32 @@ pub struct Pool { )] pub id: u64, /// Amount of total liquidity - #[prost(string, tag = "3")] - pub current_tick_liquidity: ::prost::alloc::string::String, #[prost(string, tag = "4")] - pub token0: ::prost::alloc::string::String, + pub current_tick_liquidity: ::prost::alloc::string::String, #[prost(string, tag = "5")] - pub token1: ::prost::alloc::string::String, + pub token0: ::prost::alloc::string::String, #[prost(string, tag = "6")] - pub current_sqrt_price: ::prost::alloc::string::String, + pub token1: ::prost::alloc::string::String, #[prost(string, tag = "7")] + pub current_sqrt_price: ::prost::alloc::string::String, + #[prost(string, tag = "8")] pub current_tick: ::prost::alloc::string::String, /// tick_spacing must be one of the authorized_tick_spacing values set in the /// concentrated-liquidity parameters - #[prost(uint64, tag = "8")] + #[prost(uint64, tag = "9")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub tick_spacing: u64, - #[prost(string, tag = "9")] - pub precision_factor_at_price_one: ::prost::alloc::string::String, - /// swap_fee is the ratio that is charged on the amount of token in. #[prost(string, tag = "10")] + pub exponent_at_price_one: ::prost::alloc::string::String, + /// swap_fee is the ratio that is charged on the amount of token in. + #[prost(string, tag = "11")] pub swap_fee: ::prost::alloc::string::String, /// last_liquidity_update is the last time either the pool liquidity or the /// active tick changed - #[prost(message, optional, tag = "11")] + #[prost(message, optional, tag = "12")] pub last_liquidity_update: ::core::option::Option, } /// ===================== MsgCreatePosition @@ -698,8 +781,6 @@ pub struct MsgCreatePosition { pub token_min_amount0: ::prost::alloc::string::String, #[prost(string, tag = "8")] pub token_min_amount1: ::prost::alloc::string::String, - #[prost(message, optional, tag = "9")] - pub freeze_duration: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -786,12 +867,8 @@ pub struct MsgWithdrawPositionResponse { )] #[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] pub struct MsgCollectFees { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub position_ids: ::prost::alloc::vec::Vec, #[prost(string, tag = "2")] pub sender: ::prost::alloc::string::String, } @@ -825,12 +902,8 @@ pub struct MsgCollectFeesResponse { )] #[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentives")] pub struct MsgCollectIncentives { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub position_ids: ::prost::alloc::vec::Vec, #[prost(string, tag = "2")] pub sender: ::prost::alloc::string::String, } @@ -926,19 +999,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { pub fn params(&self) -> Result { QueryParamsRequest {}.query(self.querier) } - pub fn liquidity_depths_for_range( - &self, - pool_id: u64, - lower_tick: ::prost::alloc::string::String, - upper_tick: ::prost::alloc::string::String, - ) -> Result { - QueryLiquidityDepthsForRangeRequest { - pool_id, - lower_tick, - upper_tick, - } - .query(self.querier) - } pub fn user_positions( &self, address: ::prost::alloc::string::String, @@ -952,6 +1012,21 @@ impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { ) -> Result { QueryTotalLiquidityForRangeRequest { pool_id }.query(self.querier) } + pub fn liquidity_net_in_direction( + &self, + pool_id: u64, + token_in: ::prost::alloc::string::String, + start_tick: ::prost::alloc::string::String, + bound_tick: ::prost::alloc::string::String, + ) -> Result { + QueryLiquidityNetInDirectionRequest { + pool_id, + token_in, + start_tick, + bound_tick, + } + .query(self.querier) + } pub fn claimable_fees( &self, position_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs new file mode 100644 index 00000000..9108cefb --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs @@ -0,0 +1,154 @@ +use osmosis_std_derive::CosmwasmExt; +/// Params holds parameters for the cosmwasmpool 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 = "/osmosis.cosmwasmpool.v1beta1.Params")] +pub struct Params {} +/// GenesisState defines the cosmwasmpool module's 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 = "/osmosis.cosmwasmpool.v1beta1.GenesisState")] +pub struct GenesisState { + /// params is the container of cosmwasmpool parameters. + #[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 = "/osmosis.cosmwasmpool.v1beta1.CosmWasmPool")] +pub struct CosmWasmPool { + #[prost(string, tag = "1")] + pub pool_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub contract_address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, +} +/// ===================== MsgCreateCosmwasmPool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPool")] +pub struct MsgCreateCosmWasmPool { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + #[prost(bytes = "vec", tag = "2")] + pub instantiate_msg: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub sender: ::prost::alloc::string::String, +} +/// Returns a unique poolID to identify the pool with. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPoolResponse")] +pub struct MsgCreateCosmWasmPoolResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +/// =============================== 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 = "/osmosis.cosmwasmpool.v1beta1.ParamsRequest")] +#[proto_query( + path = "/osmosis.cosmwasmpool.v1beta1.Query/Params", + response_type = ParamsResponse +)] +pub struct ParamsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.ParamsResponse")] +pub struct ParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +pub struct CosmwasmpoolQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> CosmwasmpoolQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + ParamsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index b13b1546..cabbedae 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -18,6 +18,9 @@ use osmosis_std_derive::CosmwasmExt; pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, + /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old + /// pools can maintain a non-zero fee. No new pool can be created with non-zero + /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index ddb4e5f3..d033483f 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -72,6 +72,9 @@ pub struct SmoothWeightChangeParams { pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, + /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old + /// pools can maintain a non-zero fee. No new pool can be created with non-zero + /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 57d3576c..d0f5004a 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,5 +1,6 @@ pub mod accum; pub mod concentratedliquidity; +pub mod cosmwasmpool; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index 2a104414..dcb5b4d1 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -87,6 +87,9 @@ pub enum PoolType { /// Concentrated is the pool model specific to concentrated liquidity. It is /// defined in x/concentrated-liquidity. Concentrated = 2, + /// CosmWasm is the pool model specific to CosmWasm. It is defined in + /// x/cosmwasmpool. + CosmWasm = 3, } impl PoolType { /// String value of the enum field names used in the ProtoBuf definition. @@ -98,6 +101,7 @@ impl PoolType { PoolType::Balancer => "Balancer", PoolType::Stableswap => "Stableswap", PoolType::Concentrated => "Concentrated", + PoolType::CosmWasm => "CosmWasm", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -106,6 +110,7 @@ impl PoolType { "Balancer" => Some(Self::Balancer), "Stableswap" => Some(Self::Stableswap), "Concentrated" => Some(Self::Concentrated), + "CosmWasm" => Some(Self::CosmWasm), _ => None, } } From 7616cb61de6e424a00247c59c43be00647e6f90e Mon Sep 17 00:00:00 2001 From: Sturdy <91910406+apollo-sturdy@users.noreply.github.com> Date: Wed, 29 Mar 2023 16:59:46 +0200 Subject: [PATCH 128/142] feat: Generate types for cosmwasm --- .gitmodules | 5 +- dependencies/wasmd | 1 + .../src/types/cosmos/base/query/v1beta1.rs | 4 +- .../src/types/cosmos/base/v1beta1.rs | 8 +- .../osmosis-std/src/types/cosmwasm/mod.rs | 1 + .../src/types/cosmwasm/wasm/mod.rs | 1 + .../osmosis-std/src/types/cosmwasm/wasm/v1.rs | 2081 +++++++++++++++++ packages/osmosis-std/src/types/mod.rs | 1 + packages/proto-build/src/main.rs | 14 +- 9 files changed, 2108 insertions(+), 8 deletions(-) create mode 160000 dependencies/wasmd create mode 100644 packages/osmosis-std/src/types/cosmwasm/mod.rs create mode 100644 packages/osmosis-std/src/types/cosmwasm/wasm/mod.rs create mode 100644 packages/osmosis-std/src/types/cosmwasm/wasm/v1.rs diff --git a/.gitmodules b/.gitmodules index 9c9351ff..7b9ae0dd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,4 +5,7 @@ [submodule "dependencies/osmosis"] path = dependencies/osmosis url = https://github.com/osmosis-labs/osmosis.git - branch = v13.x \ No newline at end of file + branch = v13.x +[submodule "wasmd"] + path = dependencies/wasmd + url = https://github.com/CosmWasm/wasmd.git diff --git a/dependencies/wasmd b/dependencies/wasmd new file mode 160000 index 00000000..a347ace2 --- /dev/null +++ b/dependencies/wasmd @@ -0,0 +1 @@ +Subproject commit a347ace2ff41539fe06c68168bc6f28d6ca9fa52 diff --git a/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs index 42bb2149..e6bc0eb0 100644 --- a/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs @@ -17,7 +17,7 @@ use osmosis_std_derive::CosmwasmExt; ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageRequestPageRequest")] +#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageRequestPageRequestPageRequest")] pub struct PageRequest { /// key is a value returned in PageResponse.next_key to begin /// querying the next page most efficiently. Only one of offset or key @@ -71,7 +71,7 @@ pub struct PageRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageResponsePageResponse")] +#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageResponsePageResponsePageResponse")] pub struct PageResponse { /// next_key is the key to be passed to PageRequest.key to /// query the next page most efficiently diff --git a/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs index 192f897b..73133d46 100644 --- a/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs @@ -14,7 +14,7 @@ use osmosis_std_derive::CosmwasmExt; ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.CoinCoin")] +#[proto_message(type_url = "/cosmos.base.v1beta1.CoinCoinCoin")] pub struct Coin { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -36,7 +36,7 @@ pub struct Coin { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.DecCoinDecCoin")] +#[proto_message(type_url = "/cosmos.base.v1beta1.DecCoinDecCoinDecCoin")] pub struct DecCoin { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -55,7 +55,7 @@ pub struct DecCoin { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.IntProtoIntProto")] +#[proto_message(type_url = "/cosmos.base.v1beta1.IntProtoIntProtoIntProto")] pub struct IntProto { #[prost(string, tag = "1")] pub int: ::prost::alloc::string::String, @@ -72,7 +72,7 @@ pub struct IntProto { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.DecProtoDecProto")] +#[proto_message(type_url = "/cosmos.base.v1beta1.DecProtoDecProtoDecProto")] pub struct DecProto { #[prost(string, tag = "1")] pub dec: ::prost::alloc::string::String, diff --git a/packages/osmosis-std/src/types/cosmwasm/mod.rs b/packages/osmosis-std/src/types/cosmwasm/mod.rs new file mode 100644 index 00000000..ce1d9f82 --- /dev/null +++ b/packages/osmosis-std/src/types/cosmwasm/mod.rs @@ -0,0 +1 @@ +pub mod wasm; diff --git a/packages/osmosis-std/src/types/cosmwasm/wasm/mod.rs b/packages/osmosis-std/src/types/cosmwasm/wasm/mod.rs new file mode 100644 index 00000000..a3a6d96c --- /dev/null +++ b/packages/osmosis-std/src/types/cosmwasm/wasm/mod.rs @@ -0,0 +1 @@ +pub mod v1; diff --git a/packages/osmosis-std/src/types/cosmwasm/wasm/v1.rs b/packages/osmosis-std/src/types/cosmwasm/wasm/v1.rs new file mode 100644 index 00000000..75f17aac --- /dev/null +++ b/packages/osmosis-std/src/types/cosmwasm/wasm/v1.rs @@ -0,0 +1,2081 @@ +use osmosis_std_derive::CosmwasmExt; +/// ContractExecutionAuthorization defines authorization for wasm execute. +/// Since: wasmd 0.30 +#[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.ContractExecutionAuthorization")] +pub struct ContractExecutionAuthorization { + /// Grants for contract executions + #[prost(message, repeated, tag = "1")] + pub grants: ::prost::alloc::vec::Vec, +} +/// ContractMigrationAuthorization defines authorization for wasm contract +/// migration. Since: wasmd 0.30 +#[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.ContractMigrationAuthorization")] +pub struct ContractMigrationAuthorization { + /// Grants for contract migrations + #[prost(message, repeated, tag = "1")] + pub grants: ::prost::alloc::vec::Vec, +} +/// ContractGrant a granted permission for a single contract +/// Since: wasmd 0.30 +#[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.ContractGrant")] +pub struct ContractGrant { + /// Contract is the bech32 address of the smart contract + #[prost(string, tag = "1")] + pub contract: ::prost::alloc::string::String, + /// Limit defines execution limits that are enforced and updated when the grant + /// is applied. When the limit lapsed the grant is removed. + #[prost(message, optional, tag = "2")] + pub limit: ::core::option::Option, + /// Filter define more fine-grained control on the message payload passed + /// to the contract in the operation. When no filter applies on execution, the + /// operation is prohibited. + #[prost(message, optional, tag = "3")] + pub filter: ::core::option::Option, +} +/// MaxCallsLimit limited number of calls to the contract. No funds transferable. +/// Since: wasmd 0.30 +#[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.MaxCallsLimit")] +pub struct MaxCallsLimit { + /// Remaining number that is decremented on each execution + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub remaining: u64, +} +/// MaxFundsLimit defines the maximal amounts that can be sent to the contract. +/// Since: wasmd 0.30 +#[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.MaxFundsLimit")] +pub struct MaxFundsLimit { + /// Amounts is the maximal amount of tokens transferable to the contract. + #[prost(message, repeated, tag = "1")] + pub amounts: ::prost::alloc::vec::Vec, +} +/// CombinedLimit defines the maximal amounts that can be sent to a contract and +/// the maximal number of calls executable. Both need to remain >0 to be valid. +/// Since: wasmd 0.30 +#[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.CombinedLimit")] +pub struct CombinedLimit { + /// Remaining number that is decremented on each execution + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub calls_remaining: u64, + /// Amounts is the maximal amount of tokens transferable to the contract. + #[prost(message, repeated, tag = "2")] + pub amounts: ::prost::alloc::vec::Vec, +} +/// AllowAllMessagesFilter is a wildcard to allow any type of contract payload +/// message. +/// Since: wasmd 0.30 +#[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.AllowAllMessagesFilter")] +pub struct AllowAllMessagesFilter {} +/// AcceptedMessageKeysFilter accept only the specific contract message keys in +/// the json object to be executed. +/// Since: wasmd 0.30 +#[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.AcceptedMessageKeysFilter")] +pub struct AcceptedMessageKeysFilter { + /// Messages is the list of unique keys + #[prost(string, repeated, tag = "1")] + pub keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// AcceptedMessagesFilter accept only the specific raw contract messages to be +/// executed. +/// Since: wasmd 0.30 +#[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.AcceptedMessagesFilter")] +pub struct AcceptedMessagesFilter { + /// Messages is the list of raw contract messages + #[prost(bytes = "vec", repeated, tag = "1")] + pub messages: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +/// AccessTypeParam +#[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.AccessTypeParam")] +pub struct AccessTypeParam { + #[prost(enumeration = "AccessType", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub value: i32, +} +/// AccessConfig access control 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 = "/cosmwasm.wasm.v1.AccessConfig")] +pub struct AccessConfig { + #[prost(enumeration = "AccessType", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub permission: i32, + /// Address + /// Deprecated: replaced by addresses + #[prost(string, tag = "2")] + pub address: ::prost::alloc::string::String, + #[prost(string, repeated, tag = "3")] + pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// Params defines the set of wasm parameters. +#[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.Params")] +pub struct Params { + #[prost(message, optional, tag = "1")] + pub code_upload_access: ::core::option::Option, + #[prost(enumeration = "AccessType", tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub instantiate_default_permission: i32, +} +/// CodeInfo is data for the uploaded contract WASM code +#[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.CodeInfo")] +pub struct CodeInfo { + /// CodeHash is the unique identifier created by wasmvm + #[prost(bytes = "vec", tag = "1")] + pub code_hash: ::prost::alloc::vec::Vec, + /// Creator address who initially stored the code + #[prost(string, tag = "2")] + pub creator: ::prost::alloc::string::String, + /// InstantiateConfig access control to apply on contract creation, optional + #[prost(message, optional, tag = "5")] + pub instantiate_config: ::core::option::Option, +} +/// ContractInfo stores a WASM contract instance +#[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.ContractInfo")] +pub struct ContractInfo { + /// CodeID is the reference to the stored Wasm code + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Creator address who initially instantiated the contract + #[prost(string, tag = "2")] + pub creator: ::prost::alloc::string::String, + /// Admin is an optional address that can execute migrations + #[prost(string, tag = "3")] + pub admin: ::prost::alloc::string::String, + /// Label is optional metadata to be stored with a contract instance. + #[prost(string, tag = "4")] + pub label: ::prost::alloc::string::String, + /// Created Tx position when the contract was instantiated. + #[prost(message, optional, tag = "5")] + pub created: ::core::option::Option, + #[prost(string, tag = "6")] + pub ibc_port_id: ::prost::alloc::string::String, + /// Extension is an extension point to store custom metadata within the + /// persistence model. + #[prost(message, optional, tag = "7")] + pub extension: ::core::option::Option, +} +/// ContractCodeHistoryEntry metadata to a contract. +#[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.ContractCodeHistoryEntry")] +pub struct ContractCodeHistoryEntry { + #[prost(enumeration = "ContractCodeHistoryOperationType", tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub operation: i32, + /// CodeID is the reference to the stored WASM code + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Updated Tx position when the operation was executed. + #[prost(message, optional, tag = "3")] + pub updated: ::core::option::Option, + #[prost(bytes = "vec", tag = "4")] + pub msg: ::prost::alloc::vec::Vec, +} +/// AbsoluteTxPosition is a unique transaction position that allows for global +/// ordering of transactions. +#[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.AbsoluteTxPosition")] +pub struct AbsoluteTxPosition { + /// BlockHeight is the block the contract was created at + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub block_height: u64, + /// TxIndex is a monotonic counter within the block (actual transaction index, + /// or gas consumed) + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tx_index: u64, +} +/// Model is a struct that holds a KV pair +#[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.Model")] +pub struct Model { + /// hex-encode key to read it better (this is often ascii) + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + /// base64-encode raw value + #[prost(bytes = "vec", tag = "2")] + pub value: ::prost::alloc::vec::Vec, +} +/// AccessType permission types +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] +pub enum AccessType { + /// AccessTypeUnspecified placeholder for empty value + Unspecified = 0, + /// AccessTypeNobody forbidden + Nobody = 1, + /// AccessTypeOnlyAddress restricted to a single address + /// Deprecated: use AccessTypeAnyOfAddresses instead + OnlyAddress = 2, + /// AccessTypeEverybody unrestricted + Everybody = 3, + /// AccessTypeAnyOfAddresses allow any of the addresses + AnyOfAddresses = 4, +} +impl AccessType { + /// 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 { + AccessType::Unspecified => "ACCESS_TYPE_UNSPECIFIED", + AccessType::Nobody => "ACCESS_TYPE_NOBODY", + AccessType::OnlyAddress => "ACCESS_TYPE_ONLY_ADDRESS", + AccessType::Everybody => "ACCESS_TYPE_EVERYBODY", + AccessType::AnyOfAddresses => "ACCESS_TYPE_ANY_OF_ADDRESSES", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ACCESS_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "ACCESS_TYPE_NOBODY" => Some(Self::Nobody), + "ACCESS_TYPE_ONLY_ADDRESS" => Some(Self::OnlyAddress), + "ACCESS_TYPE_EVERYBODY" => Some(Self::Everybody), + "ACCESS_TYPE_ANY_OF_ADDRESSES" => Some(Self::AnyOfAddresses), + _ => None, + } + } +} +/// ContractCodeHistoryOperationType actions that caused a code change +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +#[derive(::serde::Serialize, ::serde::Deserialize, ::schemars::JsonSchema)] +pub enum ContractCodeHistoryOperationType { + /// ContractCodeHistoryOperationTypeUnspecified placeholder for empty value + Unspecified = 0, + /// ContractCodeHistoryOperationTypeInit on chain contract instantiation + Init = 1, + /// ContractCodeHistoryOperationTypeMigrate code migration + Migrate = 2, + /// ContractCodeHistoryOperationTypeGenesis based on genesis data + Genesis = 3, +} +impl ContractCodeHistoryOperationType { + /// 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 { + ContractCodeHistoryOperationType::Unspecified => { + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED" + } + ContractCodeHistoryOperationType::Init => "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT", + ContractCodeHistoryOperationType::Migrate => { + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE" + } + ContractCodeHistoryOperationType::Genesis => { + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT" => Some(Self::Init), + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE" => Some(Self::Migrate), + "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS" => Some(Self::Genesis), + _ => None, + } + } +} +/// MsgStoreCode submit Wasm code to the system +#[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.MsgStoreCode")] +pub struct MsgStoreCode { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// WASMByteCode can be raw or gzip compressed + #[prost(bytes = "vec", tag = "2")] + pub wasm_byte_code: ::prost::alloc::vec::Vec, + /// InstantiatePermission access control to apply on contract creation, + /// optional + #[prost(message, optional, tag = "5")] + pub instantiate_permission: ::core::option::Option, +} +/// MsgStoreCodeResponse returns store result data. +#[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.MsgStoreCodeResponse")] +pub struct MsgStoreCodeResponse { + /// CodeID is the reference to the stored WASM code + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Checksum is the sha256 hash of the stored code + #[prost(bytes = "vec", tag = "2")] + pub checksum: ::prost::alloc::vec::Vec, +} +/// MsgInstantiateContract create a new smart contract instance for the given +/// code 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 = "/cosmwasm.wasm.v1.MsgInstantiateContract")] +pub struct MsgInstantiateContract { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// Admin is an optional address that can execute migrations + #[prost(string, tag = "2")] + pub admin: ::prost::alloc::string::String, + /// CodeID is the reference to the stored WASM code + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Label is optional metadata to be stored with a contract instance. + #[prost(string, tag = "4")] + pub label: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract on instantiation + #[prost(bytes = "vec", tag = "5")] + pub msg: ::prost::alloc::vec::Vec, + /// Funds coins that are transferred to the contract on instantiation + #[prost(message, repeated, tag = "6")] + pub funds: ::prost::alloc::vec::Vec, +} +/// MsgInstantiateContract2 create a new smart contract instance for the given +/// code id with a predicable address. +#[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.MsgInstantiateContract2")] +pub struct MsgInstantiateContract2 { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// Admin is an optional address that can execute migrations + #[prost(string, tag = "2")] + pub admin: ::prost::alloc::string::String, + /// CodeID is the reference to the stored WASM code + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Label is optional metadata to be stored with a contract instance. + #[prost(string, tag = "4")] + pub label: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract on instantiation + #[prost(bytes = "vec", tag = "5")] + pub msg: ::prost::alloc::vec::Vec, + /// Funds coins that are transferred to the contract on instantiation + #[prost(message, repeated, tag = "6")] + pub funds: ::prost::alloc::vec::Vec, + /// Salt is an arbitrary value provided by the sender. Size can be 1 to 64. + #[prost(bytes = "vec", tag = "7")] + pub salt: ::prost::alloc::vec::Vec, + /// FixMsg include the msg value into the hash for the predictable address. + /// Default is false + #[prost(bool, tag = "8")] + pub fix_msg: bool, +} +/// MsgInstantiateContractResponse return instantiation result data +#[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.MsgInstantiateContractResponse")] +pub struct MsgInstantiateContractResponse { + /// Address is the bech32 address of the new contract instance. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// Data contains bytes to returned from the contract + #[prost(bytes = "vec", tag = "2")] + pub data: ::prost::alloc::vec::Vec, +} +/// MsgInstantiateContract2Response return instantiation result data +#[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.MsgInstantiateContract2Response")] +pub struct MsgInstantiateContract2Response { + /// Address is the bech32 address of the new contract instance. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// Data contains bytes to returned from the contract + #[prost(bytes = "vec", tag = "2")] + pub data: ::prost::alloc::vec::Vec, +} +/// MsgExecuteContract submits the given message data to a smart contract +#[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.MsgExecuteContract")] +pub struct MsgExecuteContract { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "2")] + pub contract: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract + #[prost(bytes = "vec", tag = "3")] + pub msg: ::prost::alloc::vec::Vec, + /// Funds coins that are transferred to the contract on execution + #[prost(message, repeated, tag = "5")] + pub funds: ::prost::alloc::vec::Vec, +} +/// MsgExecuteContractResponse returns execution result data. +#[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.MsgExecuteContractResponse")] +pub struct MsgExecuteContractResponse { + /// Data contains bytes to returned from the contract + #[prost(bytes = "vec", tag = "1")] + pub data: ::prost::alloc::vec::Vec, +} +/// MsgMigrateContract runs a code upgrade/ downgrade for a smart contract +#[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.MsgMigrateContract")] +pub struct MsgMigrateContract { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "2")] + pub contract: ::prost::alloc::string::String, + /// CodeID references the new WASM code + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Msg json encoded message to be passed to the contract on migration + #[prost(bytes = "vec", tag = "4")] + pub msg: ::prost::alloc::vec::Vec, +} +/// MsgMigrateContractResponse returns contract migration result data. +#[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.MsgMigrateContractResponse")] +pub struct MsgMigrateContractResponse { + /// Data contains same raw bytes returned as data from the wasm contract. + /// (May be empty) + #[prost(bytes = "vec", tag = "1")] + pub data: ::prost::alloc::vec::Vec, +} +/// MsgUpdateAdmin sets a new admin for a smart contract +#[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.MsgUpdateAdmin")] +pub struct MsgUpdateAdmin { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// NewAdmin address to be set + #[prost(string, tag = "2")] + pub new_admin: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "3")] + pub contract: ::prost::alloc::string::String, +} +/// MsgUpdateAdminResponse returns empty data +#[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.MsgUpdateAdminResponse")] +pub struct MsgUpdateAdminResponse {} +/// MsgClearAdmin removes any admin stored for a smart contract +#[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.MsgClearAdmin")] +pub struct MsgClearAdmin { + /// Sender is the that actor that signed the messages + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "3")] + pub contract: ::prost::alloc::string::String, +} +/// MsgClearAdminResponse returns empty data +#[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.MsgClearAdminResponse")] +pub struct MsgClearAdminResponse {} +/// GenesisState - genesis state of x/wasm +#[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.GenesisState")] +pub struct GenesisState { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub codes: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub contracts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub sequences: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub gen_msgs: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `GenesisState`. +pub mod genesis_state { + use osmosis_std_derive::CosmwasmExt; + /// GenMsgs define the messages that can be executed during genesis phase in + /// order. The intention is to have more human readable data that is auditable. + #[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.GenesisState.GenMsgs")] + pub struct GenMsgs { + /// sum is a single message + #[prost(oneof = "gen_msgs::Sum", tags = "1, 2, 3")] + pub sum: ::core::option::Option, + } + /// Nested message and enum types in `GenMsgs`. + pub mod gen_msgs { + use osmosis_std_derive::CosmwasmExt; + /// sum is a single message + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive( + Clone, + PartialEq, + Eq, + ::prost::Oneof, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + )] + pub enum Sum { + #[prost(message, tag = "1")] + StoreCode(super::super::MsgStoreCode), + #[prost(message, tag = "2")] + InstantiateContract(super::super::MsgInstantiateContract), + /// MsgInstantiateContract2 intentionally not supported + /// see + #[prost(message, tag = "3")] + ExecuteContract(super::super::MsgExecuteContract), + } + } +} +/// Code struct encompasses CodeInfo and CodeBytes +#[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.Code")] +pub struct Code { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + #[prost(message, optional, tag = "2")] + pub code_info: ::core::option::Option, + #[prost(bytes = "vec", tag = "3")] + pub code_bytes: ::prost::alloc::vec::Vec, + /// Pinned to wasmvm cache + #[prost(bool, tag = "4")] + pub pinned: bool, +} +/// Contract struct encompasses ContractAddress, ContractInfo, and ContractState +#[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.Contract")] +pub struct Contract { + #[prost(string, tag = "1")] + pub contract_address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub contract_info: ::core::option::Option, + #[prost(message, repeated, tag = "3")] + pub contract_state: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub contract_code_history: ::prost::alloc::vec::Vec, +} +/// Sequence key and value of an id generation counter +#[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.Sequence")] +pub struct Sequence { + #[prost(bytes = "vec", tag = "1")] + pub id_key: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub value: u64, +} +/// MsgIBCSend +#[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.MsgIBCSend")] +pub struct MsgIbcSend { + /// the channel by which the packet will be sent + #[prost(string, tag = "2")] + pub channel: ::prost::alloc::string::String, + /// Timeout height relative to the current block height. + /// The timeout is disabled when set to 0. + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub timeout_height: u64, + /// Timeout timestamp (in nanoseconds) relative to the current block timestamp. + /// The timeout is disabled when set to 0. + #[prost(uint64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub timeout_timestamp: u64, + /// Data is the payload to transfer. We must not make assumption what format or + /// content is in here. + #[prost(bytes = "vec", tag = "6")] + pub data: ::prost::alloc::vec::Vec, +} +/// MsgIBCCloseChannel port and channel need to be owned by the contract +#[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.MsgIBCCloseChannel")] +pub struct MsgIbcCloseChannel { + #[prost(string, tag = "2")] + pub channel: ::prost::alloc::string::String, +} +/// StoreCodeProposal gov proposal content type to submit WASM code to the system +#[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.StoreCodeProposal")] +pub struct StoreCodeProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// 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 environment as sender + #[prost(string, tag = "3")] + pub run_as: ::prost::alloc::string::String, + /// WASMByteCode can be raw or gzip compressed + #[prost(bytes = "vec", tag = "4")] + pub wasm_byte_code: ::prost::alloc::vec::Vec, + /// InstantiatePermission to apply on contract creation, optional + #[prost(message, optional, tag = "7")] + pub instantiate_permission: ::core::option::Option, + /// UnpinCode code on upload, optional + #[prost(bool, tag = "8")] + pub unpin_code: bool, + /// Source is the URL where the code is hosted + #[prost(string, tag = "9")] + pub source: ::prost::alloc::string::String, + /// Builder is the docker image used to build the code deterministically, used + /// for smart contract verification + #[prost(string, tag = "10")] + pub builder: ::prost::alloc::string::String, + /// CodeHash is the SHA256 sum of the code outputted by builder, used for smart + /// contract verification + #[prost(bytes = "vec", tag = "11")] + pub code_hash: ::prost::alloc::vec::Vec, +} +/// InstantiateContractProposal gov proposal content type to instantiate a +/// contract. +#[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.InstantiateContractProposal")] +pub struct InstantiateContractProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// 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 environment as sender + #[prost(string, tag = "3")] + pub run_as: ::prost::alloc::string::String, + /// Admin is an optional address that can execute migrations + #[prost(string, tag = "4")] + pub admin: ::prost::alloc::string::String, + /// CodeID is the reference to the stored WASM code + #[prost(uint64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Label is optional metadata to be stored with a constract instance. + #[prost(string, tag = "6")] + pub label: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract on instantiation + #[prost(bytes = "vec", tag = "7")] + pub msg: ::prost::alloc::vec::Vec, + /// Funds coins that are transferred to the contract on instantiation + #[prost(message, repeated, tag = "8")] + pub funds: ::prost::alloc::vec::Vec, +} +/// MigrateContractProposal gov proposal content type to migrate a contract. +#[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.MigrateContractProposal")] +pub struct MigrateContractProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + /// + /// Note: skipping 3 as this was previously used for unneeded run_as + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "4")] + pub contract: ::prost::alloc::string::String, + /// CodeID references the new WASM code + #[prost(uint64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// Msg json encoded message to be passed to the contract on migration + #[prost(bytes = "vec", tag = "6")] + pub msg: ::prost::alloc::vec::Vec, +} +/// SudoContractProposal gov proposal content type to call sudo on a contract. +#[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.SudoContractProposal")] +pub struct SudoContractProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "3")] + pub contract: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract as sudo + #[prost(bytes = "vec", tag = "4")] + pub msg: ::prost::alloc::vec::Vec, +} +/// ExecuteContractProposal gov proposal content type to call execute on a +/// contract. +#[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.ExecuteContractProposal")] +pub struct ExecuteContractProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// 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 environment as sender + #[prost(string, tag = "3")] + pub run_as: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "4")] + pub contract: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract as execute + #[prost(bytes = "vec", tag = "5")] + pub msg: ::prost::alloc::vec::Vec, + /// Funds coins that are transferred to the contract on instantiation + #[prost(message, repeated, tag = "6")] + pub funds: ::prost::alloc::vec::Vec, +} +/// UpdateAdminProposal gov proposal content type to set an admin for a contract. +#[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.UpdateAdminProposal")] +pub struct UpdateAdminProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// NewAdmin address to be set + #[prost(string, tag = "3")] + pub new_admin: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "4")] + pub contract: ::prost::alloc::string::String, +} +/// ClearAdminProposal gov proposal content type to clear the admin of a +/// contract. +#[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.ClearAdminProposal")] +pub struct ClearAdminProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// Contract is the address of the smart contract + #[prost(string, tag = "3")] + pub contract: ::prost::alloc::string::String, +} +/// PinCodesProposal gov proposal content type to pin a set of code ids in the +/// wasmvm cache. +#[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.PinCodesProposal")] +pub struct PinCodesProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// CodeIDs references the new WASM codes + #[prost(uint64, repeated, packed = "false", tag = "3")] + pub code_ids: ::prost::alloc::vec::Vec, +} +/// UnpinCodesProposal gov proposal content type to unpin a set of code ids in +/// the wasmvm cache. +#[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.UnpinCodesProposal")] +pub struct UnpinCodesProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// CodeIDs references the WASM codes + #[prost(uint64, repeated, packed = "false", tag = "3")] + pub code_ids: ::prost::alloc::vec::Vec, +} +/// AccessConfigUpdate contains the code id and the access config to be +/// applied. +#[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.AccessConfigUpdate")] +pub struct AccessConfigUpdate { + /// CodeID is the reference to the stored WASM code to be updated + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// InstantiatePermission to apply to the set of code ids + #[prost(message, optional, tag = "2")] + pub instantiate_permission: ::core::option::Option, +} +/// UpdateInstantiateConfigProposal gov proposal content type to update +/// instantiate config to a set of code ids. +#[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.UpdateInstantiateConfigProposal")] +pub struct UpdateInstantiateConfigProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// Description is a human readable text + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + /// AccessConfigUpdate contains the list of code ids and the access config + /// to be applied. + #[prost(message, repeated, tag = "3")] + pub access_config_updates: ::prost::alloc::vec::Vec, +} +/// StoreAndInstantiateContractProposal gov proposal content type to store +/// and instantiate the contract. +#[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.StoreAndInstantiateContractProposal")] +pub struct StoreAndInstantiateContractProposal { + /// Title is a short summary + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + /// 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 environment as sender + #[prost(string, tag = "3")] + pub run_as: ::prost::alloc::string::String, + /// WASMByteCode can be raw or gzip compressed + #[prost(bytes = "vec", tag = "4")] + pub wasm_byte_code: ::prost::alloc::vec::Vec, + /// InstantiatePermission to apply on contract creation, optional + #[prost(message, optional, tag = "5")] + pub instantiate_permission: ::core::option::Option, + /// UnpinCode code on upload, optional + #[prost(bool, tag = "6")] + pub unpin_code: bool, + /// 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. + #[prost(string, tag = "8")] + pub label: ::prost::alloc::string::String, + /// Msg json encoded message to be passed to the contract on instantiation + #[prost(bytes = "vec", tag = "9")] + pub msg: ::prost::alloc::vec::Vec, + /// Funds coins that are transferred to the contract on instantiation + #[prost(message, repeated, tag = "10")] + pub funds: ::prost::alloc::vec::Vec, + /// Source is the URL where the code is hosted + #[prost(string, tag = "11")] + pub source: ::prost::alloc::string::String, + /// Builder is the docker image used to build the code deterministically, used + /// for smart contract verification + #[prost(string, tag = "12")] + pub builder: ::prost::alloc::string::String, + /// CodeHash is the SHA256 sum of the code outputted by builder, used for smart + /// contract verification + #[prost(bytes = "vec", tag = "13")] + pub code_hash: ::prost::alloc::vec::Vec, +} +/// QueryContractInfoRequest is the request type for the Query/ContractInfo 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.QueryContractInfoRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/ContractInfo", + response_type = QueryContractInfoResponse +)] +pub struct QueryContractInfoRequest { + /// address is the address of the contract to query + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, +} +/// QueryContractInfoResponse is the response type for the Query/ContractInfo 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.QueryContractInfoResponse")] +pub struct QueryContractInfoResponse { + /// address is the address of the contract + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub contract_info: ::core::option::Option, +} +/// QueryContractHistoryRequest is the request type for the Query/ContractHistory +/// 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.QueryContractHistoryRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/ContractHistory", + response_type = QueryContractHistoryResponse +)] +pub struct QueryContractHistoryRequest { + /// address is the address of the contract to query + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryContractHistoryResponse is the response type for the +/// Query/ContractHistory 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.QueryContractHistoryResponse")] +pub struct QueryContractHistoryResponse { + #[prost(message, repeated, tag = "1")] + pub entries: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryContractsByCodeRequest is the request type for the Query/ContractsByCode +/// 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.QueryContractsByCodeRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/ContractsByCode", + response_type = QueryContractsByCodeResponse +)] +pub struct QueryContractsByCodeRequest { + /// grpc-gateway_out does not support Go style CodID + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryContractsByCodeResponse is the response type for the +/// Query/ContractsByCode 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.QueryContractsByCodeResponse")] +pub struct QueryContractsByCodeResponse { + /// contracts are a set of contract addresses + #[prost(string, repeated, tag = "1")] + pub contracts: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryAllContractStateRequest is the request type for the +/// Query/AllContractState 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.QueryAllContractStateRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/AllContractState", + response_type = QueryAllContractStateResponse +)] +pub struct QueryAllContractStateRequest { + /// address is the address of the contract + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryAllContractStateResponse is the response type for the +/// Query/AllContractState 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.QueryAllContractStateResponse")] +pub struct QueryAllContractStateResponse { + #[prost(message, repeated, tag = "1")] + pub models: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryRawContractStateRequest is the request type for the +/// Query/RawContractState 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.QueryRawContractStateRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/RawContractState", + response_type = QueryRawContractStateResponse +)] +pub struct QueryRawContractStateRequest { + /// address is the address of the contract + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "2")] + pub query_data: ::prost::alloc::vec::Vec, +} +/// QueryRawContractStateResponse is the response type for the +/// Query/RawContractState 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.QueryRawContractStateResponse")] +pub struct QueryRawContractStateResponse { + /// Data contains the raw store data + #[prost(bytes = "vec", tag = "1")] + pub data: ::prost::alloc::vec::Vec, +} +/// QuerySmartContractStateRequest is the request type for the +/// Query/SmartContractState 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.QuerySmartContractStateRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/SmartContractState", + response_type = QuerySmartContractStateResponse +)] +pub struct QuerySmartContractStateRequest { + /// address is the address of the contract + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// QueryData contains the query data passed to the contract + #[prost(bytes = "vec", tag = "2")] + pub query_data: ::prost::alloc::vec::Vec, +} +/// QuerySmartContractStateResponse is the response type for the +/// Query/SmartContractState 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.QuerySmartContractStateResponse")] +pub struct QuerySmartContractStateResponse { + /// Data contains the json data returned from the smart contract + #[prost(bytes = "vec", tag = "1")] + pub data: ::prost::alloc::vec::Vec, +} +/// QueryCodeRequest is the request type for the Query/Code 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.QueryCodeRequest")] +#[proto_query(path = "/cosmwasm.wasm.v1.Query/Code", response_type = QueryCodeResponse)] +pub struct QueryCodeRequest { + /// grpc-gateway_out does not support Go style CodID + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, +} +/// CodeInfoResponse contains code meta data from CodeInfo +#[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.CodeInfoResponse")] +pub struct CodeInfoResponse { + /// id for legacy support + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + 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")] + pub data_hash: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub instantiate_permission: ::core::option::Option, +} +/// QueryCodeResponse is the response type for the Query/Code 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.QueryCodeResponse")] +pub struct QueryCodeResponse { + #[prost(message, optional, tag = "1")] + pub code_info: ::core::option::Option, + #[prost(bytes = "vec", tag = "2")] + pub data: ::prost::alloc::vec::Vec, +} +/// QueryCodesRequest is the request type for the Query/Codes 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.QueryCodesRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/Codes", + response_type = QueryCodesResponse +)] +pub struct QueryCodesRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "1")] + pub pagination: + ::core::option::Option, +} +/// QueryCodesResponse is the response type for the Query/Codes 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.QueryCodesResponse")] +pub struct QueryCodesResponse { + #[prost(message, repeated, tag = "1")] + pub code_infos: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryPinnedCodesRequest is the request type for the Query/PinnedCodes +/// 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.QueryPinnedCodesRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/PinnedCodes", + response_type = QueryPinnedCodesResponse +)] +pub struct QueryPinnedCodesRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryPinnedCodesResponse is the response type for the +/// Query/PinnedCodes 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.QueryPinnedCodesResponse")] +pub struct QueryPinnedCodesResponse { + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub code_ids: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryParamsRequest is the request 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 = "/cosmwasm.wasm.v1.QueryParamsRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/Params", + response_type = QueryParamsResponse +)] +pub struct QueryParamsRequest {} +/// QueryParamsResponse is the 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 = "/cosmwasm.wasm.v1.QueryParamsResponse")] +pub struct QueryParamsResponse { + /// params defines the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +/// QueryContractsByCreatorRequest is the request type for the +/// Query/ContractsByCreator 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.QueryContractsByCreatorRequest")] +#[proto_query( + path = "/cosmwasm.wasm.v1.Query/ContractsByCreator", + response_type = QueryContractsByCreatorResponse +)] +pub struct QueryContractsByCreatorRequest { + /// CreatorAddress is the address of contract creator + #[prost(string, tag = "1")] + pub creator_address: ::prost::alloc::string::String, + /// Pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// QueryContractsByCreatorResponse is the response type for the +/// Query/ContractsByCreator 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.QueryContractsByCreatorResponse")] +pub struct QueryContractsByCreatorResponse { + /// ContractAddresses result set + #[prost(string, repeated, tag = "1")] + pub contract_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + /// Pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +pub struct WasmQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> WasmQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn contract_info( + &self, + address: ::prost::alloc::string::String, + ) -> Result { + QueryContractInfoRequest { address }.query(self.querier) + } + pub fn contract_history( + &self, + address: ::prost::alloc::string::String, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryContractHistoryRequest { + address, + pagination, + } + .query(self.querier) + } + pub fn contracts_by_code( + &self, + code_id: u64, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryContractsByCodeRequest { + code_id, + pagination, + } + .query(self.querier) + } + pub fn all_contract_state( + &self, + address: ::prost::alloc::string::String, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryAllContractStateRequest { + address, + pagination, + } + .query(self.querier) + } + pub fn raw_contract_state( + &self, + address: ::prost::alloc::string::String, + query_data: ::prost::alloc::vec::Vec, + ) -> Result { + QueryRawContractStateRequest { + address, + query_data, + } + .query(self.querier) + } + pub fn smart_contract_state( + &self, + address: ::prost::alloc::string::String, + query_data: ::prost::alloc::vec::Vec, + ) -> Result { + QuerySmartContractStateRequest { + address, + query_data, + } + .query(self.querier) + } + pub fn code(&self, code_id: u64) -> Result { + QueryCodeRequest { code_id }.query(self.querier) + } + pub fn codes( + &self, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryCodesRequest { pagination }.query(self.querier) + } + pub fn pinned_codes( + &self, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryPinnedCodesRequest { pagination }.query(self.querier) + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } + pub fn contracts_by_creator( + &self, + creator_address: ::prost::alloc::string::String, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryContractsByCreatorRequest { + creator_address, + pagination, + } + .query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/mod.rs b/packages/osmosis-std/src/types/mod.rs index e6c9dbcb..4464da6a 100644 --- a/packages/osmosis-std/src/types/mod.rs +++ b/packages/osmosis-std/src/types/mod.rs @@ -1,2 +1,3 @@ pub mod cosmos; +pub mod cosmwasm; pub mod osmosis; diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 38ca186d..76a04ea2 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -16,6 +16,9 @@ const COSMOS_SDK_REV: &str = "origin/osmosis-main"; /// The osmosis commit or tag to be cloned and used to build the proto files const OSMOSIS_REV: &str = "origin/main"; +/// The wasmd commit or tag to be cloned and used to build the proto files +const WASMD_REV: &str = "v0.30.0"; + // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. @@ -25,6 +28,8 @@ const OUT_DIR: &str = "../osmosis-std/src/types/"; const COSMOS_SDK_DIR: &str = "../../dependencies/cosmos-sdk/"; /// Directory where the osmosis submodule is located const OSMOSIS_DIR: &str = "../../dependencies/osmosis/"; +/// Directory where the wasmd submodule is located +const WASMD_DIR: &str = "../../dependencies/wasmd/"; /// A temporary directory for proto building const TMP_BUILD_DIR: &str = "/tmp/tmp-protobuf/"; @@ -34,6 +39,7 @@ pub fn generate() { if args.iter().any(|arg| arg == "--update-deps") { git::update_submodule(COSMOS_SDK_DIR, COSMOS_SDK_REV); git::update_submodule(OSMOSIS_DIR, OSMOSIS_REV); + git::update_submodule(WASMD_DIR, WASMD_REV); } let tmp_build_dir: PathBuf = TMP_BUILD_DIR.parse().unwrap(); @@ -45,6 +51,12 @@ pub fn generate() { project_dir: OSMOSIS_DIR.to_string(), include_mods: vec![], }; + let wasmd_project = CosmosProject { + name: "wasmd".to_string(), + version: WASMD_REV.to_string(), + project_dir: WASMD_DIR.to_string(), + include_mods: vec![], + }; let cosmos_project = CosmosProject { name: "cosmos".to_string(), version: COSMOS_SDK_REV.to_string(), @@ -64,7 +76,7 @@ pub fn generate() { out_dir, tmp_build_dir, osmosis_project, - vec![cosmos_project], + vec![cosmos_project, wasmd_project], ); osmosis_code_generator.generate(); From cae052d48a984163faf43aab4f3bff1c8d020587 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 10 Apr 2023 15:57:20 +0700 Subject: [PATCH 129/142] add utils for converting cosmwasm coins/osmosis std coins --- packages/osmosis-std/src/lib.rs | 2 ++ packages/osmosis-std/src/shim.rs | 43 +++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/packages/osmosis-std/src/lib.rs b/packages/osmosis-std/src/lib.rs index 8618326f..4a731970 100644 --- a/packages/osmosis-std/src/lib.rs +++ b/packages/osmosis-std/src/lib.rs @@ -9,3 +9,5 @@ pub const OSMOSISD_VERSION: &str = include_str!("types/OSMOSIS_COMMIT"); mod serde; pub mod shim; pub mod types; + +pub use shim::{cosmwasm_to_proto_coins, try_proto_to_cosmwasm_coins}; diff --git a/packages/osmosis-std/src/shim.rs b/packages/osmosis-std/src/shim.rs index 359cdb5f..cdc536ba 100644 --- a/packages/osmosis-std/src/shim.rs +++ b/packages/osmosis-std/src/shim.rs @@ -1,5 +1,6 @@ use ::serde::{ser, Deserialize, Deserializer, Serialize, Serializer}; use chrono::{DateTime, NaiveDateTime, Utc}; +use cosmwasm_std::StdResult; use serde::de; use serde::de::Visitor; @@ -7,7 +8,7 @@ use std::fmt; use std::str::FromStr; use prost::Message; - +use std::iter::FromIterator; #[derive(Clone, PartialEq, Eq, ::prost::Message, schemars::JsonSchema)] pub struct Timestamp { /// Represents seconds of UTC time since Unix epoch @@ -341,3 +342,43 @@ impl TryFrom for cosmwasm_std::Coin { }) } } + +/// Convert a list of `Coin` from osmosis proto generated proto `Coin` type to cosmwasm `Coin` type +pub fn try_proto_to_cosmwasm_coins( + coins: impl IntoIterator, +) -> StdResult> { + coins.into_iter().map(|c| c.try_into()).collect() +} + +/// Convert a list of `Coin` from cosmwasm `Coin` type to osmosis proto generated proto `Coin` type +pub fn cosmwasm_to_proto_coins( + coins: impl IntoIterator, +) -> Vec { + coins.into_iter().map(|c| c.into()).collect() +} + +#[cfg(test)] +mod tests { + use cosmwasm_std::Uint128; + + use super::*; + + #[test] + fn test_coins_conversion() { + let coins = vec![ + cosmwasm_std::Coin { + denom: "uatom".to_string(), + amount: Uint128::new(100), + }, + cosmwasm_std::Coin { + denom: "uosmo".to_string(), + amount: Uint128::new(200), + }, + ]; + + let proto_coins = cosmwasm_to_proto_coins(coins.clone()); + let cosmwasm_coins = try_proto_to_cosmwasm_coins(proto_coins).unwrap(); + + assert_eq!(coins, cosmwasm_coins); + } +} From d6bfba384ff3ebf3bb984bbc28560c07c58bcd4a Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 10 Apr 2023 16:10:41 +0700 Subject: [PATCH 130/142] Remove osmosis testing --- README.md | 2 +- dependencies/osmosis | 2 +- .../osmosis/concentratedliquidity/v1beta1.rs | 77 +- packages/osmosis-testing/Cargo.toml | 25 - packages/osmosis-testing/README.md | 335 ----- packages/osmosis-testing/build.rs | 98 -- .../artifacts/libosmosistesting.docrs.h | 89 -- .../osmosis-testing/libosmosistesting/go.mod | 147 -- .../osmosis-testing/libosmosistesting/go.sum | 1262 ----------------- .../osmosis-testing/libosmosistesting/main.go | 241 ---- .../libosmosistesting/result/result.go | 30 - .../libosmosistesting/testenv/setup.go | 213 --- packages/osmosis-testing/src/account.rs | 91 -- packages/osmosis-testing/src/bindings.rs | 6 - packages/osmosis-testing/src/conversions.rs | 27 - packages/osmosis-testing/src/lib.rs | 18 - packages/osmosis-testing/src/module/bank.rs | 35 - packages/osmosis-testing/src/module/gamm.rs | 75 - packages/osmosis-testing/src/module/macros.rs | 53 - packages/osmosis-testing/src/module/mod.rs | 18 - .../src/module/tokenfactory.rs | 174 --- packages/osmosis-testing/src/module/wasm.rs | 126 -- packages/osmosis-testing/src/runner/app.rs | 543 ------- packages/osmosis-testing/src/runner/error.rs | 74 - packages/osmosis-testing/src/runner/mod.rs | 35 - packages/osmosis-testing/src/runner/result.rs | 247 ---- .../test_artifacts/cw1_whitelist.wasm | Bin 186362 -> 0 bytes packages/proto-build/src/main.rs-- | 76 - 28 files changed, 69 insertions(+), 4050 deletions(-) delete mode 100644 packages/osmosis-testing/Cargo.toml delete mode 100644 packages/osmosis-testing/README.md delete mode 100644 packages/osmosis-testing/build.rs delete mode 100644 packages/osmosis-testing/libosmosistesting/artifacts/libosmosistesting.docrs.h delete mode 100644 packages/osmosis-testing/libosmosistesting/go.mod delete mode 100644 packages/osmosis-testing/libosmosistesting/go.sum delete mode 100644 packages/osmosis-testing/libosmosistesting/main.go delete mode 100644 packages/osmosis-testing/libosmosistesting/result/result.go delete mode 100644 packages/osmosis-testing/libosmosistesting/testenv/setup.go delete mode 100644 packages/osmosis-testing/src/account.rs delete mode 100644 packages/osmosis-testing/src/bindings.rs delete mode 100644 packages/osmosis-testing/src/conversions.rs delete mode 100644 packages/osmosis-testing/src/lib.rs delete mode 100644 packages/osmosis-testing/src/module/bank.rs delete mode 100644 packages/osmosis-testing/src/module/gamm.rs delete mode 100644 packages/osmosis-testing/src/module/macros.rs delete mode 100644 packages/osmosis-testing/src/module/mod.rs delete mode 100644 packages/osmosis-testing/src/module/tokenfactory.rs delete mode 100644 packages/osmosis-testing/src/module/wasm.rs delete mode 100644 packages/osmosis-testing/src/runner/app.rs delete mode 100644 packages/osmosis-testing/src/runner/error.rs delete mode 100644 packages/osmosis-testing/src/runner/mod.rs delete mode 100644 packages/osmosis-testing/src/runner/result.rs delete mode 100644 packages/osmosis-testing/test_artifacts/cw1_whitelist.wasm delete mode 100644 packages/proto-build/src/main.rs-- diff --git a/README.md b/README.md index 9bdba03c..8c20ce80 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Rust libraries for Osmosis. The following table shows every published crates mai | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [osmosis-std](packages/osmosis-std) | Osmosis's proto-generated types and helpers for interacting with the appchain. Compatible with CosmWasm contract. | [![osmosis-std on crates.io](https://img.shields.io/crates/v/osmosis-std.svg)](https://crates.io/crates/osmosis-std) | [![Docs](https://docs.rs/osmosis-std/badge.svg)](https://docs.rs/osmosis-std) | | [osmosis-std-derive](packages/osmosis-std-derive) | Procedural macro for augmenting proto-generated types to create better developer ergonomics. Internally used by `osmosis-std` | [![osmosis-std-derive on crates.io](https://img.shields.io/crates/v/osmosis-std-derive.svg)](https://crates.io/crates/osmosis-std-derive) | [![Docs](https://docs.rs/osmosis-std-derive/badge.svg)](https://docs.rs/osmosis-std-derive) | -| [osmosis-testing](packages/osmosis-testing) | CosmWasm x Osmosis integration testing library that, unlike `cw-multi-test`, it allows you to test your cosmwasm contract against real chain's logic instead of mocks. | [![osmosis-testing on crates.io](https://img.shields.io/crates/v/osmosis-testing.svg)](https://crates.io/crates/osmosis-testing) | [![Docs](https://docs.rs/osmosis-testing/badge.svg)](https://docs.rs/osmosis-testing) | +| [osmosis-testing]()(🚩DEPRECATED IN FAVOR OF [`osmosis-test-tube`](https://github.com/osmosis-labs/test-tube/tree/main/packages/osmosis-test-tube)) | CosmWasm x Osmosis integration testing library that, unlike `cw-multi-test`, it allows you to test your cosmwasm contract against real chain's logic instead of mocks. | [![osmosis-testing on crates.io](https://img.shields.io/crates/v/osmosis-testing.svg)](https://crates.io/crates/osmosis-testing) | [![Docs](https://docs.rs/osmosis-testing/badge.svg)](https://docs.rs/osmosis-testing) | --- diff --git a/dependencies/osmosis b/dependencies/osmosis index 4745c379..087a97b2 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 4745c3793869bb5f3c5fdbb77469aa5004c91c66 +Subproject commit 087a97b2976b989f94ab52000a64377c0bcf1a79 diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs index 291c1447..09e765c0 100644 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -62,10 +62,10 @@ pub struct Position { pub struct PositionWithUnderlyingAssetBreakdown { #[prost(message, optional, tag = "1")] pub position: ::core::option::Option, - #[prost(string, tag = "2")] - pub asset0: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub asset1: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub asset0: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub asset1: ::core::option::Option, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -513,10 +513,22 @@ pub struct QueryLiquidityNetInDirectionRequest { pub pool_id: u64, #[prost(string, tag = "2")] pub token_in: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub start_tick: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub bound_tick: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub start_tick: i64, + #[prost(bool, tag = "4")] + pub use_cur_tick: bool, + #[prost(int64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub bound_tick: i64, + #[prost(bool, tag = "6")] + pub use_no_bound: bool, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -981,6 +993,47 @@ pub struct MsgCreateIncentiveResponse { #[prost(message, optional, tag = "5")] pub min_uptime: ::core::option::Option, } +/// ===================== MsgFungifyChargedPositions +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositions")] +pub struct MsgFungifyChargedPositions { + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositionsResponse" +)] +pub struct MsgFungifyChargedPositionsResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub new_position_id: u64, +} pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -1016,14 +1069,18 @@ impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { &self, pool_id: u64, token_in: ::prost::alloc::string::String, - start_tick: ::prost::alloc::string::String, - bound_tick: ::prost::alloc::string::String, + start_tick: i64, + use_cur_tick: bool, + bound_tick: i64, + use_no_bound: bool, ) -> Result { QueryLiquidityNetInDirectionRequest { pool_id, token_in, start_tick, + use_cur_tick, bound_tick, + use_no_bound, } .query(self.querier) } diff --git a/packages/osmosis-testing/Cargo.toml b/packages/osmosis-testing/Cargo.toml deleted file mode 100644 index 33c897a3..00000000 --- a/packages/osmosis-testing/Cargo.toml +++ /dev/null @@ -1,25 +0,0 @@ -[package] -description = "CosmWasm integration testing for Osmosis" -edition = "2021" -license = "MIT OR Apache-2.0" -name = "osmosis-testing" -version = "0.13.2" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -base64 = "0.13.0" -cosmrs = {version = "0.9.0", features = ["cosmwasm"]} -cosmwasm-std = "1.1.2" -osmosis-std = {version = "0.13.2", path = "../osmosis-std"} -prost = "0.11.0" -serde = "1.0.144" -serde_json = "1.0.85" -thiserror = "1.0.34" - -[build-dependencies] -bindgen = "0.60.1" - -[dev-dependencies] -cw1-whitelist = "0.15.0" -rayon = "1.5.3" diff --git a/packages/osmosis-testing/README.md b/packages/osmosis-testing/README.md deleted file mode 100644 index 456c8c96..00000000 --- a/packages/osmosis-testing/README.md +++ /dev/null @@ -1,335 +0,0 @@ -# osmosis-testing - -> 🚩DEPRECATED IN FAVOR OF [`osmosis-test-tube`](https://github.com/osmosis-labs/test-tube/tree/main/packages/osmosis-test-tube) - -[![osmosis-testing on crates.io](https://img.shields.io/crates/v/osmosis-testing.svg)](https://crates.io/crates/osmosis-testing) [![Docs](https://docs.rs/osmosis-testing/badge.svg)](https://docs.rs/osmosis-testing) - -CosmWasm x Osmosis integration testing library that, unlike `cw-multi-test`, it allows you to test your cosmwasm contract against real chain's logic instead of mocks. - -## Table of Contents - -- [Getting Started](#getting-started) -- [Debugging](#debugging) -- [Using Module Wrapper](#using-module-wrapper) -- [Custom Module Wrapper](#custom-module-wrapper) - -## Getting Started - -To demonstrate how `osmosis-testing` works, let's use a simple example contract: [cw-whitelist](https://github.com/CosmWasm/cw-plus/tree/main/contracts/cw1-whitelist) from `cw-plus`. - -Here is how to setup the test: - -```rust -use cosmwasm_std::Coin; -use osmosis_testing::OsmosisTestApp; - -// create new osmosis appchain instance. -let app = OsmosisTestApp::new(); - -// create new account with initial funds -let accs = app - .init_accounts( - &[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ], - 2, - ) - .unwrap(); - -let admin = &accs[0]; -let new_admin = &accs[1]; -``` - -Now we have the appchain instance and accounts that have some initial balances and can interact with the appchain. -This does not run Docker instance or spawning external process, it just loads the appchain's code as a library create an in memory instance. - -Note that `init_accounts` is a convenience function that creates multiple accounts with the same initial balance. -If you want to create just one account, you can use `init_account` instead. - -```rust -use cosmwasm_std::Coin; -use osmosis_testing::OsmosisTestApp; - -let app = OsmosisTestApp::new(); - -let account = app.init_account(&[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), -]); -``` - -Now if we want to test a cosmwasm contract, we need to - -- build the wasm file -- store code -- instantiate - -Then we can start interacting with our contract. Let's do just that. - -```rust -use cosmwasm_std::Coin; -use cw1_whitelist::msg::{InstantiateMsg}; // for instantiating cw1_whitelist contract -use osmosis_testing::{Account, Module, OsmosisTestApp, Wasm}; - -let app = OsmosisTestApp::new(); -let accs = app - .init_accounts( - &[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ], - 2, - ) - .unwrap(); -let admin = &accs[0]; -let new_admin = &accs[1]; - -// ============= NEW CODE ================ - -// `Wasm` is the module we use to interact with cosmwasm related logic on the appchain -// it implements `Module` trait which you will see more later. -let wasm = Wasm::new(&app); - -// Load compiled wasm bytecode -let wasm_byte_code = std::fs::read("./test_artifacts/cw1_whitelist.wasm").unwrap(); -let code_id = wasm - .store_code(&wasm_byte_code, None, admin) - .unwrap() - .data - .code_id; -``` - -Not that in this example, it loads wasm bytecode from [cw-plus release](https://github.com/CosmWasm/cw-plus/releases) for simple demonstration purposes. -You might want to run `cargo wasm` and find your wasm file in `target/wasm32-unknown-unknown/release/.wasm`. - -```rust -use cosmwasm_std::Coin; -use cw1_whitelist::msg::{InstantiateMsg, QueryMsg, AdminListResponse}; -use osmosis_testing::{Account, Module, OsmosisTestApp, Wasm}; - -let app = OsmosisTestApp::new(); -let accs = app - .init_accounts( - &[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ], - 2, - ) - .unwrap(); -let admin = &accs[0]; -let new_admin = &accs[1]; - -let wasm = Wasm::new(&app); - - -let wasm_byte_code = std::fs::read("./test_artifacts/cw1_whitelist.wasm").unwrap(); -let code_id = wasm - .store_code(&wasm_byte_code, None, admin) - .unwrap() - .data - .code_id; - -// ============= NEW CODE ================ - -// instantiate contract with initial admin and make admin list mutable -let init_admins = vec![admin.address()]; -let contract_addr = wasm - .instantiate( - code_id, - &InstantiateMsg { - admins: init_admins.clone(), - mutable: true, - }, - None, // contract admin used for migration, not the same as cw1_whitelist admin - None, // contract label - &[], // funds - admin, // signer - ) - .unwrap() - .data - .address; - -// query contract state to check if contract instantiation works properly -let admin_list = wasm - .query::(&contract_addr, &QueryMsg::AdminList {}) - .unwrap(); - -assert_eq!(admin_list.admins, init_admins); -assert!(admin_list.mutable); -``` - -Now let's execute the contract and verify that the contract's state is updated properly. - -```rust -use cosmwasm_std::Coin; -use cw1_whitelist::msg::{InstantiateMsg, QueryMsg, ExecuteMsg, AdminListResponse}; -use osmosis_testing::{Account, Module, OsmosisTestApp, Wasm}; - -let app = OsmosisTestApp::new(); -let accs = app - .init_accounts( - &[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ], - 2, - ) - .unwrap(); -let admin = &accs[0]; -let new_admin = &accs[1]; - -let wasm = Wasm::new(&app); - - -let wasm_byte_code = std::fs::read("./test_artifacts/cw1_whitelist.wasm").unwrap(); -let code_id = wasm - .store_code(&wasm_byte_code, None, admin) - .unwrap() - .data - .code_id; - -// instantiate contract with initial admin and make admin list mutable -let init_admins = vec![admin.address()]; -let contract_addr = wasm - .instantiate( - code_id, - &InstantiateMsg { - admins: init_admins.clone(), - mutable: true, - }, - None, // contract admin used for migration, not the same as cw1_whitelist admin - None, // contract label - &[], // funds - admin, // signer - ) - .unwrap() - .data - .address; - -let admin_list = wasm - .query::(&contract_addr, &QueryMsg::AdminList {}) - .unwrap(); - -assert_eq!(admin_list.admins, init_admins); -assert!(admin_list.mutable); - -// ============= NEW CODE ================ - -// update admin list and recheck the state -let new_admins = vec![new_admin.address()]; -wasm.execute::( - &contract_addr, - &ExecuteMsg::UpdateAdmins { - admins: new_admins.clone(), - }, - &[], - admin, -) -.unwrap(); - -let admin_list = wasm - .query::(&contract_addr, &QueryMsg::AdminList {}) - .unwrap(); - -assert_eq!(admin_list.admins, new_admins); -assert!(admin_list.mutable); -``` - -## Debugging - -In your contract code, if you want to debug, you can use [`deps.api.debug(..)`](https://docs.rs/cosmwasm-std/latest/cosmwasm_std/trait.Api.html#tymethod.debug) which will print the debug message to stdout. `wasmd` disabled this by default but `OsmosisTestApp` allows stdout emission so that you can debug your smart contract while running tests. - -## Using Module Wrapper - -In some cases, you might want to interact directly with appchain logic to setup the environment or query appchain's state. -Module wrappers provide convenient functions to interact with the appchain's module. - -Let's try to interact with the `Gamm` module: - -```rust -use cosmwasm_std::Coin; -use osmosis_testing::{Account, Module, OsmosisTestApp, Gamm}; - -let app = OsmosisTestApp::default(); -let alice = app - .init_account(&[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ]) - .unwrap(); - -// create Gamm Module Wrapper -let gamm = Gamm::new(&app); - -// create balancer pool with basic configuration -let pool_liquidity = vec![Coin::new(1_000, "uatom"), Coin::new(1_000, "uosmo")]; -let pool_id = gamm - .create_basic_pool(&pool_liquidity, &alice) - .unwrap() - .data - .pool_id; - -// query pool and assert if the pool is created successfully -let pool = gamm.query_pool(pool_id).unwrap(); -assert_eq!( - pool_liquidity - .into_iter() - .map(|c| c.into()) - .collect::>(), - pool.pool_assets - .into_iter() - .map(|a| a.token.unwrap()) - .collect::>(), -); -``` - -## Custom Module Wrapper - -You might not find wrapper you want to use or the provided wrapper is too verbose. Good new is, it's trivial to create your own wrapper easily. - -Here is how you can redefine `Gamm` module wrapper as a library user: - -```rust -use osmosis_std::types::osmosis::gamm::{ - poolmodels::balancer::v1beta1::{MsgCreateBalancerPool, MsgCreateBalancerPoolResponse}, - v1beta1::{QueryPoolRequest, QueryPoolResponse}, -}; - -use osmosis_testing::{fn_execute, fn_query}; -use osmosis_testing::{Module, Runner}; - - -// Boilerplate code, copy and rename should just do the trick -pub struct Gamm<'a, R: Runner<'a>> { - runner: &'a R, -} - -impl<'a, R: Runner<'a>> Module<'a, R> for Gamm<'a, R> { - fn new(runner: &'a R) -> Self { - Self { runner } - } -} -// End Boilerplate code - -impl<'a, R> Gamm<'a, R> -where - R: Runner<'a>, -{ - // macro for creating execute function - fn_execute! { - // (pub)? : => - pub create_balancer_pool: MsgCreateBalancerPool => MsgCreateBalancerPoolResponse - } - - // macro for creating query function - fn_query! { - // (pub)? []: => - pub query_pool ["/osmosis.gamm.v1beta1.Query/Pool"]: QueryPoolRequest => QueryPoolResponse - } -} -``` - -If the macro generated function is not good enough for you, you write your own function manually. -See [module directory](https://github.com/osmosis-labs/osmosis-rust/tree/main/packages/osmosis-testing/src/module) for more inspiration. diff --git a/packages/osmosis-testing/build.rs b/packages/osmosis-testing/build.rs deleted file mode 100644 index 0ef070d2..00000000 --- a/packages/osmosis-testing/build.rs +++ /dev/null @@ -1,98 +0,0 @@ -extern crate core; - -use std::{env, path::PathBuf, process::Command}; - -fn main() { - let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); - let prebuilt_lib_dir = manifest_dir.join("libosmosistesting").join("artifacts"); - - let lib_name = "osmosistesting"; - - let out_dir = PathBuf::from(env::var("OUT_DIR").unwrap()); - - let header = if std::env::var("DOCS_RS").is_ok() { - manifest_dir - .join("libosmosistesting") - .join("artifacts") - .join("libosmosistesting.docrs.h") - } else { - out_dir.join(format!("lib{}.h", lib_name)) - }; - // rerun when go code is updated - println!("cargo:rerun-if-changed=./libosmosistesting"); - - let lib_filename = if cfg!(target_os = "macos") { - format!("lib{}.{}", lib_name, "dylib") - } else if cfg!(target_os = "linux") { - format!("lib{}.{}", lib_name, "so") - } else if cfg!(target_os = "windows") { - // untested - format!("{}.{}", lib_name, "dll") - } else { - panic!("Unsupported architecture"); - }; - - let lib_filename = lib_filename.as_str(); - - if env::var("PREBUILD_LIB") == Ok("1".to_string()) { - build_libosmosistesting(prebuilt_lib_dir.join(lib_filename)); - } - - let out_dir_lib_path = out_dir.join(lib_filename); - build_libosmosistesting(out_dir_lib_path); - - // define lib name - println!( - "cargo:rustc-link-search=native={}", - out_dir.to_str().unwrap() - ); - - // disable linking if docrs - if std::env::var("DOCS_RS").is_err() { - println!("cargo:rustc-link-lib=dylib={}", lib_name); - } - - // The bindgen::Builder is the main entry point - // to bindgen, and lets you build up options for - // the resulting bindings. - let bindings = bindgen::Builder::default() - // The input header we would like to generate - // bindings for. - .header(header.to_str().unwrap()) - // Tell cargo to invalidate the built crate whenever any of the - // included header files changed. - .parse_callbacks(Box::new(bindgen::CargoCallbacks)) - // Finish the builder and generate the bindings. - .generate() - // Unwrap the Result and panic on failure. - .expect("Unable to generate bindings"); - - // Write the bindings to the $OUT_DIR/bindings.rs file. - let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); - bindings - .write_to_file(out_path.join("bindings.rs")) - .expect("Couldn't write bindings!"); -} - -fn build_libosmosistesting(out: PathBuf) { - // skip if doc_rs build - if std::env::var("DOCS_RS").is_ok() { - return; - } - let manifest_dir = PathBuf::from(env!("CARGO_MANIFEST_DIR")); - let exit_status = Command::new("go") - .current_dir(manifest_dir.join("libosmosistesting")) - .arg("build") - .arg("-buildmode=c-shared") - .arg("-o") - .arg(out) - .arg("main.go") - .spawn() - .unwrap() - .wait() - .unwrap(); - - if !exit_status.success() { - panic!("failed to build go code"); - } -} diff --git a/packages/osmosis-testing/libosmosistesting/artifacts/libosmosistesting.docrs.h b/packages/osmosis-testing/libosmosistesting/artifacts/libosmosistesting.docrs.h deleted file mode 100644 index f12ee647..00000000 --- a/packages/osmosis-testing/libosmosistesting/artifacts/libosmosistesting.docrs.h +++ /dev/null @@ -1,89 +0,0 @@ -/* Code generated by cmd/cgo; DO NOT EDIT. */ - -/* package command-line-arguments */ - - -#line 1 "cgo-builtin-export-prolog" - -#include - -#ifndef GO_CGO_EXPORT_PROLOGUE_H -#define GO_CGO_EXPORT_PROLOGUE_H - -#ifndef GO_CGO_GOSTRING_TYPEDEF -typedef struct { const char *p; ptrdiff_t n; } _GoString_; -#endif - -#endif - -/* Start of preamble from import "C" comments. */ - - - - -/* End of preamble from import "C" comments. */ - - -/* Start of boilerplate cgo prologue. */ -#line 1 "cgo-gcc-export-header-prolog" - -#ifndef GO_CGO_PROLOGUE_H -#define GO_CGO_PROLOGUE_H - -typedef signed char GoInt8; -typedef unsigned char GoUint8; -typedef short GoInt16; -typedef unsigned short GoUint16; -typedef int GoInt32; -typedef unsigned int GoUint32; -typedef long long GoInt64; -typedef unsigned long long GoUint64; -typedef GoInt64 GoInt; -typedef GoUint64 GoUint; -typedef size_t GoUintptr; -typedef float GoFloat32; -typedef double GoFloat64; -#ifdef _MSC_VER -#include -typedef _Fcomplex GoComplex64; -typedef _Dcomplex GoComplex128; -#else -typedef float _Complex GoComplex64; -typedef double _Complex GoComplex128; -#endif - -/* - static assertion to make sure the file is being used on architecture - at least with matching size of GoInt. -*/ -typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; - -#ifndef GO_CGO_GOSTRING_TYPEDEF -typedef _GoString_ GoString; -#endif -typedef void *GoMap; -typedef void *GoChan; -typedef struct { void *t; void *v; } GoInterface; -typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; - -#endif - -/* End of boilerplate cgo prologue. */ - -#ifdef __cplusplus -extern "C" { -#endif - -extern GoUint64 InitTestEnv(); -extern char* InitAccount(GoUint64 envId, GoString coinsJson); -extern void BeginBlock(GoUint64 envId); -extern void EndBlock(GoUint64 envId); -extern char* Execute(GoUint64 envId, GoString base64ReqDeliverTx); -extern char* Query(GoUint64 envId, GoString path, GoString base64QueryMsgBytes); -extern GoUint64 AccountSequence(GoUint64 envId, GoString bech32Address); -extern GoUint64 AccountNumber(GoUint64 envId, GoString bech32Address); -extern char* Simulate(GoUint64 envId, GoString base64TxBytes); - -#ifdef __cplusplus -} -#endif diff --git a/packages/osmosis-testing/libosmosistesting/go.mod b/packages/osmosis-testing/libosmosistesting/go.mod deleted file mode 100644 index a7055877..00000000 --- a/packages/osmosis-testing/libosmosistesting/go.mod +++ /dev/null @@ -1,147 +0,0 @@ -module github.com/osmosis-labs/osmosis-rust/osmosis-testing - -go 1.19 - -require ( - github.com/CosmWasm/wasmd v0.30.0 - github.com/cosmos/cosmos-sdk v0.46.7 - github.com/golang/protobuf v1.5.2 - github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230104143951-0e42afca8d7c - github.com/pkg/errors v0.9.1 - github.com/tendermint/tendermint v0.34.24 - github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b -) - -require ( - filippo.io/edwards25519 v1.0.0-beta.2 // indirect - github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect - github.com/99designs/keyring v1.2.1 // indirect - github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect - github.com/CosmWasm/wasmvm v1.1.1 // indirect - github.com/Workiva/go-datastructures v1.0.53 // indirect - github.com/armon/go-metrics v0.4.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/bgentry/speakeasy v0.1.0 // indirect - github.com/btcsuite/btcd v0.22.1 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect - github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/coinbase/rosetta-sdk-go v0.7.0 // indirect - github.com/confio/ics23/go v0.7.0 // indirect - github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect - github.com/cosmos/go-bip39 v1.0.0 // indirect - github.com/cosmos/gogoproto v1.4.3 // indirect - github.com/cosmos/gorocksdb v1.2.0 // indirect - github.com/cosmos/iavl v0.19.4 // indirect - github.com/cosmos/ibc-go/v4 v4.2.0 // indirect - github.com/cosmos/ledger-cosmos-go v0.11.1 // indirect - github.com/cosmos/ledger-go v0.9.3 // indirect - github.com/creachadair/taskgroup v0.3.2 // indirect - github.com/danieljoos/wincred v1.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect - github.com/dgraph-io/badger/v3 v3.2103.2 // indirect - github.com/dgraph-io/ristretto v0.1.0 // indirect - github.com/docker/distribution v2.8.1+incompatible // indirect - github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/felixge/httpsnoop v1.0.1 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.1 // indirect - github.com/go-logfmt/logfmt v0.5.1 // indirect - github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect - github.com/gogo/gateway v1.1.0 // indirect - github.com/gogo/protobuf v1.3.3 // indirect - github.com/golang/glog v1.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/google/flatbuffers v1.12.1 // indirect - github.com/google/gofuzz v1.2.0 // indirect - github.com/google/orderedcode v0.0.1 // indirect - github.com/gorilla/handlers v1.5.1 // indirect - github.com/gorilla/mux v1.8.0 // indirect - github.com/gorilla/websocket v1.5.0 // indirect - github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect - github.com/gtank/merlin v0.1.1 // indirect - github.com/gtank/ristretto255 v0.1.2 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 // indirect - github.com/improbable-eng/grpc-web v0.15.0 // indirect - github.com/inconshreveable/mousetrap v1.0.1 // indirect - github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.15.11 // indirect - github.com/lib/pq v1.10.6 // indirect - github.com/libp2p/go-buffer-pool v0.1.0 // indirect - github.com/magiconair/properties v1.8.6 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect - github.com/minio/highwayhash v1.0.2 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/mtibben/percent v0.2.1 // indirect - github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/osmosis-labs/osmosis/osmomath v0.0.2 // indirect - github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf // indirect - github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf // indirect - github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.5 // indirect - github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.14.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.37.0 // indirect - github.com/prometheus/procfs v0.8.0 // indirect - github.com/rakyll/statik v0.1.7 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/regen-network/cosmos-proto v0.3.1 // indirect - github.com/rs/cors v1.8.2 // indirect - github.com/rs/zerolog v1.27.0 // indirect - github.com/sasha-s/go-deadlock v0.3.1 // indirect - github.com/spf13/afero v1.9.2 // indirect - github.com/spf13/cast v1.5.0 // indirect - github.com/spf13/cobra v1.6.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.14.0 // indirect - github.com/stretchr/testify v1.8.1 // indirect - github.com/subosito/gotenv v1.4.1 // indirect - github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect - github.com/tendermint/btcd v0.1.1 // indirect - github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 // indirect - github.com/tendermint/go-amino v0.16.0 // indirect - github.com/tidwall/btree v1.6.0 // indirect - github.com/zondax/hid v0.9.0 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - go.opencensus.io v0.23.0 // indirect - golang.org/x/crypto v0.1.0 // indirect - golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect - golang.org/x/net v0.1.0 // indirect - golang.org/x/sys v0.1.0 // indirect - golang.org/x/term v0.1.0 // indirect - golang.org/x/text v0.4.0 // indirect - google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect - google.golang.org/grpc v1.50.1 // indirect - google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - nhooyr.io/websocket v1.8.7 // indirect -) - -replace github.com/CosmWasm/wasmd => github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30 - -replace github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 - -replace github.com/cosmos/cosmos-sdk => github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e - -replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 - -replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 diff --git a/packages/osmosis-testing/libosmosistesting/go.sum b/packages/osmosis-testing/libosmosistesting/go.sum deleted file mode 100644 index a771ef95..00000000 --- a/packages/osmosis-testing/libosmosistesting/go.sum +++ /dev/null @@ -1,1262 +0,0 @@ -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -filippo.io/edwards25519 v1.0.0-beta.2 h1:/BZRNzm8N4K4eWfK28dL4yescorxtO7YG1yun8fy+pI= -filippo.io/edwards25519 v1.0.0-beta.2/go.mod h1:X+pm78QAUPtFLi1z9PYIlS/bdDnvbCOGKtZ+ACWEf7o= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 h1:/vQbFIOMbk2FiG/kXiLl8BRyzTWDw7gX/Hz7Dd5eDMs= -github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4/go.mod h1:hN7oaIRCjzsZ2dE+yG5k+rsdt3qcwykqK6HVGcKwsw4= -github.com/99designs/keyring v1.2.1 h1:tYLp1ULvO7i3fI5vE21ReQuj99QFSs7lGm0xWyJo87o= -github.com/99designs/keyring v1.2.1/go.mod h1:fc+wB5KTk9wQ9sDx0kFXB3A0MaeGHM9AwRStKOQ5vOA= -github.com/Azure/azure-pipeline-go v0.2.1/go.mod h1:UGSo8XybXnIGZ3epmeBw7Jdz+HiUVpqIlpz/HKHylF4= -github.com/Azure/azure-pipeline-go v0.2.2/go.mod h1:4rQ/NZncSvGqNkkOsNpOU1tgoNuIlp9AfUH5G1tvCHc= -github.com/Azure/azure-storage-blob-go v0.7.0/go.mod h1:f9YQKtsG1nMisotuTPpO0tjNuEjKRYAcJU8/ydDI++4= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= -github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/CosmWasm/wasmvm v1.1.1 h1:0xtdrmmsP9fibe+x42WcMkp5aQ738BICgcH3FNVLzm4= -github.com/CosmWasm/wasmvm v1.1.1/go.mod h1:ei0xpvomwSdONsxDuONzV7bL1jSET1M8brEx0FCXc+A= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/DataDog/zstd v1.4.5/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= -github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= -github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= -github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/VictoriaMetrics/fastcache v1.5.7/go.mod h1:ptDBkNMQI4RtmVo8VS/XwRY6RoTu1dAWCbrk+6WsEM8= -github.com/VividCortex/gohistogram v1.0.0 h1:6+hBz+qvs0JOrrNhhmR7lFxo5sINxBCGXrdtl/UvroE= -github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/Workiva/go-datastructures v1.0.53 h1:J6Y/52yX10Xc5JjXmGtWoSSxs3mZnGSaq37xZZh7Yig= -github.com/Workiva/go-datastructures v1.0.53/go.mod h1:1yZL+zfsztete+ePzZz/Zb1/t5BnDuE2Ya2MMGhzP6A= -github.com/Zilliqa/gozilliqa-sdk v1.2.1-0.20201201074141-dd0ecada1be6/go.mod h1:eSYp2T6f0apnuW8TzhV3f6Aff2SE8Dwio++U4ha4yEM= -github.com/adlio/schema v1.3.3 h1:oBJn8I02PyTB466pZO1UZEn1TV5XLlifBSyMrmHl/1I= -github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII= -github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.4.0 h1:yCQqn7dwca4ITXb+CbubHmedzaQYHhNhrEXLYUeEe8Q= -github.com/armon/go-metrics v0.4.0/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= -github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= -github.com/aws/aws-sdk-go v1.25.48/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/btcsuite/btcd v0.0.0-20171128150713-2e60448ffcc6/go.mod h1:Dmm/EzmjnCiweXmzRIAiUWCInVmPgjkzgv5k4tVyXiQ= -github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0= -github.com/btcsuite/btcd v0.0.0-20190315201642-aa6e0f35703c/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8= -github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= -github.com/btcsuite/btcd v0.21.0-beta/go.mod h1:ZSWyehm27aAuS9bvkATT+Xte3hjHZ+MRgMY/8NJ7K94= -github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c= -github.com/btcsuite/btcd v0.22.1/go.mod h1:wqgTSL29+50LRkmOVknEdmt8ZojIzhuWvgu/iptuN7Y= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= -github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= -github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcutil v1.0.2/go.mod h1:j9HUFwoQRsZL3V4n+qG+CUnEGHOarIxfC3Le2Yhbcts= -github.com/btcsuite/btcutil v1.0.3-0.20201208143702-a53e38424cce h1:YtWJF7RHm2pYCvA5t0RPmAaLUhREsKuKd+SLhxFbFeQ= -github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg= -github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY= -github.com/btcsuite/goleveldb v1.0.0/go.mod h1:QiK9vBlgftBg6rWQIj6wFzbPfRjiykIEhBH4obrXJ/I= -github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/snappy-go v1.0.0/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc= -github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY= -github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs= -github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= -github.com/cloudflare/cloudflare-go v0.10.2-0.20190916151808-a80f83b9add9/go.mod h1:1MxXX1Ux4x6mqPmjkUgTP1CdXIBXKX7T+Jk9Gxrmx+U= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/coinbase/rosetta-sdk-go v0.7.0 h1:lmTO/JEpCvZgpbkOITL95rA80CPKb5CtMzLaqF2mCNg= -github.com/coinbase/rosetta-sdk-go v0.7.0/go.mod h1:7nD3oBPIiHqhRprqvMgPoGxe/nyq3yftRmpsy29coWE= -github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= -github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= -github.com/cosmos/cosmos-proto v1.0.0-alpha8 h1:d3pCRuMYYvGA5bM0ZbbjKn+AoQD4A7dyNG2wzwWalUw= -github.com/cosmos/cosmos-proto v1.0.0-alpha8/go.mod h1:6/p+Bc4O8JKeZqe0VqUGTX31eoYqemTT4C1hLCWsO7I= -github.com/cosmos/cosmos-sdk/ics23/go v0.8.0 h1:iKclrn3YEOwk4jQHT2ulgzuXyxmzmPczUalMwW4XH9k= -github.com/cosmos/cosmos-sdk/ics23/go v0.8.0/go.mod h1:2a4dBq88TUoqoWAU5eu0lGvpFP3wWDPgdHPargtyw30= -github.com/cosmos/go-bip39 v0.0.0-20180819234021-555e2067c45d/go.mod h1:tSxLoYXyBmiFeKpvmq4dzayMdCjCnu8uqmCysIGBT2Y= -github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= -github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= -github.com/cosmos/gogoproto v1.4.3 h1:RP3yyVREh9snv/lsOvmsAPQt8f44LgL281X0IOIhhcI= -github.com/cosmos/gogoproto v1.4.3/go.mod h1:0hLIG5TR7IvV1fme1HCFKjfzW9X2x0Mo+RooWXCnOWU= -github.com/cosmos/gorocksdb v1.2.0 h1:d0l3jJG8M4hBouIZq0mDUHZ+zjOx044J3nGRskwTb4Y= -github.com/cosmos/gorocksdb v1.2.0/go.mod h1:aaKvKItm514hKfNJpUJXnnOWeBnk2GL4+Qw9NHizILw= -github.com/cosmos/iavl v0.19.4 h1:t82sN+Y0WeqxDLJRSpNd8YFX5URIrT+p8n6oJbJ2Dok= -github.com/cosmos/iavl v0.19.4/go.mod h1:X9PKD3J0iFxdmgNLa7b2LYWdsGd90ToV5cAONApkEPw= -github.com/cosmos/ibc-go/v4 v4.2.0 h1:Fx/kKq/uvawrAxk6ZrQ6sEIgffLRU5Cs/AUnvpPBrHI= -github.com/cosmos/ibc-go/v4 v4.2.0/go.mod h1:57qWScDtfCx3FOMLYmBIKPbOLE6xiVhrgxHAQmbWYXM= -github.com/cosmos/interchain-accounts v0.2.4 h1:7UrroFQsCRSp17980mk6anx4YteveIJVkU+a0wlsHQI= -github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6oYorTy6J4= -github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= -github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= -github.com/cosmos/ledger-go v0.9.3 h1:WGyZK4ikuLIkbxJm3lEr1tdQYDdTdveTwoVla7hqfhQ= -github.com/cosmos/ledger-go v0.9.3/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= -github.com/creachadair/taskgroup v0.3.2 h1:zlfutDS+5XG40AOxcHDSThxKzns8Tnr9jnr6VqkYlkM= -github.com/creachadair/taskgroup v0.3.2/go.mod h1:wieWwecHVzsidg2CsUnFinW1faVN4+kq+TDlRJQ0Wbk= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/danieljoos/wincred v1.1.2 h1:QLdCxFs1/Yl4zduvBdcHB8goaYk9RARS2SgLLRuAyr0= -github.com/danieljoos/wincred v1.1.2/go.mod h1:GijpziifJoIBfYh+S7BbkdUTU4LfM+QnGqR5Vl2tAx0= -github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= -github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= -github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= -github.com/dgraph-io/badger/v2 v2.2007.2/go.mod h1:26P/7fbL4kUZVEVKLAKXkBXKOydDmM2p1e+NhhnBCAE= -github.com/dgraph-io/badger/v3 v3.2103.2 h1:dpyM5eCJAtQCBcMCZcT4UBZchuTJgCywerHHgmxfxM8= -github.com/dgraph-io/badger/v3 v3.2103.2/go.mod h1:RHo4/GmYcKKh5Lxu63wLEMHJ70Pac2JqZRYGhlyAo2M= -github.com/dgraph-io/ristretto v0.0.3-0.20200630154024-f66de99634de/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y= -github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v1.4.2-0.20180625184442-8e610b2b55bf/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= -github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/dop251/goja v0.0.0-20200721192441-a695b0cdd498/go.mod h1:Mw6PkjjMXWbTj+nnj4s3QPXq1jaT0s5pC0iFD4+BOAA= -github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac h1:opbrjaN/L8gg6Xh5D04Tem+8xVcz6ajZlGCs49mQgyg= -github.com/dustin/go-humanize v1.0.1-0.20200219035652-afde56e7acac/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= -github.com/dvyukov/go-fuzz v0.0.0-20200318091601-be3528f3a813/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw= -github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/edsrzf/mmap-go v0.0.0-20160512033002-935e0e8a636c/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/ethereum/go-ethereum v1.9.25/go.mod h1:vMkFiYLHI4tgPw4k2j4MHKoovchFE8plZ0M9VMk4/oM= -github.com/facebookgo/ensure v0.0.0-20200202191622-63f1cf65ac4c h1:8ISkoahWXwZR41ois5lSJBSVw4D0OV19Ht/JSTzvSv0= -github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= -github.com/facebookgo/subset v0.0.0-20200203212716-c811ad88dec4 h1:7HZCaLC5+BZpmbhCOZJ293Lz68O7PYrF2EzeiFMwCLk= -github.com/fatih/color v1.3.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/fjl/memsize v0.0.0-20180418122429-ca190fb6ffbc/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= -github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= -github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= -github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= -github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= -github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= -github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/universal-translator v0.17.0 h1:icxd5fm+REJzpZx7ZfpaD876Lmtgy7VtROAbHHXk8no= -github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= -github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7aM3F26W0hOn+GE= -github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= -github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= -github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= -github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= -github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3-0.20201103224600-674baa8c7fc3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.1.2 h1:xf4v41cLI2Z6FxbKm+8Bu+m8ifhj15JuZ9sa0jZCMUU= -github.com/google/btree v1.1.2/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/flatbuffers v1.12.1 h1:MVlul7pQNoDzWRLTw5imwYsl+usrS1TXG2H4jg6ImGw= -github.com/google/flatbuffers v1.12.1/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/orderedcode v0.0.1 h1:UzfcAexk9Vhv8+9pNOgRu41f16lHq725vPwnSeiG/Us= -github.com/google/orderedcode v0.0.1/go.mod h1:iVyU4/qPKHY5h/wSd6rZZCDcLJNxiWO6dvsYES2Sb20= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= -github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1-0.20190629185528-ae1634f6a989/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.2.2/go.mod h1:EaizFBKfUKtMIF5iaDEhniwNedqGo9FuLFzppDr3uwI= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 h1:+9834+KizmvFV7pXQGSXQTsaWhq2GjuNUt0aUU0YBYw= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.8.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c h1:6rhixN/i8ZofjG1Y75iExal34USq5p+wiN1tpie8IrU= -github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c/go.mod h1:NMPJylDgVpX0MLRlPy15sqSwOFv/U1GZ2m21JhFfek0= -github.com/gtank/merlin v0.1.1-0.20191105220539-8318aed1a79f/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/merlin v0.1.1 h1:eQ90iG7K9pOhtereWsmyRJ6RAwcP4tHTDBHXNg+u5is= -github.com/gtank/merlin v0.1.1/go.mod h1:T86dnYJhcGOh5BjZFCJWTDeTK7XW8uE+E21Cy/bIQ+s= -github.com/gtank/ristretto255 v0.1.2 h1:JEqUCPA1NvLq5DwYtuzigd7ss8fwbYay9fi4/5uMzcc= -github.com/gtank/ristretto255 v0.1.2/go.mod h1:Ph5OpO6c7xKUGROZfWVLiJf9icMDwUeIvY4OmlYW69o= -github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1 h1:fv1ep09latC32wFoVwnqcnKJGnMSdBanPczbHAYm1BE= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87 h1:uUjLpLt6bVvZ72SQc/B4dXcPBw4Vgd7soowdRl52qEM= -github.com/hdevalence/ed25519consensus v0.0.0-20210204194344-59a8610d2b87/go.mod h1:XGsKKeXxeRr95aEOgipvluMPlgjr7dGlk9ZTWOjcUcg= -github.com/holiman/uint256 v1.1.1/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= -github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ= -github.com/improbable-eng/grpc-web v0.15.0/go.mod h1:1sy9HKV4Jt9aEs9JSnkWlRJPuPtwNr0l57L4f878wP8= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= -github.com/influxdata/influxdb v1.2.3-0.20180221223340-01288bdb0883/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY= -github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/jackpal/go-nat-pmp v1.0.2-0.20160603034137-1fa385a6f458/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= -github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= -github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.12.1-0.20220721211354-060cc04fc18b h1:izTof8BKh/nE1wrKOrloNA5q4odOarjf+Xpe+4qow98= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmhodges/levigo v1.0.0 h1:q5EC36kV79HWeTBWsod3mG11EgStG3qArTKcvlksN1U= -github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.1.1-0.20170430222011-975b5c4c7c21/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= -github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= -github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= -github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y= -github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/lib/pq v1.10.6 h1:jbk+ZieJ0D7EVGJYpL9QTz7/YW6UHbmdnZWYyK5cdBs= -github.com/lib/pq v1.10.6/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= -github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= -github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= -github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.0/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-ieproxy v0.0.0-20190610004146-91bb50d98149/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d/go.mod h1:31jz6HNzdxOmlERGGEc4v/dMssOfmp2p5bT/okiKFFc= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5-0.20180830101745-3fb116b82035/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 h1:QRUSJEgZn2Snx0EmT/QLXibWjSUDjKWvXIT19NBVp94= -github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0/go.mod h1:43+3pMjjKimDBf5Kr4ZFNGbLql1zKkbImw+fZbw3geM= -github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= -github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mtibben/percent v0.2.1 h1:5gssi8Nqo8QU/r2pynCm+hBQHpkB/uNK7BJCFogWdzs= -github.com/mtibben/percent v0.2.1/go.mod h1:KG9uO+SZkUp+VkRHsCdYQV3XSZrrSpR3O9ibNBTZrns= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/grpc-proxy v0.0.0-20181017164139-0f1106ef9c76/go.mod h1:x5OoJHDHqxHS801UIuhqGl6QdSAEJvtausosHSdazIo= -github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= -github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= -github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= -github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/neilotoole/errgroup v0.1.5/go.mod h1:Q2nLGf+594h0CLBs/Mbg6qOr7GtqDK7C2S41udRnToE= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4 h1:DQuhQpB1tVlglWS2hLQ5OV6B5r8aGxSrPc5Qo6uTN78= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/olekukonko/tablewriter v0.0.2-0.20190409134802-7e037d187b0c/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0 h1:2mOpI4JVVPBN+WQRa0WKH2eXR+Ey+uK4n7Zj0aYpIQA= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1 h1:o0+MgICZLuZ7xjH7Vx6zS/zcu93/BEp1VwkIW1mEXCE= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= -github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxSfWAKL3wpBW7V8scJMt8N8gnaMCS9E/cA= -github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= -github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e h1:A3byMZpvq21iI7yWJUNdHw0nf8jVAbVUsWY9twnXSXE= -github.com/osmosis-labs/cosmos-sdk v0.45.1-0.20221118211718-545aed73e94e/go.mod h1:rud0OaBIuq3+qOqtwT4SR7Q7iSzRp7w41fjninTjfnQ= -github.com/osmosis-labs/osmosis/osmomath v0.0.2 h1:8vTobkYfoRTCJCie+jE7gzXvqUUfoPI4NSvTskoci50= -github.com/osmosis-labs/osmosis/osmomath v0.0.2/go.mod h1:IpoXO7lvmfsBFfQzaqovs541hpqtrnM+GJSZDi/TZtc= -github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf h1:FZOlrTSaf/YWokt3+tSSZpcu6zu3dXLhsvhJWkHeBxU= -github.com/osmosis-labs/osmosis/osmoutils v0.0.0-20230101095308-fa4e70e17dbf/go.mod h1:T7CCZKYhKWASnv5mRE8u3m0gst3NZ/sU16Brjmv4UPw= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230104143951-0e42afca8d7c h1:tzqd7FCZf6BhlpU8Hi7OlaErbW+aF8k/WrAHbQrIJec= -github.com/osmosis-labs/osmosis/v13 v13.0.0-rc0.0.20230104143951-0e42afca8d7c/go.mod h1:4TcGnFxmXnkRJHNpOtFPTZQcHrenJwcfWWrac5C4/S8= -github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf h1:qcDUVsM6BNuGJ3dfGs3onOPzR0donLgXznqv60HRk+8= -github.com/osmosis-labs/osmosis/x/ibc-hooks v0.0.0-20230101095308-fa4e70e17dbf/go.mod h1:5zNisZDypMTW32EABSuWI/EacHC48590PpSO9QwFzCg= -github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30 h1:6uMi7HhPSwvKKU7j5NqljseFTEz4I7qHr+IPnnn42Ck= -github.com/osmosis-labs/wasmd v0.29.2-0.20221222131554-7c8ea36a6e30/go.mod h1:5fDYJyMXBq6u2iuHqqOTYiZ5NitIOeIW5k7qEXqbwJE= -github.com/otiai10/copy v1.7.0 h1:hVoPiN+t+7d2nzzwMiDHPSOogsWAStewq3TwU05+clE= -github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v0.0.0-20170112150404-1b00554d8222/go.mod h1:VyrYX9gd7irzKovcSS6BIIEwPRkP2Wm2m9ufcdFSJ34= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= -github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= -github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 h1:q2e307iGHPdTGp0hoxKjt1H5pDo6utceo3dQVK3I5XQ= -github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= -github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= -github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.37.0 h1:ccBbHCgIiT9uSoFY0vX8H3zsNR5eLt17/RQLUvn8pXE= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/tsdb v0.6.2-0.20190402121629-4f204dcbc150/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= -github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= -github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/regen-network/cosmos-proto v0.3.1 h1:rV7iM4SSFAagvy8RiyhiACbWEGotmqzywPxOvwMdxcg= -github.com/regen-network/cosmos-proto v0.3.1/go.mod h1:jO0sVX6a1B36nmE8C9xBFXpNwWejXC7QqCOnH3O0+YM= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1 h1:OHEc+q5iIAXpqiqFKeLpu5NwTIkVXUs48vFMwzqpqY4= -github.com/regen-network/protobuf v1.3.3-alpha.regen.1/go.mod h1:2DjTFR1HhMQhiWC5sZ4OhQ3+NtdbZ6oBDKQwq5Ou+FI= -github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/rs/cors v0.0.0-20160617231935-a62a804a8a00/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U= -github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xhandler v0.0.0-20160618193221-ed27b6fd6521/go.mod h1:RvLn4FgxWubrpZHtQLnOf6EwhN2hEMusxZOhcW9H3UQ= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs= -github.com/rs/zerolog v1.27.0/go.mod h1:7frBqO0oezxmnO7GF86FY++uy8I0Tk/If5ni1G9Qc0U= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/sasha-s/go-deadlock v0.3.1 h1:sqv7fDNShgjcaxkO0JNcOAlr8B9+cV5Ey/OB71efZx0= -github.com/sasha-s/go-deadlock v0.3.1/go.mod h1:F73l+cr82YSh10GxyRI6qZiCgK64VaZjwesgfQ1/iLM= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/shirou/gopsutil v2.20.5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI= -github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw= -github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.14.0 h1:Rg7d3Lo706X9tHsJMUjdiwMpHB7W8WnSVOssIY+JElU= -github.com/spf13/viper v1.14.0/go.mod h1:WT//axPky3FdvXHzGw33dNdXXXfFQqmEalje+egj8As= -github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= -github.com/steakknife/bloomfilter v0.0.0-20180922174646-6819c0d2a570/go.mod h1:8OR4w3TdeIHIh1g6EMY5p0gVNOovcWC+1vpc7naMuAw= -github.com/steakknife/hamming v0.0.0-20180906055917-c99c65617cd3/go.mod h1:hpGUWaI9xL8pRQCTXQgocU38Qw1g0Us7n5PxxTwTCYU= -github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs= -github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= -github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= -github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= -github.com/tendermint/btcd v0.1.1 h1:0VcxPfflS2zZ3RiOAHkBiFUcPvbtRj5O7zHmcJWHV7s= -github.com/tendermint/btcd v0.1.1/go.mod h1:DC6/m53jtQzr/NFmMNEu0rxf18/ktVoVtMrnDD5pN+U= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15 h1:hqAk8riJvK4RMWx1aInLzndwxKalgi5rTqgfXxOxbEI= -github.com/tendermint/crypto v0.0.0-20191022145703-50d29ede1e15/go.mod h1:z4YtwM70uOnk8h0pjJYlj3zdYwi9l03By6iAIF5j/Pk= -github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= -github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= -github.com/tendermint/tendermint v0.34.24 h1:879MKKJWYYPJEMMKME+DWUTY4V9f/FBpnZDI82ky+4k= -github.com/tendermint/tendermint v0.34.24/go.mod h1:rXVrl4OYzmIa1I91av3iLv2HS0fGSiucyW9J4aMTpKI= -github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b h1:Y3ZPG6gdDCAV2sdGkD759ji/09GzaNu1X3qKTmZIbTo= -github.com/tendermint/tm-db v0.6.8-0.20220506192307-f628bb5dc95b/go.mod h1:ADqbS9NOSnBRK9R2RtYC61CdsHmVMD/yXAzcMuPexbU= -github.com/tidwall/btree v1.6.0 h1:LDZfKfQIBHGHWSwckhXI0RPSXzlo+KYdjK7FWSqOzzg= -github.com/tidwall/btree v1.6.0/go.mod h1:twD9XRA5jj9VUQGELzDO4HPQTNJsoWWfYEL+EUQ2cKY= -github.com/tidwall/gjson v1.6.7/go.mod h1:zeFuBCIqD4sN/gmqBzZ4j7Jd6UcA2Fc56x7QFsv+8fI= -github.com/tidwall/match v1.0.3/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= -github.com/tidwall/pretty v1.0.2/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tidwall/sjson v1.1.4/go.mod h1:wXpKXu8CtDjKAZ+3DrKY5ROCorDFahq8l0tey/Lx1fg= -github.com/tinylib/msgp v1.1.5/go.mod h1:eQsjooMTnV42mHu917E26IogZ2930nFyBQdofk10Udg= -github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ttacon/chalk v0.0.0-20160626202418-22c06c80ed31/go.mod h1:onvgF043R+lC5RZ8IT9rBXDaEDnpnw/Cl+HFiw+v/7Q= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= -github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo= -github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs= -github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/vmihailenco/msgpack/v5 v5.1.4/go.mod h1:C5gboKD0TJPqWDTVTtrQNfRbiBwHZGo8UTqP/9/XvLI= -github.com/vmihailenco/tagparser v0.1.2/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= -github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+mw0EzQ08zFqg7pK3FebNXpaMsRy2RT+Ees= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= -github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= -github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= -go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200115085410-6d4e4cb37c7d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA= -golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20200801112145-973feb4309de/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= -golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0= -golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.1.0 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= -google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190530194941-fb225487d101/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200324203455-a04cca1dde73/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210126160654-44e461bb6506/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e h1:S9GbmC1iCgvbLyAokVCwiO6tVIrU9Y7c5oMx1V/ki/Y= -google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8 h1:KR8+MyP7/qOlV+8Af01LtjL04bu7on42eVsxT4EyBQk= -google.golang.org/protobuf v1.28.2-0.20220831092852-f930b1dc76e8/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200902074654-038fdea0a05b/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= -gopkg.in/olebedev/go-duktape.v3 v3.0.0-20200619000410-60c24ae608a6/go.mod h1:uAJfkITjFhyEEuUfm7bsmCZRbW5WRq8s9EY8HZ6hCns= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/urfave/cli.v1 v1.20.0/go.mod h1:vuBzUtMdQeixQj8LVd+/98pzhxNGQoyuPBlsXHOQNO0= -gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= -gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -nhooyr.io/websocket v1.8.7 h1:usjR2uOr/zjjkVMy0lW+PPohFok7PCow5sDjLgX4P4g= -nhooyr.io/websocket v1.8.7/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/packages/osmosis-testing/libosmosistesting/main.go b/packages/osmosis-testing/libosmosistesting/main.go deleted file mode 100644 index cac3c65b..00000000 --- a/packages/osmosis-testing/libosmosistesting/main.go +++ /dev/null @@ -1,241 +0,0 @@ -package main - -import "C" - -import ( - // std - "encoding/base64" - "encoding/json" - "fmt" - "sync" - "time" - - // helpers - "github.com/golang/protobuf/proto" - "github.com/pkg/errors" - - // tendermint - abci "github.com/tendermint/tendermint/abci/types" - tmproto "github.com/tendermint/tendermint/proto/tendermint/types" - - // cosmos sdk - "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" - "github.com/cosmos/cosmos-sdk/simapp" - sdk "github.com/cosmos/cosmos-sdk/types" - - // wasmd - wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - - // cosmwasm-testing - "github.com/osmosis-labs/osmosis-rust/osmosis-testing/result" - "github.com/osmosis-labs/osmosis-rust/osmosis-testing/testenv" -) - -var ( - envCounter uint64 = 0 - envRegister = sync.Map{} - mu sync.Mutex -) - -//export InitTestEnv -func InitTestEnv() uint64 { - // Allow testing unoptimized contract - wasmtypes.MaxWasmSize = 1024 * 1024 * 1024 * 1024 * 1024 - // Temp fix for concurrency issue - mu.Lock() - defer mu.Unlock() - - env := new(testenv.TestEnv) - env.App = testenv.SetupOsmosisApp() - - env.Ctx = env.App.BaseApp.NewContext(false, tmproto.Header{Height: 0, ChainID: "osmosis-1", Time: time.Now().UTC()}) - - env.BeginNewBlock(false) - - reqEndBlock := abci.RequestEndBlock{Height: env.Ctx.BlockHeight()} - env.App.EndBlock(reqEndBlock) - env.App.Commit() - - envCounter += 1 - id := envCounter - - envRegister.Store(id, *env) - - return id -} - -//export InitAccount -func InitAccount(envId uint64, coinsJson string) *C.char { - env := loadEnv(envId) - var coins sdk.Coins - - if err := json.Unmarshal([]byte(coinsJson), &coins); err != nil { - panic(err) - } - - priv := secp256k1.GenPrivKey() - accAddr := sdk.AccAddress(priv.PubKey().Address()) - - err := simapp.FundAccount(env.App.BankKeeper, env.Ctx, accAddr, coins) - if err != nil { - panic(errors.Wrapf(err, "Failed to fund account")) - } - - base64Priv := base64.StdEncoding.EncodeToString(priv.Bytes()) - - envRegister.Store(envId, env) - - return C.CString(base64Priv) -} - -//export BeginBlock -func BeginBlock(envId uint64) { - env := loadEnv(envId) - env.BeginNewBlock(false) - envRegister.Store(envId, env) -} - -//export EndBlock -func EndBlock(envId uint64) { - env := loadEnv(envId) - reqEndBlock := abci.RequestEndBlock{Height: env.Ctx.BlockHeight()} - env.App.EndBlock(reqEndBlock) - env.App.Commit() - envRegister.Store(envId, env) -} - -//export Execute -func Execute(envId uint64, base64ReqDeliverTx string) *C.char { - env := loadEnv(envId) - // Temp fix for concurrency issue - mu.Lock() - defer mu.Unlock() - - reqDeliverTxBytes, err := base64.StdEncoding.DecodeString(base64ReqDeliverTx) - if err != nil { - panic(err) - } - - reqDeliverTx := abci.RequestDeliverTx{} - err = proto.Unmarshal(reqDeliverTxBytes, &reqDeliverTx) - if err != nil { - return encodeErrToResultBytes(result.ExecuteError, err) - } - - resDeliverTx := env.App.DeliverTx(reqDeliverTx) - bz, err := proto.Marshal(&resDeliverTx) - - if err != nil { - panic(err) - } - - envRegister.Store(envId, env) - - return encodeBytesResultBytes(bz) -} - -//export Query -func Query(envId uint64, path, base64QueryMsgBytes string) *C.char { - env := loadEnv(envId) - queryMsgBytes, err := base64.StdEncoding.DecodeString(base64QueryMsgBytes) - if err != nil { - panic(err) - } - - req := abci.RequestQuery{} - req.Data = queryMsgBytes - - route := env.App.GRPCQueryRouter().Route(path) - if route == nil { - err := errors.New("No route found for `" + path + "`") - return encodeErrToResultBytes(result.QueryError, err) - } - res, err := route(env.Ctx, req) - - if err != nil { - return encodeErrToResultBytes(result.QueryError, err) - } - - return encodeBytesResultBytes(res.Value) -} - -//export AccountSequence -func AccountSequence(envId uint64, bech32Address string) uint64 { - env := loadEnv(envId) - - addr, err := sdk.AccAddressFromBech32(bech32Address) - - if err != nil { - panic(err) - } - - seq, err := env.App.AppKeepers.AccountKeeper.GetSequence(env.Ctx, addr) - - if err != nil { - panic(err) - } - - return seq -} - -//export AccountNumber -func AccountNumber(envId uint64, bech32Address string) uint64 { - env := loadEnv(envId) - - addr, err := sdk.AccAddressFromBech32(bech32Address) - - if err != nil { - panic(err) - } - - acc := env.App.AppKeepers.AccountKeeper.GetAccount(env.Ctx, addr) - return acc.GetAccountNumber() -} - -//export Simulate -func Simulate(envId uint64, base64TxBytes string) *C.char { // => base64GasInfo - env := loadEnv(envId) - // Temp fix for concurrency issue - mu.Lock() - defer mu.Unlock() - - txBytes, err := base64.StdEncoding.DecodeString(base64TxBytes) - if err != nil { - panic(err) - } - - gasInfo, _, err := env.App.Simulate(txBytes) - - if err != nil { - return encodeErrToResultBytes(result.ExecuteError, err) - } - - bz, err := proto.Marshal(&gasInfo) - if err != nil { - panic(err) - } - - return encodeBytesResultBytes(bz) -} - -// ========= utils ========= - -func loadEnv(envId uint64) testenv.TestEnv { - item, ok := envRegister.Load(envId) - env := testenv.TestEnv(item.(testenv.TestEnv)) - if !ok { - panic(fmt.Sprintf("env not found: %d", envId)) - } - return env -} - -func encodeErrToResultBytes(code byte, err error) *C.char { - return C.CString(result.EncodeResultFromError(code, err)) -} - -func encodeBytesResultBytes(bytes []byte) *C.char { - return C.CString(result.EncodeResultFromOk(bytes)) -} - -// must define main for ffi build -func main() {} diff --git a/packages/osmosis-testing/libosmosistesting/result/result.go b/packages/osmosis-testing/libosmosistesting/result/result.go deleted file mode 100644 index 6006489e..00000000 --- a/packages/osmosis-testing/libosmosistesting/result/result.go +++ /dev/null @@ -1,30 +0,0 @@ -package result - -import ( - "C" - "encoding/base64" -) - -var ( - Ok byte = 0 - QueryError byte = 1 - ExecuteError byte = 2 -) - -func markError(code byte, data []byte) []byte { - return append([]byte{code}, data...) -} - -func markOk(data []byte) []byte { - return append([]byte{Ok}, data...) -} - -func EncodeResultFromError(code byte, err error) string { - marked := markError(code, []byte(err.Error())) - return base64.StdEncoding.EncodeToString(marked) -} - -func EncodeResultFromOk(data []byte) string { - marked := markOk(data) - return base64.StdEncoding.EncodeToString(marked) -} diff --git a/packages/osmosis-testing/libosmosistesting/testenv/setup.go b/packages/osmosis-testing/libosmosistesting/testenv/setup.go deleted file mode 100644 index 6b626b31..00000000 --- a/packages/osmosis-testing/libosmosistesting/testenv/setup.go +++ /dev/null @@ -1,213 +0,0 @@ -package testenv - -import ( - "encoding/json" - "fmt" - "strings" - "time" - - // helpers - - // tendermint - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - tmtypes "github.com/tendermint/tendermint/proto/tendermint/types" - dbm "github.com/tendermint/tm-db" - - // cosmos-sdk - - "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" - "github.com/cosmos/cosmos-sdk/server" - "github.com/cosmos/cosmos-sdk/simapp" - sdk "github.com/cosmos/cosmos-sdk/types" - slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" - "github.com/cosmos/cosmos-sdk/x/staking" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" - - // wasmd - "github.com/CosmWasm/wasmd/x/wasm" - wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" - - // osmosis - "github.com/osmosis-labs/osmosis/v13/app" -) - -type TestEnv struct { - App *app.OsmosisApp - Ctx sdk.Context -} - -// DebugAppOptions is a stub implementing AppOptions -type DebugAppOptions struct{} - -// Get implements AppOptions -func (ao DebugAppOptions) Get(o string) interface{} { - if o == server.FlagTrace { - return true - } - return nil -} - -func SetupOsmosisApp() *app.OsmosisApp { - db := dbm.NewMemDB() - appInstance := app.NewOsmosisApp( - log.NewNopLogger(), - db, - nil, - true, - map[int64]bool{}, - app.DefaultNodeHome, - 5, - DebugAppOptions{}, - app.GetWasmEnabledProposals(), - app.EmptyWasmOpts, - ) - genesisState := app.NewDefaultGenesisState() - - encCfg := app.MakeEncodingConfig() - wasmGen := wasm.GenesisState{ - Params: wasmtypes.Params{ - // Allow store code without gov - CodeUploadAccess: wasmtypes.AllowEverybody, - InstantiateDefaultPermission: wasmtypes.AccessTypeEverybody, - }, - } - - genesisState[wasm.ModuleName] = encCfg.Marshaler.MustMarshalJSON(&wasmGen) - - stateBytes, err := json.MarshalIndent(genesisState, "", " ") - - requireNoErr(err) - - concensusParams := simapp.DefaultConsensusParams - concensusParams.Block = &abci.BlockParams{ - MaxBytes: 22020096, - MaxGas: -1, - } - - // replace sdk.DefaultDenom with "uosmo", a bit of a hack, needs improvement - stateBytes = []byte(strings.Replace(string(stateBytes), "\"stake\"", "\"uosmo\"", -1)) - - appInstance.InitChain( - abci.RequestInitChain{ - Validators: []abci.ValidatorUpdate{}, - ConsensusParams: concensusParams, - AppStateBytes: stateBytes, - }, - ) - - return appInstance -} - -func (env *TestEnv) BeginNewBlock(executeNextEpoch bool) { - var valAddr []byte - - validators := env.App.StakingKeeper.GetAllValidators(env.Ctx) - if len(validators) >= 1 { - valAddrFancy, err := validators[0].GetConsAddr() - requireNoErr(err) - valAddr = valAddrFancy.Bytes() - } else { - valAddrFancy := env.setupValidator(stakingtypes.Bonded) - validator, _ := env.App.StakingKeeper.GetValidator(env.Ctx, valAddrFancy) - valAddr2, _ := validator.GetConsAddr() - valAddr = valAddr2.Bytes() - } - - env.beginNewBlockWithProposer(executeNextEpoch, valAddr) -} - -// beginNewBlockWithProposer begins a new block with a proposer. -func (env *TestEnv) beginNewBlockWithProposer(executeNextEpoch bool, proposer sdk.ValAddress) { - validator, found := env.App.StakingKeeper.GetValidator(env.Ctx, proposer) - - if !found { - panic("validator not found") - } - - valConsAddr, err := validator.GetConsAddr() - requireNoErr(err) - - valAddr := valConsAddr.Bytes() - - epochIdentifier := env.App.SuperfluidKeeper.GetEpochIdentifier(env.Ctx) - epoch := env.App.EpochsKeeper.GetEpochInfo(env.Ctx, epochIdentifier) - newBlockTime := env.Ctx.BlockTime().Add(5 * time.Second) - if executeNextEpoch { - newBlockTime = env.Ctx.BlockTime().Add(epoch.Duration).Add(time.Second) - } - - header := tmtypes.Header{ChainID: "osmosis-1", Height: env.Ctx.BlockHeight() + 1, Time: newBlockTime} - newCtx := env.Ctx.WithBlockTime(newBlockTime).WithBlockHeight(env.Ctx.BlockHeight() + 1) - env.Ctx = newCtx - lastCommitInfo := abci.LastCommitInfo{ - Votes: []abci.VoteInfo{{ - Validator: abci.Validator{Address: valAddr, Power: 1000}, - SignedLastBlock: true, - }}, - } - reqBeginBlock := abci.RequestBeginBlock{Header: header, LastCommitInfo: lastCommitInfo} - - env.App.BeginBlock(reqBeginBlock) - env.Ctx = env.App.NewContext(false, reqBeginBlock.Header) -} - -func (env *TestEnv) setupValidator(bondStatus stakingtypes.BondStatus) sdk.ValAddress { - valPub := secp256k1.GenPrivKey().PubKey() - valAddr := sdk.ValAddress(valPub.Address()) - bondDenom := env.App.StakingKeeper.GetParams(env.Ctx).BondDenom - selfBond := sdk.NewCoins(sdk.Coin{Amount: sdk.NewInt(100), Denom: bondDenom}) - - err := simapp.FundAccount(env.App.BankKeeper, env.Ctx, sdk.AccAddress(valPub.Address()), selfBond) - requireNoErr(err) - - stakingHandler := staking.NewHandler(*env.App.StakingKeeper) - stakingCoin := sdk.NewCoin(bondDenom, selfBond[0].Amount) - ZeroCommission := stakingtypes.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()) - msg, err := stakingtypes.NewMsgCreateValidator(valAddr, valPub, stakingCoin, stakingtypes.Description{}, ZeroCommission, sdk.OneInt()) - requireNoErr(err) - res, err := stakingHandler(env.Ctx, msg) - requireNoErr(err) - requireNoNil("staking handler", res) - - env.App.BankKeeper.SendCoinsFromModuleToModule(env.Ctx, stakingtypes.NotBondedPoolName, stakingtypes.BondedPoolName, sdk.NewCoins(stakingCoin)) - - val, found := env.App.StakingKeeper.GetValidator(env.Ctx, valAddr) - requierTrue("validator found", found) - - val = val.UpdateStatus(bondStatus) - env.App.StakingKeeper.SetValidator(env.Ctx, val) - - consAddr, err := val.GetConsAddr() - requireNoErr(err) - - signingInfo := slashingtypes.NewValidatorSigningInfo( - consAddr, - env.Ctx.BlockHeight(), - 0, - time.Unix(0, 0), - false, - 0, - ) - env.App.SlashingKeeper.SetValidatorSigningInfo(env.Ctx, consAddr, signingInfo) - - return valAddr -} - -func requireNoErr(err error) { - if err != nil { - panic(err) - } -} - -func requireNoNil(name string, nilable any) { - if nilable == nil { - panic(fmt.Sprintf("%s must not be nil", name)) - } -} - -func requierTrue(name string, b bool) { - if !b { - panic(fmt.Sprintf("%s must be true", name)) - } -} diff --git a/packages/osmosis-testing/src/account.rs b/packages/osmosis-testing/src/account.rs deleted file mode 100644 index 8200e8fd..00000000 --- a/packages/osmosis-testing/src/account.rs +++ /dev/null @@ -1,91 +0,0 @@ -use cosmrs::{ - crypto::{secp256k1::SigningKey, PublicKey}, - AccountId, -}; -use cosmwasm_std::Coin; - -const ADDRESS_PREFIX: &str = "osmo"; - -pub trait Account { - fn public_key(&self) -> PublicKey; - fn address(&self) -> String { - self.account_id().to_string() - } - fn account_id(&self) -> AccountId { - self.public_key() - .account_id(ADDRESS_PREFIX) - .expect("ADDRESS_PREFIX is constant and must valid") - } -} -pub struct SigningAccount { - signing_key: SigningKey, - fee_setting: FeeSetting, -} - -impl SigningAccount { - pub fn new(signing_key: SigningKey, fee_setting: FeeSetting) -> Self { - SigningAccount { - signing_key, - fee_setting, - } - } - - pub fn fee_setting(&self) -> &FeeSetting { - &self.fee_setting - } - - pub fn with_fee_setting(self, fee_setting: FeeSetting) -> Self { - Self { - signing_key: self.signing_key, - fee_setting, - } - } -} - -impl Account for SigningAccount { - fn public_key(&self) -> PublicKey { - self.signing_key.public_key() - } -} - -impl SigningAccount { - pub fn signing_key(&'_ self) -> &'_ SigningKey { - &self.signing_key - } -} - -#[derive(Debug, Clone, PartialEq, Eq)] -pub struct NonSigningAccount { - public_key: PublicKey, -} - -impl From for NonSigningAccount { - fn from(public_key: PublicKey) -> Self { - NonSigningAccount { public_key } - } -} -impl From for NonSigningAccount { - fn from(signing_account: SigningAccount) -> Self { - NonSigningAccount { - public_key: signing_account.public_key(), - } - } -} - -impl Account for NonSigningAccount { - fn public_key(&self) -> PublicKey { - self.public_key - } -} - -#[derive(Debug, Clone, PartialEq)] -pub enum FeeSetting { - Auto { - gas_price: Coin, - gas_adjustment: f64, - }, - Custom { - amount: Coin, - gas_limit: u64, - }, -} diff --git a/packages/osmosis-testing/src/bindings.rs b/packages/osmosis-testing/src/bindings.rs deleted file mode 100644 index cd503e4b..00000000 --- a/packages/osmosis-testing/src/bindings.rs +++ /dev/null @@ -1,6 +0,0 @@ -#![allow(non_upper_case_globals)] -#![allow(non_camel_case_types)] -#![allow(non_snake_case)] -#![allow(dead_code)] - -include!(concat!(env!("OUT_DIR"), "/bindings.rs")); diff --git a/packages/osmosis-testing/src/conversions.rs b/packages/osmosis-testing/src/conversions.rs deleted file mode 100644 index 6c4dbfbf..00000000 --- a/packages/osmosis-testing/src/conversions.rs +++ /dev/null @@ -1,27 +0,0 @@ -use crate::bindings::GoString; -use std::ffi::CString; - -/// conversion from &CString to GoString -impl From<&CString> for GoString { - fn from(c_str: &CString) -> Self { - let ptr_c_str = c_str.as_ptr(); - - GoString { - p: ptr_c_str, - n: c_str.as_bytes().len() as isize, - } - } -} - -/// This is needed to be implemented as macro since -/// conversion from &CString to GoString requires -/// CString to not get dropped before referecing its pointer -#[macro_export] -macro_rules! redefine_as_go_string { - ($($ident:ident),*) => { - $( - let $ident = &std::ffi::CString::new($ident).unwrap(); - let $ident: $crate::bindings::GoString = $ident.into(); - )* - }; -} diff --git a/packages/osmosis-testing/src/lib.rs b/packages/osmosis-testing/src/lib.rs deleted file mode 100644 index f20e6332..00000000 --- a/packages/osmosis-testing/src/lib.rs +++ /dev/null @@ -1,18 +0,0 @@ -#![doc = include_str!("../README.md")] - -mod bindings; -mod conversions; - -mod account; -mod module; -mod runner; - -pub use cosmrs; -pub use osmosis_std; - -pub use account::{Account, NonSigningAccount, SigningAccount}; -pub use module::*; -pub use runner::app::OsmosisTestApp; -pub use runner::error::{DecodeError, EncodeError, RunnerError}; -pub use runner::result::{ExecuteResponse, RunnerExecuteResult, RunnerResult}; -pub use runner::Runner; diff --git a/packages/osmosis-testing/src/module/bank.rs b/packages/osmosis-testing/src/module/bank.rs deleted file mode 100644 index 0735597b..00000000 --- a/packages/osmosis-testing/src/module/bank.rs +++ /dev/null @@ -1,35 +0,0 @@ -use crate::fn_query; -use cosmrs::proto::cosmos::bank::v1beta1::{ - QueryAllBalancesRequest, QueryAllBalancesResponse, QueryBalanceRequest, QueryBalanceResponse, - QueryTotalSupplyRequest, QueryTotalSupplyResponse, -}; - -use crate::module::Module; -use crate::runner::Runner; - -pub struct Bank<'a, R: Runner<'a>> { - runner: &'a R, -} - -impl<'a, R: Runner<'a>> Module<'a, R> for Bank<'a, R> { - fn new(runner: &'a R) -> Self { - Self { runner } - } -} - -impl<'a, R> Bank<'a, R> -where - R: Runner<'a>, -{ - fn_query! { - pub query_balance ["/cosmos.bank.v1beta1.Query/Balance"]: QueryBalanceRequest => QueryBalanceResponse - } - - fn_query! { - pub query_all_balances ["/cosmos.bank.v1beta1.Query/AllBalances"]: QueryAllBalancesRequest => QueryAllBalancesResponse - } - - fn_query! { - pub query_total_supply ["/cosmos.bank.v1beta1.Query/TotalSupply"]: QueryTotalSupplyRequest => QueryTotalSupplyResponse - } -} diff --git a/packages/osmosis-testing/src/module/gamm.rs b/packages/osmosis-testing/src/module/gamm.rs deleted file mode 100644 index 1c4d662d..00000000 --- a/packages/osmosis-testing/src/module/gamm.rs +++ /dev/null @@ -1,75 +0,0 @@ -use cosmwasm_std::Coin; -use osmosis_std::types::osmosis::gamm; -use osmosis_std::types::osmosis::gamm::{ - poolmodels::balancer::v1beta1::{MsgCreateBalancerPool, MsgCreateBalancerPoolResponse}, - v1beta1::{PoolAsset, PoolParams, QueryPoolRequest, QueryPoolResponse}, -}; -use prost::Message; - -use crate::module::Module; -use crate::runner::error::{DecodeError, RunnerError}; -use crate::runner::result::{RunnerExecuteResult, RunnerResult}; -use crate::{ - account::{Account, SigningAccount}, - runner::Runner, -}; -use crate::{fn_execute, fn_query}; - -pub struct Gamm<'a, R: Runner<'a>> { - runner: &'a R, -} - -impl<'a, R: Runner<'a>> Module<'a, R> for Gamm<'a, R> { - fn new(runner: &'a R) -> Self { - Self { runner } - } -} - -impl<'a, R> Gamm<'a, R> -where - R: Runner<'a>, -{ - fn_execute! { - pub create_balancer_pool: MsgCreateBalancerPool => MsgCreateBalancerPoolResponse - } - - fn_query! { - _query_pool ["/osmosis.gamm.v1beta1.Query/Pool"]: QueryPoolRequest => QueryPoolResponse - } - - pub fn create_basic_pool( - &self, - initial_liquidity: &[Coin], - signer: &SigningAccount, - ) -> RunnerExecuteResult { - self.create_balancer_pool( - MsgCreateBalancerPool { - sender: signer.address(), - pool_params: Some(PoolParams { - swap_fee: "10000000000000000".to_string(), - exit_fee: "10000000000000000".to_string(), - smooth_weight_change_params: None, - }), - pool_assets: initial_liquidity - .iter() - .map(|c| PoolAsset { - token: Some(osmosis_std::types::cosmos::base::v1beta1::Coin { - denom: c.denom.to_owned(), - amount: format!("{}", c.amount), - }), - weight: "1000000".to_string(), - }) - .collect(), - future_pool_governor: "".to_string(), - }, - signer, - ) - } - - pub fn query_pool(&self, pool_id: u64) -> RunnerResult { - let res = self._query_pool(&QueryPoolRequest { pool_id })?; - gamm::v1beta1::Pool::decode(res.pool.unwrap().value.as_slice()) - .map_err(DecodeError::ProtoDecodeError) - .map_err(RunnerError::DecodeError) - } -} diff --git a/packages/osmosis-testing/src/module/macros.rs b/packages/osmosis-testing/src/module/macros.rs deleted file mode 100644 index 6c67d8db..00000000 --- a/packages/osmosis-testing/src/module/macros.rs +++ /dev/null @@ -1,53 +0,0 @@ -#[macro_export] -macro_rules! fn_execute { - (pub $name:ident: $req:ty[$type_url:expr] => $res:ty) => { - pub fn $name( - &self, - msg: $req, - signer: &$crate::SigningAccount, - ) -> $crate::RunnerExecuteResult<$res> { - self.runner.execute(msg, $type_url, signer) - } - }; - (pub $name:ident: $req:ty => $res:ty) => { - pub fn $name( - &self, - msg: $req, - signer: &$crate::SigningAccount, - ) -> $crate::RunnerExecuteResult<$res> { - self.runner.execute(msg, <$req>::TYPE_URL, signer) - } - }; - ($name:ident: $req:ty[$type_url:expr] => $res:ty) => { - pub fn $name( - &self, - msg: $req, - signer: &$crate::SigningAccount, - ) -> $crate::RunnerExecuteResult<$res> { - self.runner.execute(msg, $type_url, signer) - } - }; - ($name:ident: $req:ty => $res:ty) => { - pub fn $name( - &self, - msg: $req, - signer: &$crate::SigningAccount, - ) -> $crate::RunnerExecuteResult<$res> { - self.runner.execute(msg, <$req>::TYPE_URL, signer) - } - }; -} - -#[macro_export] -macro_rules! fn_query { - (pub $name:ident [$path:expr]: $req:ty => $res:ty) => { - pub fn $name(&self, msg: &$req) -> $crate::RunnerResult<$res> { - self.runner.query::<$req, $res>($path, msg) - } - }; - ($name:ident [$path:expr]: $req:ty => $res:ty) => { - fn $name(&self, msg: &$req) -> $crate::RunnerResult<$res> { - self.runner.query::<$req, $res>($path, msg) - } - }; -} diff --git a/packages/osmosis-testing/src/module/mod.rs b/packages/osmosis-testing/src/module/mod.rs deleted file mode 100644 index 88d9ca63..00000000 --- a/packages/osmosis-testing/src/module/mod.rs +++ /dev/null @@ -1,18 +0,0 @@ -use crate::runner::Runner; - -mod bank; -mod gamm; -mod tokenfactory; -mod wasm; - -#[macro_use] -pub mod macros; - -pub use bank::Bank; -pub use gamm::Gamm; -pub use tokenfactory::TokenFactory; -pub use wasm::Wasm; - -pub trait Module<'a, R: Runner<'a>> { - fn new(runner: &'a R) -> Self; -} diff --git a/packages/osmosis-testing/src/module/tokenfactory.rs b/packages/osmosis-testing/src/module/tokenfactory.rs deleted file mode 100644 index 8446a2e7..00000000 --- a/packages/osmosis-testing/src/module/tokenfactory.rs +++ /dev/null @@ -1,174 +0,0 @@ -use osmosis_std::types::osmosis::tokenfactory::v1beta1::{ - MsgBurn, MsgBurnResponse, MsgChangeAdmin, MsgChangeAdminResponse, MsgCreateDenom, - MsgCreateDenomResponse, MsgMint, MsgMintResponse, MsgSetDenomMetadata, - MsgSetDenomMetadataResponse, QueryDenomAuthorityMetadataRequest, - QueryDenomAuthorityMetadataResponse, QueryDenomsFromCreatorRequest, - QueryDenomsFromCreatorResponse, QueryParamsRequest, QueryParamsResponse, -}; - -use crate::module::Module; -use crate::runner::Runner; -use crate::{fn_execute, fn_query}; - -pub struct TokenFactory<'a, R: Runner<'a>> { - runner: &'a R, -} - -impl<'a, R: Runner<'a>> Module<'a, R> for TokenFactory<'a, R> { - fn new(runner: &'a R) -> Self { - Self { runner } - } -} - -impl<'a, R> TokenFactory<'a, R> -where - R: Runner<'a>, -{ - fn_execute! { - pub create_denom: MsgCreateDenom => MsgCreateDenomResponse - } - - fn_execute! { - pub mint: MsgMint => MsgMintResponse - } - - fn_execute! { - pub burn: MsgBurn => MsgBurnResponse - } - - fn_execute! { - pub change_admin: MsgChangeAdmin => MsgChangeAdminResponse - } - - fn_execute! { - pub set_denom_metadata: MsgSetDenomMetadata => MsgSetDenomMetadataResponse - } - - fn_query! { - pub query_params ["/osmosis.tokenfactory.v1beta1.Query/Params"]: QueryParamsRequest => QueryParamsResponse - } - - fn_query! { - pub query_denom_authority_metadata ["/osmosis.tokenfactory.v1beta1.Query/DenomAuthorityMetadata"]: QueryDenomAuthorityMetadataRequest => QueryDenomAuthorityMetadataResponse - } - - fn_query! { - pub query_denoms_from_creator ["/osmosis.tokenfactory.v1beta1.Query/DenomsFromCreator"]: QueryDenomsFromCreatorRequest => QueryDenomsFromCreatorResponse - } -} - -#[cfg(test)] -mod tests { - use cosmrs::proto::cosmos::bank::v1beta1::QueryBalanceRequest; - use cosmwasm_std::Coin; - use osmosis_std::types::osmosis::tokenfactory::v1beta1::{ - MsgBurn, MsgChangeAdmin, MsgCreateDenom, MsgMint, QueryDenomAuthorityMetadataRequest, - QueryDenomsFromCreatorRequest, - }; - - use crate::{Account, Bank, Module, OsmosisTestApp, TokenFactory}; - - #[test] - fn tokenfactory_integration() { - let app = OsmosisTestApp::new(); - let signer = app.init_account(&[Coin::new(10000000, "uosmo")]).unwrap(); - let tokenfactory = TokenFactory::new(&app); - let bank = Bank::new(&app); - - // create denom - let subdenom = "udenom"; - let denom = tokenfactory - .create_denom( - MsgCreateDenom { - sender: signer.address(), - subdenom: subdenom.to_owned(), - }, - &signer, - ) - .unwrap() - .data - .new_token_denom; - - assert_eq!(format!("factory/{}/{}", signer.address(), subdenom), denom); - - // denom from creator - let denoms = tokenfactory - .query_denoms_from_creator(&QueryDenomsFromCreatorRequest { - creator: signer.address(), - }) - .unwrap() - .denoms; - - assert_eq!(denoms, [denom.clone()]); - - // mint - let coin: osmosis_std::types::cosmos::base::v1beta1::Coin = - Coin::new(1000000000, denom.clone()).into(); - tokenfactory - .mint( - MsgMint { - sender: signer.address(), - amount: Some(coin.clone()), - }, - &signer, - ) - .unwrap(); - - let balance = bank - .query_balance(&QueryBalanceRequest { - address: signer.address(), - denom: denom.clone(), - }) - .unwrap() - .balance - .unwrap(); - - assert_eq!(coin.amount, balance.amount); - assert_eq!(coin.denom, balance.denom); - - // burn - tokenfactory - .burn( - MsgBurn { - sender: signer.address(), - amount: Some(coin.clone()), - }, - &signer, - ) - .unwrap(); - - let balance = bank - .query_balance(&QueryBalanceRequest { - address: signer.address(), - denom: denom.clone(), - }) - .unwrap() - .balance - .unwrap(); - - assert_eq!("0", balance.amount); - assert_eq!(coin.denom, balance.denom); - - // change admin - let new_admin = app.init_account(&[]).unwrap(); - tokenfactory - .change_admin( - MsgChangeAdmin { - sender: signer.address(), - denom: denom.clone(), - new_admin: new_admin.address(), - }, - &signer, - ) - .unwrap(); - - // query denom auth - let auth_metadata = tokenfactory - .query_denom_authority_metadata(&QueryDenomAuthorityMetadataRequest { denom }) - .unwrap() - .authority_metadata - .unwrap(); - - assert_eq!(new_admin.address(), auth_metadata.admin); - } -} diff --git a/packages/osmosis-testing/src/module/wasm.rs b/packages/osmosis-testing/src/module/wasm.rs deleted file mode 100644 index afb90f35..00000000 --- a/packages/osmosis-testing/src/module/wasm.rs +++ /dev/null @@ -1,126 +0,0 @@ -use cosmrs::proto::cosmwasm::wasm::v1::{ - AccessConfig, MsgExecuteContract, MsgExecuteContractResponse, MsgInstantiateContract, - MsgInstantiateContractResponse, MsgStoreCode, MsgStoreCodeResponse, - QuerySmartContractStateRequest, QuerySmartContractStateResponse, -}; -use cosmwasm_std::Coin; -use serde::{de::DeserializeOwned, Serialize}; - -use crate::runner::error::{DecodeError, EncodeError, RunnerError}; -use crate::runner::result::{RunnerExecuteResult, RunnerResult}; -use crate::{ - account::{Account, SigningAccount}, - runner::Runner, -}; - -pub struct Wasm<'a, R: Runner<'a>> { - runner: &'a R, -} - -impl<'a, R: Runner<'a>> super::Module<'a, R> for Wasm<'a, R> { - fn new(runner: &'a R) -> Self { - Wasm { runner } - } -} - -impl<'a, R> Wasm<'a, R> -where - R: Runner<'a>, -{ - pub fn store_code( - &self, - wasm_byte_code: &[u8], - instantiate_permission: Option, - signer: &SigningAccount, - ) -> RunnerExecuteResult { - self.runner.execute( - MsgStoreCode { - sender: signer.address(), - wasm_byte_code: wasm_byte_code.to_vec(), - instantiate_permission, - }, - "/cosmwasm.wasm.v1.MsgStoreCode", - signer, - ) - } - - pub fn instantiate( - &self, - code_id: u64, - msg: &M, - admin: Option<&str>, - label: Option<&str>, - funds: &[Coin], - signer: &SigningAccount, - ) -> RunnerExecuteResult - where - M: ?Sized + Serialize, - { - self.runner.execute( - MsgInstantiateContract { - sender: signer.address(), - admin: admin.unwrap_or_default().to_string(), - code_id, - label: label.unwrap_or(" ").to_string(), // empty string causes panic - msg: serde_json::to_vec(msg).map_err(EncodeError::JsonEncodeError)?, - funds: funds - .iter() - .map(|c| cosmrs::proto::cosmos::base::v1beta1::Coin { - denom: c.denom.parse().unwrap(), - amount: format!("{}", c.amount.u128()), - }) - .collect(), - }, - "/cosmwasm.wasm.v1.MsgInstantiateContract", - signer, - ) - } - - pub fn execute( - &self, - contract: &str, - msg: &M, - funds: &[Coin], - signer: &SigningAccount, - ) -> RunnerExecuteResult - where - M: ?Sized + Serialize, - { - self.runner.execute( - MsgExecuteContract { - sender: signer.address(), - msg: serde_json::to_vec(msg).map_err(EncodeError::JsonEncodeError)?, - funds: funds - .iter() - .map(|c| cosmrs::proto::cosmos::base::v1beta1::Coin { - denom: c.denom.parse().unwrap(), - amount: format!("{}", c.amount.u128()), - }) - .collect(), - contract: contract.to_owned(), - }, - "/cosmwasm.wasm.v1.MsgExecuteContract", - signer, - ) - } - - pub fn query(&self, contract: &str, msg: &M) -> RunnerResult - where - M: ?Sized + Serialize, - Res: ?Sized + DeserializeOwned, - { - let res = self - .runner - .query::( - "/cosmwasm.wasm.v1.Query/SmartContractState", - &QuerySmartContractStateRequest { - address: contract.to_owned(), - query_data: serde_json::to_vec(msg).map_err(EncodeError::JsonEncodeError)?, - }, - )?; - - serde_json::from_slice(&res.data) - .map_err(DecodeError::JsonDecodeError) - .map_err(RunnerError::DecodeError) - } -} diff --git a/packages/osmosis-testing/src/runner/app.rs b/packages/osmosis-testing/src/runner/app.rs deleted file mode 100644 index c685c471..00000000 --- a/packages/osmosis-testing/src/runner/app.rs +++ /dev/null @@ -1,543 +0,0 @@ -use std::ffi::CString; - -use cosmrs::crypto::secp256k1::SigningKey; -use cosmrs::proto::tendermint::abci::{RequestDeliverTx, ResponseDeliverTx}; -use cosmrs::tx; -use cosmrs::tx::{Fee, SignerInfo}; -use cosmwasm_std::Coin; -use prost::Message; - -use crate::account::{Account, FeeSetting, SigningAccount}; -use crate::bindings::{ - AccountNumber, AccountSequence, BeginBlock, EndBlock, Execute, InitAccount, InitTestEnv, Query, - Simulate, -}; -use crate::redefine_as_go_string; -use crate::runner::error::{DecodeError, EncodeError, RunnerError}; -use crate::runner::result::RawResult; -use crate::runner::result::{RunnerExecuteResult, RunnerResult}; -use crate::runner::Runner; - -const FEE_DENOM: &str = "uosmo"; -const CHAIN_ID: &str = "osmosis-1"; -const DEFAULT_GAS_ADJUSTMENT: f64 = 1.2; - -#[derive(Debug, PartialEq, Eq)] -pub struct OsmosisTestApp { - id: u64, -} - -impl Default for OsmosisTestApp { - fn default() -> Self { - OsmosisTestApp::new() - } -} - -impl OsmosisTestApp { - pub fn new() -> Self { - Self { - id: unsafe { InitTestEnv() }, - } - } - - /// Initialize account with initial balance of any coins. - /// This function mints new coins and send to newly created account - pub fn init_account(&self, coins: &[Coin]) -> RunnerResult { - let mut coins = coins.to_vec(); - - // invalid coins if denom are unsorted - coins.sort_by(|a, b| a.denom.cmp(&b.denom)); - - let coins_json = serde_json::to_string(&coins).map_err(EncodeError::JsonEncodeError)?; - redefine_as_go_string!(coins_json); - - let base64_priv = unsafe { - BeginBlock(self.id); - let addr = InitAccount(self.id, coins_json); - EndBlock(self.id); - CString::from_raw(addr) - } - .to_str() - .map_err(DecodeError::Utf8Error)? - .to_string(); - - let secp256k1_priv = base64::decode(base64_priv).map_err(DecodeError::Base64DecodeError)?; - let signging_key = SigningKey::from_bytes(&secp256k1_priv).map_err(|e| { - let msg = e.to_string(); - DecodeError::SigningKeyDecodeError { msg } - })?; - - Ok(SigningAccount::new( - signging_key, - FeeSetting::Auto { - gas_price: Coin::new(0, FEE_DENOM.to_string()), - gas_adjustment: DEFAULT_GAS_ADJUSTMENT, - }, - )) - } - /// Convinience function to create multiple accounts with the same - /// Initial coins balance - pub fn init_accounts(&self, coins: &[Coin], count: u64) -> RunnerResult> { - (0..count) - .into_iter() - .map(|_| self.init_account(coins)) - .collect() - } - - fn create_signed_tx( - &self, - msgs: I, - signer: &SigningAccount, - fee: Fee, - ) -> RunnerResult> - where - I: IntoIterator, - { - let tx_body = tx::Body::new(msgs, "", 0u32); - let addr = signer.address(); - redefine_as_go_string!(addr); - - let seq = unsafe { AccountSequence(self.id, addr) }; - - let account_number = unsafe { AccountNumber(self.id, addr) }; - let signer_info = SignerInfo::single_direct(Some(signer.public_key()), seq); - let auth_info = signer_info.auth_info(fee); - let sign_doc = tx::SignDoc::new( - &tx_body, - &auth_info, - &(CHAIN_ID - .parse() - .expect("parse const str of chain id should never fail")), - account_number, - ) - .map_err(|e| match e.downcast::() { - Ok(encode_err) => EncodeError::ProtoEncodeError(encode_err), - Err(e) => panic!("expect `prost::EncodeError` but got {:?}", e), - })?; - - let tx_raw = sign_doc.sign(signer.signing_key()).unwrap(); - - tx_raw - .to_bytes() - .map_err(|e| match e.downcast::() { - Ok(encode_err) => EncodeError::ProtoEncodeError(encode_err), - Err(e) => panic!("expect `prost::EncodeError` but got {:?}", e), - }) - .map_err(RunnerError::EncodeError) - } - - pub fn simulate_tx( - &self, - msgs: I, - signer: &SigningAccount, - ) -> RunnerResult - where - I: IntoIterator, - { - let zero_fee = Fee::from_amount_and_gas( - cosmrs::Coin { - denom: FEE_DENOM.parse().unwrap(), - amount: 0u8.into(), - }, - 0u64, - ); - - let tx = self.create_signed_tx(msgs, signer, zero_fee)?; - let base64_tx_bytes = base64::encode(&tx); - redefine_as_go_string!(base64_tx_bytes); - - unsafe { - let res = Simulate(self.id, base64_tx_bytes); - let res = RawResult::from_non_null_ptr(res).into_result()?; - - cosmrs::proto::cosmos::base::abci::v1beta1::GasInfo::decode(res.as_slice()) - .map_err(DecodeError::ProtoDecodeError) - .map_err(RunnerError::DecodeError) - } - } - fn estimate_fee(&self, msgs: I, signer: &SigningAccount) -> RunnerResult - where - I: IntoIterator, - { - match &signer.fee_setting() { - FeeSetting::Auto { - gas_price, - gas_adjustment, - } => { - let gas_info = self.simulate_tx(msgs, signer)?; - let gas_limit = ((gas_info.gas_used as f64) * (gas_adjustment)).ceil() as u64; - - let amount = cosmrs::Coin { - denom: FEE_DENOM.parse().unwrap(), - amount: (((gas_limit as f64) * (gas_price.amount.u128() as f64)).ceil() as u64) - .into(), - }; - - Ok(Fee::from_amount_and_gas(amount, gas_limit)) - } - FeeSetting::Custom { .. } => { - panic!("estimate fee is a private function and should never be called when fee_setting is Custom"); - } - } - } - - /// Ensure that all execution that happens in `execution` happens in a block - /// and end block properly, no matter it suceeds or fails. - unsafe fn run_block(&self, execution: impl Fn() -> Result) -> Result { - unsafe { BeginBlock(self.id) }; - match execution() { - ok @ Ok(_) => { - unsafe { EndBlock(self.id) }; - ok - } - err @ Err(_) => { - unsafe { EndBlock(self.id) }; - err - } - } - } -} - -impl<'a> Runner<'a> for OsmosisTestApp { - fn execute_multiple( - &self, - msgs: &[(M, &str)], - signer: &SigningAccount, - ) -> RunnerExecuteResult - where - M: ::prost::Message, - R: ::prost::Message + Default, - { - unsafe { - self.run_block(|| { - let msgs = msgs - .iter() - .map(|(msg, type_url)| { - let mut buf = Vec::new(); - M::encode(msg, &mut buf).map_err(EncodeError::ProtoEncodeError)?; - - Ok(cosmrs::Any { - type_url: type_url.to_string(), - value: buf, - }) - }) - .collect::, RunnerError>>()?; - - let fee = match &signer.fee_setting() { - FeeSetting::Auto { .. } => self.estimate_fee(msgs.clone(), signer)?, - FeeSetting::Custom { amount, gas_limit } => Fee::from_amount_and_gas( - cosmrs::Coin { - denom: amount.denom.parse().unwrap(), - amount: amount.amount.to_string().parse().unwrap(), - }, - *gas_limit, - ), - }; - - let tx = self.create_signed_tx(msgs, signer, fee)?; - - let mut buf = Vec::new(); - RequestDeliverTx::encode(&RequestDeliverTx { tx }, &mut buf) - .map_err(EncodeError::ProtoEncodeError)?; - - let base64_req = base64::encode(buf); - redefine_as_go_string!(base64_req); - - let res = Execute(self.id, base64_req); - let res = RawResult::from_non_null_ptr(res).into_result()?; - - ResponseDeliverTx::decode(res.as_slice()) - .map_err(DecodeError::ProtoDecodeError)? - .try_into() - }) - } - } - - fn query(&self, path: &str, q: &Q) -> RunnerResult - where - Q: ::prost::Message, - R: ::prost::Message + Default, - { - let mut buf = Vec::new(); - - Q::encode(q, &mut buf).map_err(EncodeError::ProtoEncodeError)?; - - let base64_query_msg_bytes = base64::encode(buf); - redefine_as_go_string!(path); - redefine_as_go_string!(base64_query_msg_bytes); - - unsafe { - let res = Query(self.id, path, base64_query_msg_bytes); - let res = RawResult::from_non_null_ptr(res).into_result()?; - R::decode(res.as_slice()) - .map_err(DecodeError::ProtoDecodeError) - .map_err(RunnerError::DecodeError) - } - } -} - -#[cfg(test)] -mod tests { - use std::option::Option::None; - - use cosmrs::proto::cosmos::bank::v1beta1::QueryAllBalancesRequest; - use cosmwasm_std::{attr, coins, Coin}; - - use osmosis_std::types::osmosis::tokenfactory::v1beta1::{ - MsgCreateDenom, MsgCreateDenomResponse, QueryParamsRequest, QueryParamsResponse, - }; - - use crate::account::{Account, FeeSetting}; - use crate::module::Gamm; - use crate::module::Module; - use crate::module::Wasm; - use crate::runner::app::OsmosisTestApp; - use crate::runner::*; - use crate::{Bank, ExecuteResponse}; - - #[test] - fn test_init_accounts() { - let app = OsmosisTestApp::default(); - let accounts = app - .init_accounts(&coins(100_000_000_000, "uosmo"), 3) - .unwrap(); - - assert!(accounts.get(0).is_some()); - assert!(accounts.get(1).is_some()); - assert!(accounts.get(2).is_some()); - assert!(accounts.get(3).is_none()); - } - - #[test] - fn test_execute() { - let app = OsmosisTestApp::default(); - - let acc = app.init_account(&coins(100_000_000_000, "uosmo")).unwrap(); - let addr = acc.address(); - - let msg = MsgCreateDenom { - sender: acc.address(), - subdenom: "newdenom".to_string(), - }; - - let res: ExecuteResponse = - app.execute(msg, MsgCreateDenom::TYPE_URL, &acc).unwrap(); - - let create_denom_attrs = &res - .events - .iter() - .find(|e| e.ty == "create_denom") - .unwrap() - .attributes; - - assert_eq!( - create_denom_attrs, - &vec![ - attr("creator", &addr), - attr( - "new_token_denom", - format!("factory/{}/{}", &addr, "newdenom") - ) - ] - ); - - // execute on more time to excercise account sequence - let msg = MsgCreateDenom { - sender: acc.address(), - subdenom: "newerdenom".to_string(), - }; - - let res: ExecuteResponse = - app.execute(msg, MsgCreateDenom::TYPE_URL, &acc).unwrap(); - - let create_denom_attrs = &res - .events - .iter() - .find(|e| e.ty == "create_denom") - .unwrap() - .attributes; - - // TODO: make assertion based on string representation - assert_eq!( - create_denom_attrs, - &vec![ - attr("creator", &addr), - attr( - "new_token_denom", - format!("factory/{}/{}", &addr, "newerdenom") - ) - ] - ); - } - - #[test] - fn test_query() { - let app = OsmosisTestApp::default(); - - let denom_creation_fee = app - .query::( - "/osmosis.tokenfactory.v1beta1.Query/Params", - &QueryParamsRequest {}, - ) - .unwrap() - .params - .unwrap() - .denom_creation_fee; - - assert_eq!(denom_creation_fee, [Coin::new(10000000, "uosmo").into()]) - } - - #[test] - fn test_multiple_as_module() { - let app = OsmosisTestApp::default(); - let alice = app - .init_account(&[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ]) - .unwrap(); - - let gamm = Gamm::new(&app); - - let pool_liquidity = vec![Coin::new(1_000, "uatom"), Coin::new(1_000, "uosmo")]; - let pool_id = gamm - .create_basic_pool(&pool_liquidity, &alice) - .unwrap() - .data - .pool_id; - - let pool = gamm.query_pool(pool_id).unwrap(); - - assert_eq!( - pool_liquidity - .into_iter() - .map(|c| c.into()) - .collect::>(), - pool.pool_assets - .into_iter() - .map(|a| a.token.unwrap()) - .collect::>(), - ); - - let wasm = Wasm::new(&app); - let wasm_byte_code = std::fs::read("./test_artifacts/cw1_whitelist.wasm").unwrap(); - let code_id = wasm - .store_code(&wasm_byte_code, None, &alice) - .unwrap() - .data - .code_id; - - assert_eq!(code_id, 1); - } - - #[test] - fn test_wasm_execute_and_query() { - use cw1_whitelist::msg::*; - - let app = OsmosisTestApp::default(); - let accs = app - .init_accounts( - &[ - Coin::new(1_000_000_000_000, "uatom"), - Coin::new(1_000_000_000_000, "uosmo"), - ], - 2, - ) - .unwrap(); - let admin = &accs[0]; - let new_admin = &accs[1]; - - let wasm = Wasm::new(&app); - let wasm_byte_code = std::fs::read("./test_artifacts/cw1_whitelist.wasm").unwrap(); - let code_id = wasm - .store_code(&wasm_byte_code, None, admin) - .unwrap() - .data - .code_id; - assert_eq!(code_id, 1); - - // initialize admins and check if the state is correct - let init_admins = vec![admin.address()]; - let contract_addr = wasm - .instantiate( - code_id, - &InstantiateMsg { - admins: init_admins.clone(), - mutable: true, - }, - Some(&admin.address()), - None, - &[], - admin, - ) - .unwrap() - .data - .address; - let admin_list = wasm - .query::(&contract_addr, &QueryMsg::AdminList {}) - .unwrap(); - assert_eq!(admin_list.admins, init_admins); - assert!(admin_list.mutable); - - // update admin and check again - let new_admins = vec![new_admin.address()]; - wasm.execute::( - &contract_addr, - &ExecuteMsg::UpdateAdmins { - admins: new_admins.clone(), - }, - &[], - admin, - ) - .unwrap(); - - let admin_list = wasm - .query::(&contract_addr, &QueryMsg::AdminList {}) - .unwrap(); - - assert_eq!(admin_list.admins, new_admins); - assert!(admin_list.mutable); - } - - #[test] - fn test_custom_fee() { - let app = OsmosisTestApp::default(); - let initial_balance = 1_000_000_000_000; - let alice = app.init_account(&coins(initial_balance, "uosmo")).unwrap(); - let bob = app.init_account(&coins(initial_balance, "uosmo")).unwrap(); - - let amount = Coin::new(1_000_000, "uosmo"); - let gas_limit = 100_000_000; - - // use FeeSetting::Auto by default, so should not equal newly custom fee setting - let wasm = Wasm::new(&app); - let wasm_byte_code = std::fs::read("./test_artifacts/cw1_whitelist.wasm").unwrap(); - let res = wasm.store_code(&wasm_byte_code, None, &alice).unwrap(); - - assert_ne!(res.gas_info.gas_wanted, gas_limit); - - //update fee setting - let bob = bob.with_fee_setting(FeeSetting::Custom { - amount: amount.clone(), - gas_limit, - }); - let res = wasm.store_code(&wasm_byte_code, None, &bob).unwrap(); - - let bob_balance = Bank::new(&app) - .query_all_balances(&QueryAllBalancesRequest { - address: bob.address(), - pagination: None, - }) - .unwrap() - .balances - .into_iter() - .find(|c| c.denom == "uosmo") - .unwrap() - .amount - .parse::() - .unwrap(); - - assert_eq!(res.gas_info.gas_wanted, gas_limit); - assert_eq!(bob_balance, initial_balance - amount.amount.u128()); - } -} diff --git a/packages/osmosis-testing/src/runner/error.rs b/packages/osmosis-testing/src/runner/error.rs deleted file mode 100644 index 04472c32..00000000 --- a/packages/osmosis-testing/src/runner/error.rs +++ /dev/null @@ -1,74 +0,0 @@ -use std::str::Utf8Error; -use thiserror::Error; - -#[derive(Error, Debug, PartialEq)] -pub enum RunnerError { - #[error("unable to encode request")] - EncodeError(#[from] EncodeError), - - #[error("unable to decode response")] - DecodeError(#[from] DecodeError), - - #[error("query error: {}", .msg)] - QueryError { msg: String }, - - #[error("execute error: {}", .msg)] - ExecuteError { msg: String }, -} - -#[derive(Error, Debug)] -pub enum DecodeError { - #[error("invalid utf8 bytes")] - Utf8Error(#[from] Utf8Error), - - #[error("invalid protobuf")] - ProtoDecodeError(#[from] prost::DecodeError), - - #[error("invalid json")] - JsonDecodeError(#[from] serde_json::Error), - - #[error("invalid base64")] - Base64DecodeError(#[from] base64::DecodeError), - - #[error("invalid signing key")] - SigningKeyDecodeError { msg: String }, -} - -impl PartialEq for DecodeError { - fn eq(&self, other: &Self) -> bool { - match (self, other) { - (DecodeError::Utf8Error(a), DecodeError::Utf8Error(b)) => a == b, - (DecodeError::ProtoDecodeError(a), DecodeError::ProtoDecodeError(b)) => a == b, - (DecodeError::JsonDecodeError(a), DecodeError::JsonDecodeError(b)) => { - a.to_string() == b.to_string() - } - (DecodeError::Base64DecodeError(a), DecodeError::Base64DecodeError(b)) => a == b, - ( - DecodeError::SigningKeyDecodeError { msg: a }, - DecodeError::SigningKeyDecodeError { msg: b }, - ) => a == b, - _ => false, - } - } -} - -#[derive(Error, Debug)] -pub enum EncodeError { - #[error("invalid protobuf")] - ProtoEncodeError(#[from] prost::EncodeError), - - #[error("unable to encode json")] - JsonEncodeError(#[from] serde_json::Error), -} - -impl PartialEq for EncodeError { - fn eq(&self, other: &Self) -> bool { - match (self, other) { - (EncodeError::ProtoEncodeError(a), EncodeError::ProtoEncodeError(b)) => a == b, - (EncodeError::JsonEncodeError(a), EncodeError::JsonEncodeError(b)) => { - a.to_string() == b.to_string() - } - _ => false, - } - } -} diff --git a/packages/osmosis-testing/src/runner/mod.rs b/packages/osmosis-testing/src/runner/mod.rs deleted file mode 100644 index fc855fb1..00000000 --- a/packages/osmosis-testing/src/runner/mod.rs +++ /dev/null @@ -1,35 +0,0 @@ -use crate::account::SigningAccount; -use crate::runner::result::{RunnerExecuteResult, RunnerResult}; - -pub mod app; -pub mod error; -pub mod result; - -pub trait Runner<'a> { - fn execute( - &self, - msg: M, - type_url: &str, - signer: &SigningAccount, - ) -> RunnerExecuteResult - where - M: ::prost::Message, - R: ::prost::Message + Default, - { - self.execute_multiple(&[(msg, type_url)], signer) - } - - fn execute_multiple( - &self, - msgs: &[(M, &str)], - signer: &SigningAccount, - ) -> RunnerExecuteResult - where - M: ::prost::Message, - R: ::prost::Message + Default; - - fn query(&self, path: &str, query: &Q) -> RunnerResult - where - Q: ::prost::Message, - R: ::prost::Message + Default; -} diff --git a/packages/osmosis-testing/src/runner/result.rs b/packages/osmosis-testing/src/runner/result.rs deleted file mode 100644 index d90507b4..00000000 --- a/packages/osmosis-testing/src/runner/result.rs +++ /dev/null @@ -1,247 +0,0 @@ -use crate::runner::error::{DecodeError, RunnerError}; -use cosmrs::proto::cosmos::base::abci::v1beta1::{GasInfo, TxMsgData}; -use cosmrs::proto::tendermint::abci::ResponseDeliverTx; -use cosmwasm_std::{Attribute, Event}; -use prost::Message; -use std::ffi::CString; -use std::str::Utf8Error; - -pub type RunnerResult = Result; -pub type RunnerExecuteResult = Result, RunnerError>; - -#[derive(Debug, Clone, PartialEq)] -pub struct ExecuteResponse -where - R: prost::Message + Default, -{ - pub data: R, - pub raw_data: Vec, - pub events: Vec, - pub gas_info: GasInfo, -} - -impl TryFrom for ExecuteResponse -where - R: prost::Message + Default, -{ - type Error = RunnerError; - - fn try_from(res: ResponseDeliverTx) -> Result { - let tx_msg_data = - TxMsgData::decode(res.data.as_slice()).map_err(DecodeError::ProtoDecodeError)?; - - let msg_data = &tx_msg_data - .data - // since this tx contains exactly 1 msg - // when getting none of them, that means error - .get(0) - .ok_or(RunnerError::ExecuteError { msg: res.log })?; - - let data = R::decode(msg_data.data.as_slice()).map_err(DecodeError::ProtoDecodeError)?; - - let events = res - .events - .into_iter() - .map(|e| -> Result { - Ok(Event::new(e.r#type.to_string()).add_attributes( - e.attributes - .into_iter() - .map(|a| -> Result { - Ok(Attribute { - key: std::str::from_utf8(a.key.as_slice())?.to_string(), - value: std::str::from_utf8(a.value.as_slice())?.to_string(), - }) - }) - .collect::, Utf8Error>>()?, - )) - }) - .collect::, DecodeError>>()?; - - Ok(ExecuteResponse { - data, - raw_data: res.data, - events, - gas_info: GasInfo { - gas_wanted: res.gas_wanted as u64, - gas_used: res.gas_used as u64, - }, - }) - } -} - -/// `RawResult` facilitates type conversions between Go and Rust, -/// -/// Since Go struct could not be exposed via cgo due to limitations on -/// its unstable behavior of its memory layout. -/// So, apart from passing primitive types, we need to: -/// -/// Go { T -> bytes(T) -> base64 -> *c_char } -/// ↓ -/// Rust { *c_char -> base64 -> bytes(T') -> T' } -/// -/// Where T and T' are corresponding data structures, regardless of their encoding -/// in their respective language plus error information. -/// -/// Resulted bytes are tagged by prepending 4 bytes to byte array -/// before base64 encoded. The prepended byte represents -/// 0 -> Ok -/// 1 -> QueryError -/// 2 -> ExecuteError -/// -/// The rest are undefined and remaining spaces are reserved for future use. -#[derive(Debug)] -pub struct RawResult(Result, RunnerError>); - -impl RawResult { - /// Convert ptr to AppResult. Check the first byte tag before decoding the rest of the bytes into expected type - pub(crate) fn from_ptr(ptr: *mut std::os::raw::c_char) -> Option { - if ptr.is_null() { - return None; - } - - let c_string = unsafe { CString::from_raw(ptr) }; - let base64_bytes = c_string.to_bytes(); - let bytes = base64::decode(base64_bytes).unwrap(); - let code = bytes[0]; - let content = &bytes[1..]; - - if code == 0 { - Some(Self(Ok(content.to_vec()))) - } else { - let content_string = CString::new(content) - .unwrap() - .to_str() - .expect("Go code must encode valid UTF-8 string") - .to_string(); - - let error = match code { - 1 => RunnerError::QueryError { - msg: content_string, - }, - 2 => RunnerError::ExecuteError { - msg: content_string, - }, - _ => panic!("undefined code: {}", code), - }; - Some(Self(Err(error))) - } - } - - /// Convert ptr to AppResult. Use this function only when it is sure that the - /// pointer is not a null pointer. - /// - /// # Safety - /// There is a potential null pointer here, need to be extra careful before - /// calling this function - pub(crate) unsafe fn from_non_null_ptr(ptr: *mut std::os::raw::c_char) -> Self { - Self::from_ptr(ptr).expect("Must ensure that the pointer is not null") - } - - pub(crate) fn into_result(self) -> Result, RunnerError> { - self.0 - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::account::Account; - use crate::runner::app::OsmosisTestApp; - use crate::runner::error::RunnerError::{ExecuteError, QueryError}; - use crate::runner::Runner; - use osmosis_std::types::osmosis::gamm::poolmodels::balancer::v1beta1::{ - MsgCreateBalancerPool, MsgCreateBalancerPoolResponse, - }; - use osmosis_std::types::osmosis::gamm::v1beta1::{ - PoolParams, QueryPoolRequest, QueryPoolResponse, - }; - - #[derive(::prost::Message)] - struct AdhocRandomQueryRequest { - #[prost(uint64, tag = "1")] - id: u64, - } - - #[derive(::prost::Message)] - struct AdhocRandomQueryResponse { - #[prost(string, tag = "1")] - msg: String, - } - - #[test] - fn test_query_error_no_route() { - let app = OsmosisTestApp::default(); - let res = app.query::( - "/osmosis.random.v1beta1.Query/AdhocRandom", - &AdhocRandomQueryRequest { id: 1 }, - ); - - let err = res.unwrap_err(); - assert_eq!( - err, - QueryError { - msg: "No route found for `/osmosis.random.v1beta1.Query/AdhocRandom`".to_string() - } - ); - } - - #[test] - fn test_query_error_failed_query() { - let app = OsmosisTestApp::default(); - let res = app.query::( - "/osmosis.gamm.v1beta1.Query/Pool", - &QueryPoolRequest { pool_id: 1 }, - ); - - let err = res.unwrap_err(); - assert_eq!( - err, - QueryError { - msg: "rpc error: code = Internal desc = pool with ID 1 does not exist".to_string() - } - ); - } - - #[test] - fn test_execute_error() { - let app = OsmosisTestApp::default(); - let signer = app.init_account(&[]).unwrap(); - let res: RunnerExecuteResult = app.execute( - MsgCreateBalancerPool { - sender: signer.address(), - pool_params: Some(PoolParams { - swap_fee: "10000000000000000".to_string(), - exit_fee: "10000000000000000".to_string(), - smooth_weight_change_params: None, - }), - pool_assets: vec![], - future_pool_governor: "".to_string(), - }, - MsgCreateBalancerPool::TYPE_URL, - &signer, - ); - - let err = res.unwrap_err(); - assert_eq!( - err, - ExecuteError { - msg: String::from("pool should have at least 2 assets, as they must be swapping between at least two assets") - } - ) - } - - #[test] - fn test_raw_result_ptr_with_0_bytes_in_content_should_not_error() { - let base64_string = base64::encode(vec![vec![0u8], vec![0u8]].concat()); - let res = RawResult::from_ptr( - CString::new(base64_string.as_bytes().to_vec()) - .unwrap() - .into_raw(), - ) - .unwrap() - .into_result() - .unwrap(); - - assert_eq!(res, vec![0u8]); - } -} diff --git a/packages/osmosis-testing/test_artifacts/cw1_whitelist.wasm b/packages/osmosis-testing/test_artifacts/cw1_whitelist.wasm deleted file mode 100644 index ee6e5fb70dbb9d47eda0280ffddc160d710b04ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186362 zcmeFa4YXd@S>Jg+-miP#`(C|QAGZ9N^S%+~iuw|T6)a;sjE+_m+XULA!>kq7WR`7W zK`c3rqbO<8VXPaf1O;4B7!N35$_+TRnAo5YGbkN*P}UNZlnTq1J%EH4aGY%-= zwMI;#%5r_yWg%?=$( z59x1mZ+^(G^^@G2syOAM#VtQ={qWnfU%TX$N4(M_{uVX5;c;?r66;WEl^?Ml_?tA| z<1&9l?Piat!}g&^_%F$RESt^uKJ>xv{oi-bfxY+LpR{z>l~Lin4?XZMp8TD? zNurwm?z=zmp8FoE%7*XX`>uz-e|Yhn*BqI%%$# zI(jG=604b}?H0xDxnxQY(k?x<{6F2&c(@s;W&01X857+A>QugQRseLfZfnzQq8{_4 zpHXQ#(`b^-s*>efvQ{^JIQDIfdz7wmUQzulis`bE=N@SAzI*mQbbp@q@44sQd+&Srp6|Qw{d@Cl>Ysv!GVL#>J9qrA>7S$<-+SQU z_kG}Rf9S)1=fC^G|NfCp-~Bh<_Ni>kyWjq|{;QoIOE-QrJ(_+Z{crEN_wjV&JO79D zQ|S+<-~R&-+`n<(gZr1#!|6|?|IOdk(+_TZ{~~z#A+8U-ly3Z)bmPyae?R@X^dF`> zH~w0BQYHUi`uDS)zs~)s^b5NG=jo>3((gY`pG*Hm`Y+S}Eq(i!(tnk1{91Y;{loO_ zUrqlY{iF17_R;Lm(#Nxnf1dt)b|m|Iu7u<7D+j?kCJglQC6N$9vo#wT5jGqO7mS=^^c;N{k%5YN?RGT&V6hDaKlWl ztKRSK`DTWUPlO+Nf*dPE;IZhh?^X9L;-A|T^UfVigeEbhi1XT1{8Zbypuy z{Ty602IL*}1sS;F$56q{7_J3xb6i=`j%c`X#MCBb;iKDAWK2!{x{o3$=N7+o?@( zKvCkD^}c<~^>b?b{0VBGKj(w?!3j3FG(i_m&qYnnH#+G!&Jss)QnnB7IWWkLm^T>c z(EZqeX$-f?SnSjAn_<@%HCJl=Y$BI zq&bOQW3@j<%~!1EOqQYAFN^+l(Bqq&=QYY5CJRIqHZ4x;k%w1fQ|cJ=x%7x!BT)j> zS5jS#SJeY?^z$U`zb>&MRJuV*uqlHM8D5-h2L7(;qNd2I#YPlW^k(E!X+;syaDz#_ z&HIK!yP#ywE=_PqAYnDgZPl)UczBM>jewxbg+(Vy$k)b@PWXtrq2XSczW{M<3_ zNFjtKa>Up;FQ)E9xaIwRxua|izsJ#4%u9GKu( z45i+_>b}tZu)1di_+OYn4xL)PrD(myTAklF>VR=6{%r^i4F{a0`^Me3V(N6ll=aH= z;CQ;|@^AX?8^+zTRq+2?xq5o{%p>CsyNe@lE3<>6>0-l^qXCWdXdIh%U)d7YvVu`O zcx$#jSB|Euq=rSM(ZVoR`&?8M*8mcYGQ<1r!C!e2f6Mqp(>|`c~x@RHkZB20pKo%?DMT8t@mSVl>aj&ifBms`~h%QsL$A{$ny znt4!mt2pNXMx=Bh(#Po3(4wvcwJ4*a18ir;Q=VxQ6(aL?dA2Sx>L_NP)L=EPHO87( z17o0Bb;BqF9YSDbGGb0gt+Lg>RWqjfRg*LO3ZnzVAY7yQfytS#{;zIM2ZtcQ6Y2hO z4$J2%hk8H1cq%C&3RoNVbv43YQ!rxhd+|VEyVsQ|e2Q92Bjjm$?Y{Cq9zK<9Pm-Mp zs0K0R|J%Ip?JNJVdH;XaH=4EGKL>|j$bFK5yuwE*2_PMlmlwo-&{i%_5P}^(CDsM0 zOw2QBnT`fUzL315Oy4IUTcZp^UnSpL{)Yr^E@wlDH#B@&wV5Sqf5wE@+eZAT!uQa` z?a5)?0mq`=V}iXGx?f1{QXhltdR^abPSKGRt~-FN%gbYaxuMKPGorW4{e#T@JbmA| zQ{Ezx(<%Qff&SI<;dGFeQ!~gPzX7cd^sfB|i;9tfK(a}fCBrjemgfYt8mSL*^(brmc{eP``Ynl$<;M5$LTm{B(AM!A@yP z=`X3Y>!tl-YERK|h1HQM%CK%eSl;}BGP!Fo;3j`xneNAnX!WJ3kTfNJc)Oa0*w{Bv zay%8)Xb9yKe#t1xCBF;mhtBP23A-P3lHa}7aNV%hw?QZSNkMJwa(04IlELv2J z%imYs(Wpz=sE4ds+SaQ5Y-Y;Z zzi!lp|H>}Ygt+ReB?h<2Zyh21;hQvomHZh_C2+RT_HL=z8dMEwT_`Mcc^_5m>Z`uT$aC6wV3ILhjB?<8Cp9VTm<^ zNXL|sC5PhE(0Kvlr|mO}HmI;XH|h%6Ly(O|mT?xz9Az*((HOsE=U>wJXMOy$lfeAa zYYmJUKQmyeQvV=Sh5!bX8Ec8`ffgh^n2E5Xv!V!Ezl21ZTpHCTZ33;fB`2de?OlO5 z?YTHL62sO&0Aq|D7~p@%3WMc(D4+IdO0Fp{EvBQ?)t_suUr7;-ln2=Zb<7qUwr9ys zP%w;lQ1ig@8yo+SZ zOct69CK-&FXgo#y)AFmvj-c1nkWqgztvNRhB5vbS-1a!MDRw)S8ab3QzDhV%Dropk zIElr;-j#)C9xaHw-y#m7aS6k*h2hwe`8Dnge?e9@=qWnGUj*^` zSF|Jtkni$s=Cj9A@%M*#jXoDxF*5&)Ih2bej|=gDSk{!7kA!Z$*~&*q!8YO)0l`Rm zDns$^D{r|yv6*X?FJqfo?@;qtE}2g&{iZhI4{Cy;``eQrv@XV7HPP{IIxN1Aa$%@G6%*5b%3SK)lr!*7;y43olC^yq4>d00LRLayc>#28|I28N%8CPV^*3?YxumzC6!vkxC6 z?V`uuJBOdQmljhjUT>sTUQG4{t4(|~Gkjwh9M(*n>&J}|MY7P=c4%v7_MlmS<)a#H zxytjyiWc(-*Fo(;hzrRN4*wVH{@qw6YAAolczS2Hjko4SL$yOR{UnY@OHPuCagR37 zbv;rl`i_fCa&o1jS^)}hvIa%UJda}mVj8W+a#&;0Q#=#v6zXn1e{g4hm(TY*O|s5s z?`SRy8GG5PLu@g>YiEw3q%px9f%6U5!x5#JG_7*ieq2k&j*H!r`fcGIsHATt-0ra3 z86q0yc;ac9>kYP~V5G493OP7qSH*y;8V05;lH-S4S&uY>Y*z_W;X8Igo3Y3VJkG!( z-SR1JoPUgVvGM)}@8y_b3iMD^l&8PCLEORt!DQem$mqj90ngDn8U zN|=Hzt!A*L6@o3T0)55n7Hon1B>q~?Cmw8}tO~a18a1IXP+=;(W2O=nCW0-vA)6I! zNo_Rh8j1}Xj%PClkzx_(0d97G3=jJp`cF8s7>-#67Q%A1Xj7`SztBh`n>yuBbw98B z`FNj!@gf(UWg-E)GGdta3LE-1+fsa}8rOjTA%crve zR;Pr4kwz+UxPRO=snj2(kTZ$`sxH#o6KvZx+`l^RYt6u^!CvX$uDYc{Wmzi5>hMLY ze3KA2o@#K}9Y(Ph>p=dn{HYfL8-n&c8Ht5V7(oyTgO7oc8}}7c&T`B_&4x0md5`Xl zbr~pQQ5(DV!-bztL5(=T{`u7*5ptQ1QI>M4Q(_t*dyLrzvY3%^jyEmwY%VrfkqMdh z2{$DeTyoMtt_2=aR&BqhuduXX7ySgGrNjT47QlhmEHby!uuI$&#cfCCR8R{Q{bvQH zherucWxI-$e;LwC{2Jrg#;*X)zZU$;Tr+^)TW?_YcNuSLz1qWSX8LRf94+32D5&|5 z@?fZiapa7tk;9lFgzbze9K|74?7$b z%2$QnG65>+nFf#HHlWX{7_Oif_pLXE3lbz&0`!4-B~}9Tznx|+1hr%T3g8#{NLr>A zn(jnti7&P*gRnE{3Zljscb~kcU*+q7bUtqKFYU z(%c5>MI#Yk1O1@stZh*uo3ceEPmmm@HkfVNzakS8LbNLT-zsRZ((;uSVNiD0^Bl82 z!r*{jxi#69&<4@!Hs~VRY}l^z*$_jqD>2gbJcqFn3@Z`av&}BSEWRAb2uXxYXqO2A zXqmpEr~Z%R&Ic~%P2#|quF{EWl!OQ>m7bYON9G9s@I)q+E<+b~MQ!d*qs$yj9lU(x zR5JXD3>w|Bf1DyA4w=j{Qw(rbi3u*x{-aY|Z7ou&qX5(Lf)z-|OEV0AGDs~+B1))e z!>L~P`VuS8(att8D3!gl$f06kRq`K zvnk*(72Jz$n4I8|`83x~nagx^?4ut)m6SWd%WeD0BR|gd7bzJ2u;Tr~tJLq0Eo58W zaXXjCh(7@oGi7YOU5ZKS{QbrT9N{|Z!jLAks?edhBFs!QN zq?LfBSW;m`_<+)m@GFX6)cqMmjoMkv_eHwr4%mQUFTs$!{37$n_;cY(L`1Fa)ZLlg zK`|74o4-HYVv8t>vBuSqwgpCgpdR1EzDvSl$h=ll6Y2pqR(%MDOgR;G_BqFIX zH8Y2Z&{J%IK^2vaz*tmv!1OI7*O{e3Z&Ef0=EH#I&8Dny0Pv98KVzkDgO)@rW{o_I z4JqQdXE5+3kvT1i%w8Y+V>Dd)lE}H#mqcDjN35RAXJl8F4E#*zqTYNyy#vLphD zhiQn7Dd2a`BU;m3zTlTy!8+@g7I1i8q1-vivSQBS2HgUbYVwdS)sl!9$}`g38D`~F zo=4YXc*8x#&~4%k&=)o_*lvt;K!hjJl9vGFFSI`VYXNy?go50;fZU;efytHx8+aL5 zP9Gzc!frP7jiLo+f!SC{zLbtO`C6hVvau8r1}{8>!P{)oks;xXkdO@e9{F4+(vrcn zFT2$5&u1&?1lchy*&&D;t3m64$ReL{QbX1CPij@0zL6&(n0|&Z9ZNNa#7lwjs!>Fp zdK70(z<4nIH3dd`Yyj_gJl#~qc)FM~5nG;?L0_1kOUxuMhAdq`ss$4GQT^uI`Q4eH zk{EnG+gC3BkZchN^5?jFp17djeUZD9)!k9LgutapqjHeW8gD8#`s-4U$kXj8OIbv& zKCjVlqsB|h_IFXS#SPx-GhCV}$CPjhPe>Q~ zYo{sjOTlphIF4w**AiUT?}l5mv--u%KcQb^Z;YsTnhJ3a2qo=T;sV6?Rvm>NA2s%~*Qy2>=2N0ZG^@tnkxyUicz z5PjGUWkX~NGIj72S!cJaUVO!#v&BW+FrO8eS^Uh86+ls_O4$=E@s1KR6++a;yca=l ztAYxTq4{Mh;5E9bKpWebFKfW*$u|o0X;wVyNg3$>Rhw<>j|k1$ZiGIIeN`5uK=YQ( zRDoKiYCC4iP+L1$+|MwwshBDY6iUW6o?xp>fPzX^g{>{BU+4SsGCBSU1}mw4Z9@BCU`Hl5p|A0D&xRNwPls(A>_yu zgdXYJeE5Kezc9LI%3p1= z*T$&-1V~?uQIURR3>M3@%2dd9!f0iZMe6vk<%`vw+|ZY*JK0PxS9cbmpyW^M5?OH1 zOPyq}rTKBNKEVxh-U&>EKJxM?C7Y@{-0+4~7_7iWxi-+(aen34FX>@ZSU!}j9tj`$Yr7$wp*<3OiD}yx6xm-__ zrrpOwRia26i%O$?)m*K}F2*D=Q3Q9ln3Yh^l_c~$NRrS$BgX}Ir2L1nhQ{337>C~! zaQ12jxrF&uF=rtGQQ^A6TgB!*#RgZW8;k@y5MxKmIyJo-gBDPW^ee#&Q`UCl`ZbfX z*77mRnpG_+>pkde+kJ=Ju|_xUDX#TSuC@FA9@2RZ&|chGX-uIGxHy_hK?k(E964;p z0nZkj&-60vk{G*)>Mfip>;JFo(Gg3jwa^65JZ2gEG0CY%GwJgLR8h%pK zNoxx3oXZiF7VbLF)K5<2IV)*KD@7g_(+$?I$RE0}yEAEdOz~!56nT_i)Xnk3r#$!^ zqg3v~B^{R){glNE;9bpJ&Y=#Qe zh)J%saR!%!ixuu3Z6TmHr?zC2uKypD<{8?J#BZ!<3vLqW1dQwD?C_4Fm44gxv4L(9 zq&x`CG$>X{l->edNDObci02lrr)DVifEJZN4f~$tR3<-bU3JD4aP*6w^}J)ppZ=3ge=$GwJe$CV9ndEK)f4PI*0U-J6Xs{g5qo9xBVn{XPpQ@~BeJq>O$ z?qXW8T?01_tRE!cK!n^X@snBmEie2ioS{7uB+-%23k#%FYL{Kb6_!6X=3o;A3dZ+P z3r5A3@N?r;xv*nfwi`V`c*y=rJN-&t-0d`Us<)2ifQV-ZJn(xveB1z*sCY0Y=PGDA#V&T=9bnkvFlY;si34xNqw`nON`e(q44;;JmXHtS$YLEogsBrE9PVMuS1Gpod-&uQ z|F-3Ei(zZ)a&ZkwCf@7QB?x1R?#&!oJ4l* zuO!>9hF~LWJIJ82HaLn<8sr)SbFs$mQcaGg=MLH!w+ZiRRtSlo)+M^D?*EXab*3hN@6{{|u`kHBFR=8-C+4{6(@I0}S0Moq2 z?bgJ0Kti&Z2c;#{XDw+?HcOCgvMscTYPQ8z5ec&v8!D_J2#fV#H$`Mv@K)$kRN1Nx z3xuW_7PjC9U((t#!$SC`x)~Nd%=g)LYh$*tv$1JbOj~)HC)gEz;)REQ3^}PCX3?nV z6VWeU{#U>HnGU;-OEW6^W>lQ{=s*Acum0<2UYsy0*v!>;qeAi9zKn_vdVK5KB#f_p z8$3FLlUvEjA5(8VnF&FHjPx+@IRjf^Ex17jCS;rhSTA2&>bW^IY=*77)3-;Pfqsyn z!@HfhWpNPI&qmknPDfj{^x8xLBVZUJO9AmCg1(70PC!94*60F(%^hG}0g{ zZ3>&l3CatjVxtHIeZ#Cr^>Dh9L|WEDVv3C|4q)=$6@`moCl{06lF}xw>BE8qF0O^_ z2@=Y@ORw3qW1QKEE=F3lya7yu78J^AG$eanO|ldOl6BzS7CxJKf6oU}J(Kxb@pHf= zI8JASHfr0b)rDt|MS$9r~ zJkev+@pGc1YVVur2eX4NF-N9ATxv>iL(TFz;JyP2B)L}4h2h#va3fYM(lxFOE}Hq= z(NYNJlNs*7N3#O#DB@G5KS51%qU1DD{E4*u1IxT``j6%3ehA5u4?k!_nNA-@NoU-eJ25Mj z+EB9GUB;zAkfQutjVi;(^{A5SqBHTZ^+lH1LP7u`x)N=dD?@B`ITEuW#vH0!~Rbbd>^Z+3;SnV z-6Ubf8@hVqe)*o|)ZG{vvz{I(5`o}7>(t4`&o21YlnOhng8cb#gaK-S%kLexaG-YF z&9r^nTXEoWG>YnGPw$?7WPGh;A8P;FC)ruW!nC!a#H-HTW(;UuEFIE5ExpZX$}Zm? z8fB23^7gwG>VyQ03bkrxZg_As?sh-pE-I7O-!o?fOoAL2Lrp&pXH4^maFcAtGsDU^ zSB$^ZspKUShHE4>8!YmsSK_XbdnGQj!?np)zwS5Ol^m}JKL<@;wnWNVU(%^O3lP4i z(Fo77&K)#QjnR7Ma}ivLWe`74i7Hbak_n+9XU-sVS98^r>du% zN?4glwM4Q!JmG~|HM6pL`*#znGl@&}VJCsB!*Hw@?_Xag6SzHAH z=%|ero{)+X@!+^#W0sO%3Pnu4rW%rxhxi!tr8y+)N^4Z*AN?@;g%GGHYWPjNQ``Om z2WJGk`%llN8?+_kLK1_`JJ@_wz(pQw4&D!_+#r?~x0n}X>@KQO$@a?g^Ah~H7-=rV zGtxZDgFvb4^=)v>cyN32W^OTHXjH4&J>iYusdr*lr}O!BB0wb>Da5R~M>Obi4wDLr zsDG2{$;;}$h!8nu6A>`-brC;POj9S=-{u;c!HEpXWpM~1!RraH^t_PFnT%q3wStP< z_ht#ShSxWwK~J5XB@EVb4uL3QQ$3S3rn{!16>T8Q=_rX_E&6)F`+K(%zUH(0oeA$n z8FBYcu_C)0p*dd-3)WXhFa`#;l43QWzupmiAYH;hi2z%kOW--3Fw4mgX|rS+<}b2 z26jlQr59OvcFIo9TI=vTZBo>QCJfFXK}mUgYOCY6v$_r#URT$?K1?lW!uNah(jtUmVphRIz$jyd(Bx|A$9$5iWjb39 zL3l+lDy|d4YwsXl98zf4?y#7pFF!vziX-Z0%~0O~5Mj#ObijIgVlc?jGcc zqWVrpp8pZ@ePz2E8f`uQooFF+?>h{s<;S$BUpQC$@edxfR$dnB@;6e>lx(U?DO^}w z`WEd*wp7?xxtnl})45F4nL;ts9{T!3Dspw$3-IhV28FbLq1L?#DBHC&7_$*8iw(Eopf5mID^(_ zCnGxSHag%X7Jp?W`9JLix-E*E45XWFQ)CNC!L-7eT#a-r5hBk#O&zeu73!WRH=^!o zV5@Cwp+uwHQDi!lXr4Ppq%~{|3yhYaV}ntFXr*M1aK6;#h#bU;6N#$R!2CQS7Hed0 zO^LYLX8(({ZGD_pOyOF)xnve4Q^;bB;qEAxo!zOWAb+zDU>Bm5yE_CY z_|ULrjED`Cj#AhbUY^|IFU&*N)=GEy%ZyqWRBjH{h$w42T_Qw?g_#;?LRY}6?WPLR z*iE)QyTgL^!crD8di+(dAyXPdgGOa;DDjiD+EJ1-akNlvJ<+zH_&D5B#*EWcNp67Oi44>l`@EwzQMVYo8-|JJG}kAU&};poIO9YwS=*?nF7Ejqb2p z$c5GL>jQNxGGG!1#`38P6UMXzDa|B;hcJl}D!`)iDUcOk&8ofH&SPR?%}8GHnBX4P z940z&o=7v}L7_|(toeX)%io7z8KV+$W;qE@vR>0|=PXDD+l^9|Y_pj&1HIaH^5rb` z1OftFLC$D(4nYFGZBy+Pi{^`8m!kQ|z(uo;oXru<(g*NiGbP7qWAd+@lU+tBD%V|! z2LIh;|Lp5qX(zqZf9KEMIoiLzS}M+PR#ebexHCWtj>XH#)OiauQxnDdk;H$gsoku%db>se}{t za;c`4Bx0xHGPS36%n=Prk{2l95I6||G)!Rn`fNS3wlZn$4j~Mfvxv4gGiT^yvoAtk zh%^ni4Sgn2Ds>b`U}6V{imoJwOmDO$``F7bbtXR&5om^$P6Rf)N^NMHcV$Q3X$SE6 z{Gk-hybNAUm?EZv*SBZi<;IIyEk4QW14h^IEFdXEMd*MIZ?pNr?9$1c?A&GHE0D^L ziTUCUDKA{3h2%||FC8#kn?7Jj)`BL*r>n4b5iHuRD{am$5aJC&m+#x1_9?XYEeVYS zt}MHzD?UK{dFp7jtK$FGT4vNfLiPSaaS>86_s+JPe||b^odPHN}fiFD;6qZa|StQ#+~VANWiQ=3mrIa zC;+-}2!d=Jx-;qMN?mP&^rW=<4Dyn|s2Q`7T);Asp`z)`OK_PgO6ubvVZZ!&>h{Z3 zpHiW%UQGO&r&QnrwTJ(+MXU@TKKvDk5UtmzLD=rh)lY*cHxsW1d?PrSc;PhbMy4?k z>A0Wu9S!m8w`Cjr{P&}5v^43iy^D7CyLf;3ze3iXmxcBnaOibGOVIKpz} z7s&P@u*`S?$P_maU#ZkGT~_|i$4@0?#&IJOMp~g;cZ;{L+MxDWT07!oT^&xxs9;<% ztt?`a12FQj2Zuvgy27>(n6o$&%HU>y17g%7nX-}1-PK4q6VQ$u)X20&DANgVfvD+j zJKf<4OLj}`@P|<%P2sO77l6vo=GrE{G0`Rix3zEhtpaz5f9DTC7{M+cjM-g;=5grS z5jq$I=qcalrxZe66{ucef7$(Rjg|*Jj*#(DSG9J3^|$`T&-~O&zw;}9Z0B^_TXCfB zQx)y~ek`G$=~%*LEyQC9?XgWN6rn(e&n-~`q!A$E0UVE$BAMs&;LB#*B3XT!kV+gj zgH1yO6(3I-mbYj}aC?t@&45YMOGGE6qI%e6(39-6X{W(yhg_(lHBhB;k)b4>6CNc- zkbY8+gF0|0WrU#lc2e+>EmD8zCp|r;VwsqADM^Jjbnt@xz-0+EDOe_}=Yu(p)7H~QbAHdfh zr%-0_PL6Z!3Tq-J6FX=GI#FpEVz6ocZ+yEq_#vI$l1!SHxJO{b?%AegQ+eg+vU)W( z*o0!jfaA)m4^(-htBk3l+c@n(kec{pH?qWMOQ$ut(8CqDBu-Z}Cn<{P?XcB_Suo-c zP5<(bSkwPgY_vBwsMmPo%ZGWR!yCi> z!*367(1Rj%x}&*;Yn7i_2FbPSfTZdNNJ2k8xK%ouxwfyAm8+eDKhhkq zvSe)FLsC~)F%bb%txAcZ3@Bqe>uRFnp!+Wvcf7Mw4dr)f-$8}h!?dK?(>8w){qP>G z>6mHgJydcCC3cXbMU}mEwHWz-gb{Mmt*6Blr}iq4k(tF|v;=HomMmpC4`^jMw90>D zv^K2hbK^Rw;ziXN(B{^fKB?EB&#%QdX4ZIv%INC1oS^H0~B3y zSw=eYqX0TJ2`KeyKzRg&5e#xFSw)N;enORdHD-oa*&+4T?9i59ua-Xkz35}+71IYe zSRu7u(AYQEW8bijvHKPZT5CuxNOz@7V$nL{_@Ahs>*{`H*U?WksdYbV$fRMPK#_J) zTrGxwcbQ&z1so_oG~5I(Y~}EwIjYWwKmI6~=+~IwgxSlI_fMuP0S+ zrtXXRxSGB|Y=g4P^b_ry^_YjNV246!)dC-p|R?sxhs`=wsZQRT0zRV~W2wDV&4 zU%E^ojlA)aL-id&+;H%eISr1D-?I7@RD8Y77JaOTR{1N7lQ83RT@|isUrnpqhNJ)v zajpiWVWq$5RQh(%(Hc*t15o(8QbT3;&y376t&G6IM(tjUT4`ks)Y9dio8Y~KPBb}r ziRZ@SD~truyXL^X$#;N;q3t%`z|~f}8o(vdM=(dpLY2B2<8#$MLQd{?a4;b-?qt8? z=3Cf~eJk+{(M&59tk%jE=)-!2ZRjHHE7sOxoRwD&V7F?@E9@^@?f`a4aS85QU28lv z!kh+*<2J6;pXHd2?!vP((QOzkNAN~Vd&JH83w&v%ddERTDvoavF7-AdO0Z87@tLMFEKvFbyszt|EzNCqF*^9 z7sj3a8BK*QIdar=u+o5=?Ra$81sktc6UH$ScX4KxIq_mn{Pb7Pf9*y8b!t`r_4mo< zW&@MHx~3C*%Rk^gaI>7=sjK#1otro6Y**)^)&w_u48Z0GTR+3SC8A2lgxxP~_P^=~ zvUr!qs(6?BR_KRc&BN|L`mHbg-cSDFzy7s9FbvsSuM8vZpdh)ByZdMJG}Ctu0)ona z1M+bSpVap(tHS4Hm9vLVWZuN(9&FFmm@Zy*A1V?D`%*Qx}uJB|{+-DRV7Zqdw@8adl$ zc9K?{Y?aa~~t5As$x;bBS--cU<&9-*Iuc1I3{H^70EzLr{=X#N}^r{{{~cS)~ZN zkFN@t>RA90R5|YL&-LHjuteqNEux#p;Lw({AvHGx1k2Mp)&uFS+P* z>iXtEcOq8G;w#Kx0a6?Zv$E=$pei$=a&ZZF%!JGkcR6Y^LQh7<`Q((5HJw< z8cQ_yH`P3iRhY9FS$4kwGr5SQYCgN4ZwI;D*P%r=4{P*rhxg#Gt!#y}wL%ZP(d>bQ zxovu8OHh{I;8O}<+gN}K7}NamO0(i-@Rgy*!N1lF`9<8=>Y=56nXs{yz1Uve z@uBY?INMTUgKua)XJa0X0+L$_ByflfQRQ|EVPL4&GVKS2SxpVXQE!)2)ZDim$yiYA z*7l5?cY}O7Cm$oV6HgYB2db?>RubTqx}FXP-Q2I9?nUPtw$BUe7FN-uW?0M&t$k`o4*1gLvIF!%>x%t98DRzrZ4Xda1F>7n(Xm@gzG9vM z)UvPW`fUb<9iabqr5}2$VakR;>KlKCBkDSORo)>YmLG?JReLC@g63F&UTVt|h0a3T8`n-LU8hX%e zc_ALgC{}dR@ac#ReFHDOV6QqYDa|xAZCnDU@64WW`}YPM9dXBAO|~36ZaSL10LWj? zAg{Ey<=`I+8_u?2R$Y6Ie~{ndQ# z(tH}J_logoB%2=^DXXvaR;6KnS=8?Yis$PSco)W-$d{u`>25yZenh;ApJDslQ!H1S z+hIgwgs+oNMEGEr?1j->zRRV5Aj8BH(30?xULD)bo0ibG#yKVqyN#E8N6W4y^RTB( z4WsNTG2V*uvT)D@R$*YlsU*m8EVRom5>8#NOy9~(da~YmtxFBRSudUsr#+Ct6rL9O z8aCL$T}zRl2WoGfqUbt`{LD}*I!)2_6mg)i zj!9EnXDH%yGqN`fK8lJNdw2}M#lxJo)Ycd6^X+162~yPM_@?59_`Z}XO9X5AhVwLhYCb0_ai9YKaAOIf67LC9>E* zPPQc?E1VxQ_x@ChHg?tY4o0qClQDaf&vI#;?broi zF~2s=#KTtjGK*M2`JfmvinS7LV`H$U@rzribxv9cTXV-}Sf7>vLonM0yJ+_~~MFcrE~sDn ze@Vaed>${^Qp7D=7-=KWn@4km5hx82o(KCVYfPo;QiN9idBZHi1q5sFtdIn zHt24BcG$+gnPP7+QM7;%Du)LTjNsJOtR4*#n=}oYf^KB}K<$*Dm5h!C5Ts4f?=+6) z5VZ#j=#16-j7=DyP|+4LUVdKn$3$_SNB`@a6lQdu=G_@LhdM#%^KLkv5-4>%rRXM_ zKeB|7yk-d%*lF3Ws4Tp8Xv6K7zAFwT7!#F-^rKbOkqGw_HxZ;RXHNx4)aNN1tAwr2 zG<5xe=BICie}#S2fmwB|M;H63V;iUJctZ_LP57aPN)*>=hS5UmD9|4|7md%<782N< zu#ilsF)`41u#mLVYr4FReVHVh4!eD8v#oONAeZPrm>&mr_})F!qwiSz zhY{MNMDz+Nn%;&0pkwQ5BO6ON{>e4xOxl8|PKsV7 z+ZK|~J0+&hjJ>Ce?$f)Ak0Ix9IMOmv>QfUWCVUN$EMnlF7!M%%-a1S#pob@W(pv&< z%&W8`=&pTLTJL-7mf>!#C*C@lHg+W8@hCJ902(uAb{e1AIi760?TheRBc=4pG71Mu z88uqmC@(RgJcr)Ss1RK+g!RJCF=R0;U^Y~<%^E}1a(EgTx_l8dIqC;n3=fdMCo-edN*MDIfKxRP2i#3-T{ zzK7z6AM25y;Y2mAKaqkwd}BZD_?UZ{@>r1p60=iLzyjhbu4ePxVra8@ZZWsvkftNR z5YH|4W1e(c&_eQY`i{c1=W>w)k3nJ-rhY7&#RFsg4@nK_n45*xMVj79wNsEYeR@_55BB- zaYT|W9J8jDK*fYXra*M%5ZGLp{sK!T#4yckV@>ttKx4QHa(Ustqg@uTEQa8x0}8y1~;EcS|lu~pIHly+oJT~Vsi4rLGKpU``zEiCa}IYgl25ePuDjKyGGiCOK1pm5Gv zM9p6tk37bRwRjd4Q`H&EBnCET^JN&cus?2aHlmE zh|cL*-%gNNNTaA|SC%M!H zQQmll%WM4d1ednuDlebn@)i;5v>#(jmr+`sLN55>Th9W_!5=qH6Mixcro!93u!J0Evm1N=B_fIgkMN`kwI; zTd+DFop6S+S*>%E2$_E=3hP^YiFkwwp^p;lY9m*h?P`lwdX#Oag&z)0 zgCOQ{!}u8zN~W+!_gW0nwi_3C{Pdt=eukshv&;&=BX-o9aKg5n?HSP(U4g)Y9|(La zKZpw*hv>qp}BeQnupiQ)c6Ch~!Kul4Cj0#gIr&R;q>~ zIq0hML~9htA-(jtTS?Q_| zzyOW<9;06Eg&Iw76Q zDN9SqMruKLa7ezD?Al)yFmhhGEsB?pWn6IjVpULdw&(LZa~-3@BpS8Hgxl*W6N^ZE zc9>BN;3@`dA2Mr!5t(krJ7P9x7+J*nV0Z?B z(4Wgmq7rtc1Xk_4YeGgaUUX7H#!@nn%@=Y{Y=9y~Wi^P;bbww9M$-mUN{2{F&5%bb z$1}sNakAki@)UNNjm>LRc#h0EA3Yy@+n&8yAE1*+gSJ`=$!2@g||g2xf@}alt3*?Mscj#?ySMk%5FSPrhI|0j{I$1CT8p z6#;VH4s8jFh;Lwr-W=lqjik;>#$mGD(g*^$gn|RONQfF-RyitgQ=vE8Wuy;A#hy0# zD~+^SlM&3?%sAO2bi3hc$5CK-8mf02BN#rzr3C&v_@b)fv=aDtagD&=1;p^0@KXL0 z9+aKo^%54!mJt}lz3iheev&3Q)%P0PuK&i8$0XG06Hro^aRd?kaIzYQD?uQbKBA36 z8X9(s;-$?5^1hEmpMnyl+Q<38Mc4aL{ciQ15MzyTUV;lUNz?hz3R=*<*T@jWccqR$ zE5R+dJ}sP)5y;vkU4*$7iiUM!E<{BF%oZmKR$WBu|9@G+8!qw!j2$CbfOa~}y)O>(f$N`ZI@il^3t~#HO4O0l<8b_SMtp$=} zRjIsEK5THyZ9*zbmU(JlppwEhdh8?T3oJ^lKqt+xc|&>^og{={@7X7eZ4zCA+f0Q^ z7v}ATFmJmsS7xL&SpKGj`Cxdx2-|65hn@uOX6KEykpL7mwHsp(r0lBAG2yDMC3>-n zEoI0BvWTj!CF9riw#dThA&`a09#2Y?t}tX%0=KRJ!z8DO+G)lVUoC;*C&#i*fmBkC zA7+=WF?VYP+>r#P^Q4QiiO;##`lvFU#oN3{*FhP%W(*o@otkk1lI5DQ)_A64CpBaE zVzT+^90emJSL7NaEbZ7wcLI`%OMfMW_H`QXC6t_ldx;Ih4 zG3a7<^WLt$i^l9M?TZe_vie6+s^cxY1-^)p4bsMRTxZom&`ty>&DcsfM4kak3#EUi$MxUx#0sqPfbdbYaDOHyGd z`C?t7sQKgA#b*isDgJz{1pu^a?~$ll^>dCAJN1@6JZK)5_0_9_P+D#E^iEjo93@Kk zRJgh%O;dFU_=RLo@9PXX`BMN-~{O=jKhQr#{AJc~hFaL&7@4k1d9Npnp$Ux=wrz#wF- z0|s9MV7RvAOizU>c7rP_y0SaHVV+1yq%zBgdI59rs5VjF}uMw(B8p zof+i;ah^)Swk^&LXWK_`u*BE^b(=g$UABg|aYQiWX2A*9ZVHGhzSlTd&W>QUGCP|N zZUQiW54EH->?pvz)Ty6bMf1|4gj$-EuW#qKzBa?Xs~+xMf2qU$AAcjwZa9=b!UP|k zif4x|+2nmQ6TJM8xkDM#zQ(^pB7!AF0d?^yIc(k#IseS_Qg1x)rL(L&Zh_CyO?Vb| zKHU>NEnMr^rB0h;ENnI83BAuko!%&)GKoC8iA(B2Ps%&73B5`2y2gZ(6h!Jnkssjn z!ZPK|aDZWTA#`gFIr=}EH6 zY^MaH-D5{nVAjDTBr*V|WnP5g>0k;aVA$9Uc1i;57O1w9(%DreOzYKyu=IHL_T&k+ z2Z~{q_?0;bTiRv_mTVT1cPlf&0={i!Tv76X4flM<)||Cx^*k{JmY-*eS^I)lJ6}OL z#2u8UGI4Avt9MoM-%zO*eu^mq)CJ4A0EoK0S3vNkRxa;jW!wU_+$m7|gm$r7>n)$n zA^Ugy)4=*B%20WenIac9Dz)GnD~Qu9ByaaBv;JD>n33_WpI~~iL(rXxd%2@Q&u14p z+ATVtz0}cq-+Xqy0~hqHI$UHt(elKxqBMA2SF$4;3Be9|qP2 z2_^o4Uf_YnI{WzIhjodNuk!gtBes*1)JU}K~{+>l|Rul5js|)4KC@II9bJx z+BxK6@q3kY!KLwElbMlK7+<1yV6hGi`F3ei$|MnyHKSML81%M~+%13>lDlYMYbDTp zRvv>cDp_X&T(2DK1csHwi`gFa*WQs{Yy4B?Pj*0v%f`Hxjbso;yzSOo$VPoiEmz{= zglybR+v}8#t07&B3CMDNybbkGX@@HilmNs`VsJ(Ic%1e^hIDQkg3QELLqei7;s~tP zXO#M7YxPSl1e%G-C)9?%9efyJr!4732|bJ}@?0$wTUggSKJ%Xh@jMSgk>js4&61B2 zSkTdEbJ1>mU}93!PTqx?!n~98?0D*Q$I^Lp<|lG_r$X6A*=i@2ngGfnM_xsW;dYo!U|KM{ot zzL9MyF0UCSmo7F>bX{yd)pc=syzAogiLRehyVO<1TqZ=P%sB|Y#m9sFzii?o!d-is z@(E%8FTpTum412^l9m05771zD*^wM8Nf9&Xgj9W6iiL3d1`KsOdyuoXaAeEV@hig9 z95;phR#31fH4~;RemhCx^F-IoTXFnTekpCqdDz|sL=0p)I-OSH?<0LNd9~g%K6u|`?G3^mvJ#l!oH=>C$gmB+f zjph&|YHHu`ttKD4WFjFCnMRI$WP5N|=djvH?QpbKL=b34C}T2t=b;T#S4?$mV^e5@ z1OKdzAjt)7K+dYr_ML`6uQjx!PpOztuBXI6G{sy~noS1ACO8CJuba79lG}md zd?o)k7aM|}(MS16V~9GgnnJ4CXIhrX;|SQY%=bmv(^E3XWKTLuv&_t-v9*f@4-t zL#p*anm-SLv1_k8o-iEP@q|QZX~Sw(p2Kw5VD^I1wcn=U4L7Px>qI%Qrr2@0MT;&P z`lA+|Oh>l4PM>*avXKBNJ(B=<1y*Oe$r{mWtchYnF&m~#%!I8!$x+UT!CDj{g_HST zw%4RRN{mLyR%5o8u*ejjq% z&2cCfDFS^*u(RC9nvUj}URt!K6&AxymB*obAs|{4GCV*FiF+oc&Fji`YIA(>v zr6i(YF^r~VL)$INW$3rT`?;uycJMAQvIi4|Pp=EfpJ22EJ7e5(TY-vn6!!&8n|tUH z@lgM~*EigMrR|kw=}r5L97Q67%Gc@zU(2j-9GhM>_vjT#Yt(bwsxuSeL(1e1=?I$2 zB9O1uhBA!+y5&GN`0~dLW75}Zqp$fKq?|2em0XcZd!jl}Hu{#bo&s*;sdy@QRkZ{& zugd%z_fvd?kw4Hl`lc~JUCOJ%XIa!vF`s1+WPGwXwalwJGG#G8bHwnf7N^XYBUWz2 zLABWH;#BOF&&D^oG8}|$Qc|AMOB24F>AUk_z%pbs($)PjJ7@;Qf@BZ+M5-m|9;ud& ze>@QH6M1KvDFDII%2t8~t4bvBv+}t{$)i^Ce4|7nKPz8olt|`h<%?0sa4l8Sa)D|X z>d*sDp?iY_3a`c+w67kTcAn5;&oGDyE%vMxG_=?kt)QXBp0k367JJ?b=4(8>UYec%aHe8{FR_Lh}nrwxxTdoaj z#kE3ZY14|StR+)f(org^yk6I0vJQx8C?|wpSRbK5n5C!BIiu}@P(tV<4LQREVWi)4 z8g{+AOc5{(4A@sYoH;Ed>_&}!)iQIV29Dl?U1*lO|jgJ)bZG-m_!r-H$ zXv;Pn*^{>rW+gVXrZKj{pOi<(83OVpIW(qfC#a|Ow zFKf%sY?i}~GbzpNz=h&@ZZGK+Xrh>~J_jnBFDErQRVl36F8HQDEvX)-Atod7Jr&3%$u!lbVYq_}#^ zU9eur45(bNUg>JKa>05H^%#!)UE2lAqdq%V=`$6%o~pbu*Jrp*<}MMHm=2U;$8th6 zJhE5{kD#3p50S#K`K>9l_NZ822~%cq_|-hBsThA>r$=Q$3bs6%Adeo^FG{tbVvcJj zh&Hp|RG-`7u^HBc5Mg*f%?Wrt^SNyaRd_BERg(T%+wyNPEQQH+RkmcpenLNfYIXgn zEnm`)Sn`IbV{N&h0_<_MQ3Yh#_+kOsqhT09!t>tInv_0aV~TE6Lr=<+!t+I6HiNRu z9jaBsvJ7Yy?b!&-f=0ymjrt0RYgFa7Kb_L!kpQbkbHp$*xK7s}2TVCH>xs{L>(}cu zAp|1`V?FD{@~70ivn+B9D? zTG)avxIfb3iAdM1EkK(-F)m@XEO0fbfc_$mQeAz_2d zz&aipEdUH4iyT$>)7!JY^tYDY=dk1;>?G$n=PG)3)zm@nRX`Thu0suDs9ZiI>*k11 zaH*K|Dprv>ABw-;?8-^{K15}u?>+vweA%)UqqWC*#hqt4&Zh6lwR^?--sV&K{_IV#-6rLawYabT*EN?VEGz`bDBkx+`PVg#8vRvXBvq*1_c9{urW~vpw{mNDI2Bg z%1Y4tw$i4DTw@9FIYpg>BBP)$hnvMQj`&D|*%0gmb8VEM8;!v8row`iAe(g|`AT!y zmZA`2Rd$_w(RP{zf|?E$e_Hx%$HzJHL!3>&AGAt1z8H@ z7ln=)I+vBp%@i0(T2uy-Y)65sUo=r)#*nnJJ63Jx_is9li|mLC4*#Z9V6+c`{(Nt6 zgUxGiw%yZuKL?xW+|gSO%*87PI1dkWdpb6rZ#pxla$I^q@Ix^IWVeEMw^Pw1FidRc1z4@ru=OI z)4c*t(;5f>vLPBt*=|AtwjSm3kO<>qQ~-IUcSU)4`%HqR^`3ZGR*C~wDZu&On8n9 zrj^d-ZP`cP=~U_Iav<*{rmQ_rA@Gvc6`+h^lA+2Hb%E;P14+c4heTjd{Ee7MQ! z<>x#*;j?Mo5J|q^hA1Q4PP&_)=1lGFw)+qe*;OJ=k)x@a!0q ztdxakN1k~6ImCIi_R-RzBnjg>&MUS{Cq$qrA}8$?TX=@l*UrMLM`RXW%(6QT`9)=Z z+R4w%h2ON?A}BPd@8#wD}PsTCKuSc~-ouPlG| zB~krFmS^p-PB$Nd9+>xh5N}_4n`QNxJq3H0*fg(vB#|f{jZ%A9-E9-f&p9lTJio@R zk+GZ@6J(rnU|yAFs}b{@v-NR%bWM1)S-(8;Gd-d}kss=d{Wa_9#U&-ySb)&wwZyzc zMikl-IM)|jgP^}&f?m?z*Oh9wtXsQfCQL3Dj%8H10LT~VaswZ`z(!^{M^wk-SGp~7 zNb=!CG>PPUBhNl-W*aAZip*lTijR==5nX+Y4LsA4|D(K9vR%cBFKQKD3uD!q*b7#2 zv|BBxmd{%WOJmwrVYQyKlEp^J7p;USWcALoRsvPW5^YI1j?O7M@z_VLK|V!Ex!B;5 z#o7@2h%Kp`5I;`N?}pO8WorDAXu~bmT(y{&aDt2qs%68ZtSh@H!-=N8G2wPeu8tyUkqgQP4z{nP5 z;myf{z(!?$QCfS@B<$$ZcDy=)Kdsb4X5$?`UE>(j2Z#nZDmR z*T!hv+?HB?%ln+CdEF1P2tJNBe?gLhSe7vU&?bP}Lzc1%u_6j8K+i;Y>;NF6LVE7B$Fp5{2{wAF(Lm=m`CipMqWKt14&eKj`q z+DM@zn@z-HBal1kw#9kISEbul$;Uig?Vp(UEBR`hF?^|uzSH5G^;VT|44DPRL7s-5 zdbdmUW)#s$=?|;zD4tzJIV!lZ6$1&cj*yT_16*q}25*_I%GOC6uHZSRVaf+$B|1ll zT69+dJ|(4CQWooLmR{4y3!*5%&IV5|edYHB)yL1H2uRN6F)s*JvXGoHbSn6Vx5pv_ zZH9axMkuXBKwN{ed?1-c6wTzzknPZoXWjLjwd~<$E|6tm*114-8?tlQBt{mAFY%ss zSm=?(XJ832?K&3-0d2WJ)3^&grTCC{*r)W_KpT}GvdolE;S&O+qCs_D5Z4h#S zj)z6bv+#Gxj^Bm94xFb{$lh66-gW0Augqy1XsdFSh-K@%>`PrFPXXr5psc+x>YWa z_liQVR1TVMscXGjE)ay#$OXb_3mHgjF0G=iY|Sy~bOYK$tq3m51yY}@gc%|2wRYm*vLq2t z86^G<2!`_uAV?b&16711l=GB^BoujcXafyha8Wbj2rLI2mDJRwDZv*l z@i<5<#CPf^zTTvBsMjZejvI1a06pabh^@rJ*6~RJv?OF0GqBO`H4s3@!X#;8jyWtQ zfIhiS0c2ayg8*Cf`X+!r@)sk3I3Qffi2gbAl>*2n%fWa;J0|_Dpk3Pd^@c zE<^wN*Ho&7R5G_pbtX`v1B2GKP3`mJ7eK4R51IES+T4>ZMN2T~rLX18dNnsw zm2biBQkkdPT!njV7AubPXpSjbxnX!B-=bJ0%VIJ|@rGcGVtljQp?r&w<8ThJV_L*H z1K9H{z6_L?%2Bjn_vuFE(_WcHA$|QMTCWxr4_z@nx>~Vo*bE%D=$htci!R0t@sti= zgmj7y+Z_otWiz&d=6(`+6e=b?vCd4a%+`s_#A=W6HW{i;Gi4xV&23U`*wiv-dE}?wB21GD< z8@|P_8om-5!!`-nyk8%=iE)G2Srdj;dbi|&+W~xO$?SkA zHBT_~iR{FaR?x^!JY@wQi?iIr(^k;fAa=$IJep^3oV9`~-p7V}`IfmNifeBWGY1Oi zbvP&E#1}sNHf|7;k7CqenLmi9=|Dl2oj9i;$;}Fw@`R;kP7UggUZ*z>hh)V?mVUzW zE&w)|rke7pc~OGHL_%wNF90f2fIx(O(6zuYS*$^`mduN^`p9aDLKqFh!R& zVmp{6L3f_BdagTPG-FPuHf52mneoqU*x`MKfyBMwXAE?FZ{YnB@Lo!r z+9o=EayV8#<(0{AVFI&SoAP4lN^&G_CU2airIWIdp~CLiL$R&Lt0$? zwbPIxn~xDqWb>Uikr$%G&e^Fr`!_Si>7e!?8oxdiq*C|H(x^3}ip*^c3>k=MO+IqM zgyL#b)Plu9-?~K%1za^3T!~@l8@AgPH8quP>%k~)Q}GyBZLK0-b19W>M!=#}x-GDZ zLK~o0Dt$w-IRv(CN4E}2z_=yI8HA9Hcp}NinhQ&LX8JXPzHBwctyRKcVBH|SR%P8_ zv&&X@xxlD>Mg4q*XQ|ZYQuVszO@(PFb~Sl3X+k3$EnCK730k?l?Z(Z1vn)Euvx zee!wfa+u+y7$e#zEQo3a6OSb<$yIB2Ea-7CtsPKOB~5NZz*)}Z#NGBIC=>-oJZ`l@_}6WeC5jl$@vQRimtu3#Hql-YqQI-!CV$cXJ^b3VNVpA7 z_c6eZ{{1l*JXK7sC>jL!wGD{Xjmk?cy<0gpO!{d?P!@Y?(LRaQ&GRjJN?S#uq%GOnP3$}q8@0o;CB|NfQtSqZ20`S-T0^%vyd z$4s?XV!aqbUOVe$+1|sLsdm(ap<6FUB?a8O|HRj&@uI9Wo95bhQIVv*oe1L&ze3c1 z<-B{d6&8a?j@t7hL3=K0VxsmW^~ZC&2wEto&2zhshukh5o4}!b7HISZSe>kpm4sH} z0(tqIm7H#r=zIp!JR2oC!hsBiMu|>&VBNSbQEJQ*c1=;`&?vX-30XR4Lexn5rN~TGxfqlE}u+8pG;p ztXE8XyhQstrY!=gFP!Ht7W84^SU-GFm;jMJC`={d>aiP)=5|=CAV0#QD&$8%xR#7z zHn!(fk)M!TevCfLYpaMD?J=JUWcA2(HRt1TX0Ie}iC1CElZxzL@(2{-8#;g0(hwDo(l-`ZDb>fi*4PANn|ItzS(%1N#$i9E zA-a=NCHOFxjRTIIyhK5kZa1-DshG4rZxe}Om&m_Pr(-h8M#L2@7+9Il=*10Sx5XXe zcTjiSyFF1xw!${&#iu*mSJ3QeYIlV8C8tEf3&|Vhvc(|ls(ZxY70I>8=~)$3ZC<&r zviz{)UVWyD7U{PrEN?=<5=CuS_?|{5{NQys7}38v{-8q zLz4tX0+3mBjE2^hxi)iEtW_}B;b_6VLD*BF+V5qefDIll8miMfN7E7!OI?u+Sd48< zSFTQ5$F2BLD{;@3t!1_qS*;f{Kc^t9J_E?sE)C9)S*cd@CPZUQpw#m9U`)vB-9uu((MsVsr1cM|`WZR^oc5kQ<}5^>(+*Oq;D|hJ&L?=Zou^ zwxD;B25Vi!#Gy(e97+$Y;jkEMT!k!LNxCspz|fldg=93j1j&JLwgl;6IYghY7Hab= zn;%vjC&{iwnIi5w3~jB@*1pbRnhq@%XtNTxAzPS`nUg6P=&mLQkQ2yZri$~gz75%^ z$P_ON#MFt~kn5}i534#O*a~rNNIS7p4oYP9ne1tOX zk6U1h&AM)-V9qleAcM2=Y&x_gi`JhCkxZ_!?~A5Auh&Et+Oi=XuBBH_n5op%)@m}Y z(_|P+9%tXiP`$Eu1DJ#9!cGgBB4Kh8eHhK=$BY5wHJt>rAS7a8>nOb1u*(er)_Q3p zLNZkQt+{4i<^W*MwYhzBY4t6wm(=ELr_i_e)>QhGuigfuxXK@ z&6eYvty~$n-0`*KG4_>xOb%ydUwI3k31Kp%L$QRZIad2c$7^?DZEOKrr+i;I)`vyd z{8%-`*GcTr{9rCLGfA-!5%ChUM?>vwDsCVCPwWOBRw$Hs0adjfu?Lm=*5T;Mz zhZLbmWGTk+@=8boYdl>}mRs%-%#4;*#*Ju<0FlT>1YrcomJ)2!fWR`C&<5eL8MC5H z+CjlGG$0ZKPEbGu4Txxd|Npnox#w0@zx=|iNNv|WkA3#zdw<{l_TDduHm6^SOnm4w z2LMq?>O*w28m!m(jqz<=Z2h+Wk*Bk-Ol=ki)p;H51^{A(fj&$XY0b_AU7Stw^|}{T z=B$2xjRaw)JUJbqqqCS8f%*(I^7^g6a6DVhvMXsKr=t4XxW7CDAdca0TX)&i-P=@m zuUmKh^pl_Xu>tks_nBlXPQ4rT?x6qh>kwLZSM_RG4fhqhCuTq=Aci?yv3n(R-u*hW zfF81j3G#URfnxU^J(0voPPX>BG`7*R(Z7`O9nOOApg86yC#O$T{P^Ii@)7!>CeoXSxK*q{ zNYLVCmXYZa*(t+Pm&$bFb|${AaR6Mb*<^z4Sem^aPWEGg%@f`*ixo*|F(H*5DovV? z_31+<>L8y`sf#Ns1AhRk|t6gv2W7%>Fu`PF9z6SBT#Jt3L{b}FpqEa0!sRi-B8)0XUWV?e8jk(QwVjIloqEj;LJvP9Z3m!@7*gT{fry7i zODMc!iKY--5i?`YSEOo~kBMYOy;C}KfAkfyc(gkP`y_fz=gR{vac8YHiqp295OvZP zM@v$Xg=9n)bxMtMWiQW~V`@T_ax`UWS*^7O3P{_I>56NZWeDe_?GDkaqut!bBa>_5 z#l$LKrcQ0gi_O3oPyjm65Eb^I{gDF5^Nwm7-Og%&f6Z2KN!lJe@YbxTn*wp6+LfqK z1jr)U#_o=Gf&=V?ByN)Jj9V9aS&+xdP8?3qYQTt1gv6)BZuE_w6Oj_wFV7AD(3qX@ zX(WX=sR!m$Yr(5!i)Ip{Y>+i$V>A|p@dc|q0%z%H&|~}x>#_~%W5x84Mp_V_M&A@X z4B1fNkwX2piLDBc6<5JOJcke-Gev{oH2oqLeY9FMub=3STt2t*u#H#ABFv6=N0@&CLSBtchaU_IYo_$3dH0;_8!~z?W z;R+3@UIlim#eT>B_1UU<1kSlU+s9a210e=r^8(tFanPCoaLgGLJxZag=#}jr=2xX) zbTDV-hV9ypr+R)N^!A9ZM9_bZP+#)iACP0LNHu~n+kLqT$xMhT2T1L67G|E(q#{#3zO}F^Q(fcOXNz!+xC#iD7%NnZ1zu7ZBya;` z$I_yH7LWIYkNTCMA!EOOB;84F;1X&66w%crN74)e<{>1M$|LOfi<^{6+25%yjF;MQ zBgNx32y$6pPExba@GdS@-6K@@h(awy2|lV{ER&P^rN~nn3jUHHu9;ace?RJgnuj#* z%TLVLC*`GCBaAFKhqHd49byrAsriQHSYSp`)`${K$2iHJ`#24_+|L`ljPV@xAHZiK zG%-*NsANuI;_wB3dZRs1EXSAcQPuqJ1>^&5#ZhJA&?WpV?XR_$8x;H=e$;`${+HM(-Y!K??We)>@2Ogj2pWdu#rcIVUYs`bdPc!M;Og<6s~^lZ@AxEU5Nq+}K<$PD^?3D;XWr zzzm4$C?`O2STQ!=40X$&+=jegOIal>fb_<8V9&sP1;>e@9gup>9oLeEEIZSd?x}G5S%V9sKl0|B5T@BGeg# zyjom=lI96-uMUoQB9-KT>>Tnynbe4q(aZdmMeLKt@U>IQD)$vvTvfbY?j2w0Esh-3 zT%J9VkABYWy;gB;%$BnL>mrXX1~_fO6w|>#Szn+>9SlSV69!gbjRph576S^b1_sPi z#z64YB6K$o??F={jCl%*G(+Z@O6J)`$#3U)yV|^+W8BzD?)I}DG)(0$lStSHJ4xFg zrbEa*3&x>%y~hLHNt;XN@TVhjI|* zleM0UN&O1y5=RIP@tC6P_ThEKp*>PN)T{V7d`o=XCFrB1E*wjIjWJWA!d6gpT})Hf zfpD6|I!5KSDk*7GFyAS*|J0>m;8Oe!iK!40w`x>1 z!S(M4VD*qS1Lk@(r^qU(Ac(Y~|KhOtp0I1FZOR%F?!LVuXyX)80sGq@@%OA*3s1p> zA>c?}53s4A`6GMUkEG)vP?0jPzS0*K# z2Y=jqC(!#cZucJ?jYCwG_1&!`J?Ts9q$Z(#|bL9)2P_fglhUaKJ>cK#O8 z(8t8j>YA|Mb+Bh`H}+`5P<*2{rU~EA=ES){prcgJ1c5*MHX!iA&l3cIplvzEdzM06 zBEA*kfF@z>WG)36LA7QgBfObU6LrDO3Y#2L45!3TKHhoqjGvsa02M}X@b(e?yQ+M= zq-S{0nnsZ{b^w{b1b8GbXL17|GsSGuQ7wc{!2`~my~?M{#-=Lj<9_m)&J&_Qlq5cw z>@GL|M45s~)O$Cf4F#8uDmaKQg@G5I>eEM$XQO{^f0R0Uqi=FpFJepViIV78_3`bd z*pggQZPB_~+?O-7+>qq%F5T^jJ6RY~Oa#LmKVhaTTOMBQ$U_c?QT*e%#F@QTu)#uP zf)cr06D}}FQ7nIMGq8Z7b42W8s!dZ={-pko-vK!ll4+DrGg+$PY%9M;CgyD2Kq4Rg z{cbC+yND_uX&QUDpx;41pIy^`v1wef7nZ`jroayHMN33$&s@N9k%+EoiXjEpB7A-q zlRF4pGCw>oQwYYW1g7rvi_Av{u@|6hj3!z!_8z?oYTNg5h(SSZt&?;d=s23@?a)xo z{-hDL9Q_ThfcGpnghJUYaygEK zUN(iYgW`&FAJVaKBIZ|Cc@#M-l3twTqrW8rdAy9U^4*Tic2$=7$JSu!DN3N$1VMnS z0w7|_(f8*P7AaURxvlhriSB?Bjc%^~I6)01pQPj+h&bK=ux2+g`1&i9zFz$6;XN!`9rAZ$! zh~8wJsULh)wjc3Ce(Uths6gTxw~HK(Unp9<5tzey6y7j2i@+Dy!}X&QVT`LT#>f*+ z7*mi%7?TBP*9<%<786*+=n}^G0b^9y;*4SZ9jeWBD*U*h|D)f_=^1yUTPEO6k!LKW zTr+4A`9LhesfAd@+6bpM5HN@oZVILK5~+~pstTEz07r!lCh(Fz1KvGeftU2zOe?~b zI>*=XzBJghofN(NG~N9pa%bDTs2(6h3b1;O_pN^hFi@0wu7zm=jTGaYJs=gd)Kq=~mj6bUn^_hwG6J-PQlZ3c}Zbb+pUm8%Lndd?VGDOcI zB8?MO42F_U7q8&S5q!fdRga#(9_Tsb zb7gU}F0U*UdSqO}{{iy5M!%m!M7>*K$Uo3C_S`=Zowy?TR{OhpOPwkYOwk_XK=i}G zAw^ClB4m=5G2X?Ukc=pmKjQiyC>HO@Gqn-_Xk7b;WO=Fo3b9iCOB;Yh*((S^sB0?M z&7nW3w?pdzWnxnPV|t?fM&xGI#Z37mJh8$gam&$HP(s3!sxs+{Jbtpp-^=q{x^9En zj6Ot$HoCG{;s+=y?eWrswei|#fA840ufN7j?`~c_{M~}M!j6=^j870S*YX3jujWUa zg7O|DfWv!& zF$$GH4v$_DYPOOG2F2HV2q_H-4Po5BavW@@N$fuOM%~zGa=l_hValEu2)7qDH-^F` zV?w!D<`eae#9DDM!suU7DLqlBM%w(kYqD!~MNdS3E~I!s{SyGEX5q@Hit>^SRN!|H z>z&5UELBs0{+HU!zSJK0iG=uOU-62oipwH!y2{&CHF9}&Z3-l>F6(Ro**L1IVuMzN zw8jJdQJhrrGoUdIZ|zxjvWHt!biQpY_Qk(UTIn=hu^_xu9ffW1=tT-`6}kNJVsA)G z7rJ8llEGZYOVtjOl`uKqO+ub(qxYj&Vm|^~4cN09i9hKv=X1ps?-b4ZK9jbSHLosA&u!6?A4JnVa=Nh#a@Z2&ByviwtUOs!PjV-C3j|G zjZ%mruo9aN$*5H)$mFu7krUeVE1cBrRc@hPr~@4QnpdF4IERk14zBBZl9q1Zh7DBlX=}9 zxSd(9d2SI0yq5*6PsA1F&9_%W-caH-D!%seqv*}~wc<{iefiNN7MyFB-$}pEJ9=d8 z=YQl|fAqV5thcd9g+m5>^4JG{=mYotNw#)}2e_{sRdct~!tXMkT-gJo@04hv@R6Gp z)~WwLOsM^mhp8Ws33=Aed&=y$d8sc$6WY9# zd6T|IL;H)yyyTUbe#X4?Jf&WU>7!TeSC|nUruX8V4%7RiR9ou3l4@*T>YbQ=Q-uxF z`?Z%b%vT(8w)RnZiFFO>v!fco=* z9P8^Rr*XN~KeQg;pQ^%Q3I9iCMFrET2#LU-M%DiAHJpwu>v@P?5D-^Wm-Q}9e zNmFEKJS+}ip~iEFwT1@=^}=cEG5j{K3S;d zZn@R{QbdD(A<&{Rw?3v$l-vY+A8pCPnp=>g3;fgV{AMy}pto5jZo}1jg z6ws0e{|1dCQH;UnLJmUrEKPs_mY?Hj6q4cTxHci6QDDMO6Wc3$THNwnAIx8qy%^x) zHAcv!te@aAoF&Cfa8K*|-lmv|+*9nlTWpnLc_jyp8e+4-Ga{??pE+&TF;`7i|K=UD;B36|5Wc;BXleTc-SvlZRaiL{J! zESD-O?M05ew!(=GFfQ;07@nfUplCi;3i&ISckAPe;tTD}LaEe_Ov#iKe=|lNPTJSv zCh~I~&IUiPpniT1(7reIW8oPSK_vXnZrQJgSzc&;n{1nKVTc2sX2X6KR?n<@Bf0Hx z{lfpf&aUI&!kG>GS+PB=&bv8IRy9JJJsiF)@PRp^zNhHOmj08cdp=%0b2wgY*miE2 z>3!;!=})ccu~w)>l*Ltob!v}byo`{DhO##9yqlpnf0!O``(awz_KE=J0YLBRN(cW)7jwk+Mx8|sevr@?6~&^4Hw6B^G1~fu0K@A8f3IDZ(Ps>* z&ldCtBqq|`aDBBqb{)EzAEfKo z@T4hwFE}F9bT7&`xK{6sPk>%FW(?0f=0nIwH113kXHD4{+(N~HP&1gjInZfr1>z!)W-GvA)X zA6Gsb85^aykJaH}$}H3(DNKl%Xbk)aZ{7qdBJZufl;#uF*mYX`FL^sTyJb?HPGxi| z)Ju0-R`Yz2jaUxMXn>L*F)gdu*r_Md=_I;y^few5m%Y)~z>(w=dU}~L(V&cKO_aoJ zH+0i|=GkrywkgLbt;;=10FbPL1Ow)(6{6C3?U4L(o^=$}0bTQIxV|#TnDEJC#-}r< zqq(|A?m8Y*Je~lO?II4(>tE6HMNj?E|N48HTVx{LS254@Kd9$RF6MrF`n;$=t;hY@ z8K6=hH3RO<#Z#YLjb@f8Tl_bF>8TLA1+sbmi*$%5zLU}H_8?O_#4qW|MLa=_8Cimg zMlnr?a2I~f*{;B&qV>|hRcx#=6p%Q=Gj?seq?1pcMT4Lzw}@>!v(=)DO!Y}_{))t zub#@qSAS9E;`dDDBJyyq^)d7Me~1Q@=p+=^zuw%nvJiZr29Udd)aJ?6J0g#SRfESi5uhs12V zg|i9z7eDw(2%1?>-Tmn={^}nLUhQsAW%F<9Ysuzik%z^vYyBfV*POqX%(S!i&+73e znXNI)8kk}9sib~Xc_en^4&X21<`;^BD+I|&zp<->%m>mMu)U;daW7GjPLRrD35B_1vWKZ<&^K@mzt;u@8%*gdLuV1$AnWOoes3{XaIa4W} zzKhvaj($3)*#7nRtv#2&ZQKj(czIUYf1>L+U$nmedJ28T4HzCo7t+__#c2cqlX=h0 zieium5he*s$6Ak_UPb;H#YU`lXj{CU8QT6Wpvd-xdqb15ixk@6a^9_To!8e~kF6xA zV~Hpb(~R;oEgDG_$FgPpk?aI|U9b`XWY}&{as^XuxdJGN13fEn6y%Q26-#%N-iBz# z9Tytq!x&L^dxgxar^wvo!UhV*^(Wb^k$LCv)a|MMm z6LxU()vEf=H1}A$AW_3$^y7K8Vtl^l-~z0tsA4d8H7!ZHW)(-&15WrsaF!4^6qHN zUdo?lhzody8c`bfzVfx&@M*QUML`o{K~+jqPDs`jC8ZN^41~jeJT5 zxhk4NkU9G3uCbGn+_#atRyjr|pjS&mNLj6THEgv5=EX-e7(f;DZVD95B|-;*u}uKPsGcK(gmS}k09)iH3&QS%^~0^vYsE=L9-Wmfnl!8k z2P&><`o4^CpX-Tq@rWd}WE`X@MqbhCXLo-GW8u>j_j_+K>yFvcQlohzWkfY}+NT#p zszI}1uHcjerJXf^8UhBUK1XMb2?&dCNU$7TY3;&gZ*--M639_>Z&NJ9DS3e!jm4?G zK(k!KdGbnahBY27;Fpurc(mMF;KI<*UHVFuoyxBhxa`e6q3I}NF9!a%l{s5L5zgx1m-!LNvq|ZcA<2-G%)mxm&=apnb%st0 zZ(D>o;uff2=l_QyFO^OSIbef<^w8CLy^+fpDg?bH_;zD-y{(Iljh?1SB$mGV5QUf- zN4#^lbX$E=cgS__2Di1Zm+Oeym@}I`i$CcTbHH@YsX*Kz@0Ewrc2_Pj-S4)=#(`1$ zako`Fv$R_P?Mi`Nx7AN=+nKhnP3M>E-XesTHyzs+n0aJ|%mA}+eoKNU!a(p8`-%L3 z>v!cHj}>w(YBqoC7rm^Po7{iuuH()$CwCSq_M=bekqvg(AnelVu4y?##UfES<%#A~ zMB2sN|5kIq3_(EKbzdW*6Al+uVvfbHkEB`jYs9j^ssd9OSjt6FBu~1AOYYk(34o;E z%<%>{^ThWYR~fbtcvhThIdfB@L=#^kM^D$895a(6?#GlIfsr(8MTmP!j=WFgxWXH~ z&PRXeVxaiC&E4kR=c(uOv_vx>%NO51%m?k!kPOUTfH>%5`DDmUjL=hWY}{UBK92r9 z$tV6fSdZd&z5eDyAQx){E{YPxVc@LsU4Kbc-bfYF^guAZ?ypzn4VSnm!Y&*APL5HN zkA98Cv7?iDco%SD`p27J&!uyai`0emJ9+fO0+NhXCR3UlOq$W-IWeW4Y9hDK8~R?) z1Ms(wCLh!r#r5c@-ssT?z){ZTupX23N2&U)8*|qK0&JSzjfdFm&F&cUzV!VdX|qNB zBKF1E=m7?{@Xa){%0o3pzeqb|H57ux!B*+VlX*>?6|D$0F0JcU*sGtU%l;!wvwg`r ztFt7HHok-B`onW9BuN?Iq&J_|7y6?&fJ_v1z20EvCa5xLQ7~P6gOo711CI2bi%(*# zFy!>}5ozc8@uL!-bw41-7O>Icm?A32MM8m8>P|Gst-B`4273d8~NY;`v6jXZJ z4vE=oiEExBNF@p${WbunKNP9SIIGLszL|;%rUxxTQtqMw)*Zb71`tL73=Py0dWlE@+~05sq7mB09O4rKohsPAxY%!a?#lTLIX3!j zPLTN79D&kt1pEz~vF36ElD-pG4o}osx_G_Z0B76XaLG6?;1b4Ti{BRT7C9jQSC>s<{ z6k7qJ7?ET8L@WYlRZ^L!qrWEz7gh}XDn{XTS-M1Qi6(PCKqE}oM~S|q?KRmUV9B@@ zs)4Chd#A`Yit$G=T^BTzRM}UTvAiZXaTN z)b1PC>4m8U>@jH0qtPBrf+0V^@y!59NUP@Dl}&c6 zU47?dw06zW2bH)jYXI893a&=gjyqi|Rb8zC5!-_3zR3v%|L?Q6IVf zAElmNeU#RAJUCgbFOX$9?InAhl@-!#_9?51ska&(S=+m*MR@_hmX*|}01yWSoF#x3 znv&-PphbVR1waIFwgb>|)5h6?XzPeqRK<3n+o2a*K!*t^04<#oKs%c*osoieH6_mp zKY-Ryy*C_$SR%&NSK^HeA&j~=6_^T}x zL`uMR0D3{w#%E7K+Ez*wG}z31FVYJ(HS02;44MTb8GG>IDN04jVP~Yn`iVw*S;Vpo zgJZkQ(S5`jRRK*v_N|b-d${xaTvRoIpHBu!fYgI2vXVt5fj=+)P zx(Q=FT<^W@)|q0Kp44!-TG8tl&b%(rO#>_#G7fbPmW21PKC!vKk2d`kxVHTlzB)F5 z^Q&xUE!@a-55vD{nZ~6F87duKKq+V}xRIS<_72zk4_QlM4h(LPJE=864}1#9{jrqF zu%bTP2h~Tu+iYEfPF)K&D5~L2%SwV%`nEoiIpgM82Xz>zH+|RwuL4lZWl^t7dQCSE z*Vi7BA1l4ar)7g2e4c}2bS!m1t&jTwuVj8;W{uhiV6Wm6RX|%F~vybf23W`Q=!5i)CFG^%8}nE~PRPOwIIiI7)|K4Pevbewx8ns@ z78G$kjs|k2xFFwJ9`bWwT`Re5ocFYno7@l~g$DK_0{PjKW>*-mre1tEUCoh}q{nKG z*(K@!HYZpTI4xQ%ZgxoIco0Y?MTLx>UVk9kuRkNS&W+wtc!Ie8ZQU;D*2yRTPPaRC z>nPRF>GlHMB5(5gA>E#*TRSQD=ytbm9k|Zxr~Ww)7DnG+D8M8GREMKLRrR0w1s6*P z>mz(M`qtv&DjU6B4h{%rYVqN6WBj@?Zo*i=D0NUED0kDUi|QCv2w?}riqa* z%a>-e>dXq9qMQtvytttP#0ow!PdG#wpt#C^HjRuiE5$5rK3)--NgUlWSs@y_$ON7y z{rOQ&3~JiAmYu<2V>w3?)lYuxcvgRT{h42Z;w+M>__j&@zO}(y@Mfx`4=(4`=)sAi z2xuA|W<({#XI|sY1ewZY=V0cQk$u$)R3>GI4$-Q#6_j27AkU;|w7;A@Cdbv-7+U0qXwK3Y!wApOkuI9kB* zP01fsSJ8Y-y3$Nh9w;<`LQbSZJWRpJiPRe32j0opZ5TcF4uG+@zDE!2M9#@jTO@`? z=ZF?jgBFKhj^R)od>Ma7q(6Ke4RJir`(mMAYXwDtUEKn5>gL*FVN6A_^EMY7wZ*LH zQ**mF7u(Yo>)D)%+RooxtZIw(JH;;8Tx_*1Hs}<)aC5Q!ZLwje*dB`gT_9>uXrxyk zS;RRWkCbIQ2XWwx?^?U!PQ2c0?mSYRxAqeL?#AstQk}mx;qL`&d-;3e+6DaGvo^X@ z-t^TfKI>QUpz9rsW*l%{PR)7>w!X7G@bI0f6yNy>8#@c9>gaK%@Il+02UAY*N`y+U zKN_#+JFkt^^!l-Qz0i4WY^K+b$Lqz;Yhy9JJ{hmW5RA5sz4ZFi@p`%QwXv37KNYW6 zIB+^SXEXSPERp`9-+^i;Ww2vo5m33FK6EWzI?=HDo8AMdPs z;~eL!Kf%A#`8bR9Q&N57`q6hbs&5#3o5+~>G%ij3y(;jM`ZzyfD1>gTAJ!Mvo=@H5 zDo*kf+Eb>AtO3I@ufOV53JS9WG>lAoA(=20cE;SDRnH4D&=keuT0SOQ4etwsfj(kW zqqkX65h@*Zy>Qd5m^xisp;Y{t34d&h>pc@siWKuR+K`_gCZPZX-ZVd&)hqP~|3X^5 zuWAr3eQEXiE#ieYBv^HbU}w^V+9D!th(d|b;~|(Dbbj35DD$l}CgPltsm_LE zT8+KS8v8tJ?A_Mb=UZc6V2yp@7eixX;yFf9il`MADKx1GWfuw^%@Fbf-`7wfOO5I$ zTOv&+-ie0J>-6C1<^i@!S>L0tpOGi8h>GvJ2I7&na?RNEA=f!2vz4`6=A7vZMQp(D zf(+tyO~Y+=)4Bw_{WWCmvBvp|n6}HTM$)!KJF#bT{=c-A!7DmtOJ;O7mN{MW|9SpT zhV6Lg(j|%t`NM^p3Heei!R9&FvtqC>`aciqSCs%WnYN{vpx>H6A`oJ8K4PoR>XY9O zR2&B*Hp6Usjr7>fr)A=j_|RO!hrGTKe$?w=k$4@_A2zJX1Yok8*TEn0I;1}vn{!mD z;#9m2=7`rJ{h7jNt9Al$dL5h*uS5FJ^LlV2kvF{#wusju{V_*tjQ=IS4xWhDA^n%Z z-5f|mK4P?r*Uy~`PHCayQGHcLj0$|5wXOPcK3EVV6H3H`k*K?oAYDVbPqxHZ&{t$$ zantfr^K#=~CN`)G{@txRBapjPbfGDFe_Irc)WOhT>ZdwIog_g~Dv)Z~TW|b8(^uxB>brH9`f5>5Q5H8w(fiw?IEwYLPEq-_ zidwQ=C&CQnf{Ll`Jc3ADY9aP$3o*8$Kd1y`{jieV{M3Vg#7E+(CH_Bz6VYR6h-!!i zDXe^|IdKX)P0T~dueIh0KsjiyR@XNEEK|!nq{Q&rm6tDiqKEzK;E)o}wa=R0YF;V2 zh_X4ooU3-cnoJXEKf)wnJj&JC-&QVx(-XRtv$Qw?<;cAa{L+JaHa~cvdBFO_g;&8p z(#9`iAdO~IYe3Ma1aH#K9Nn3!eYCA*rw-~lI9aOy&o|aDKlDDFHHOPbh;lQc>1Z%8 zB#;26fV)Lt1xTB})zZrRD8uc~9FHSJf4@;QL5pBCXcF0Q+W+dHIjeL{CuGI>pyuo1Nl(2utipRn-W`xxG3vqiS$7C5U#>78m+?YvW`6`i84q!E_0elBYEW4aCImWE z5K}avsK*VEc+$Ux^lu?56nn7(1V%fuR*2U7ttok2LvR#D`RT+)Q8^^1C`$|JqxSZv z_OKD5eS*8{RX+;kDzF*_G-cs;(5!l+xK#8M;_K_&)tN6@$zpS*^t>8RE+Uv7L zWNdD`JF8i=XQgn(!L&CklQn6-)@GO1CoSW&ODi(&^R`Rt(I136nbq;OD%zzL&cZI) z*KCrz?M|$UF89?#N66cKWIx*N;VZB$wGV8wbFAijtRlUEthR|;QPvEkBv!>lnK!;oos0RY+0HRY^6&R=9;CL5feFOuX`1WY zhw;#t=g)p3( zUs%LZE9%P_DhR%w$}8a zwx)e&T@zvNZECu&t?6%^bxl5)W6S7{d=@onk)0+O|E31*-dUpvGNNvlqKOj(yC;6Q zfgNQ7b|Xq`ft`Hs0)n4~qK|3a(&J-ooo7FGtyk>eBlYf?`UZLR593z0p%a+<_h zaS!^zHCcSI(9>1GXbnd`nd)r$P31jJ`U6Q+AHcg+mIiWREHq*Arz}{=DS;FP6jzX~ zjQlIa+R9!i);MPfVy!>)ZqbLne~J78^?iwg*P2+vFA&*Y%d-#z+TXnL+bg)*BY}W4 zpokas{^PD_n)a=kDmK$-)2qkcqh?_V_3u(OD~+vcVxCx6%{*}d$3+t!{{w?)gX!Q{ zcXXiG_TMSRAJ)+`4;;_x9Vxd!V~*T{qW&X9MXl8ekmXT8quc^ZIzIY@J{q0jqfb-F zA4#b3(f^~5nkBzutR^-CKj3{y^(Nf@kFl0u|Tna|CH-<5<=Fk#E+^!cv$(B})MeGUSfh4%xL zX=$(_(}d@|o_X6)=)OE0t&pSj{Q+%-Ll_s{A* zai30uRmetteMH@vecJ*4OJIeN`dtBoW=k(ulHkW`U)*gOw?!7e9bd?Hg-s*?)cCkmUG@B~J-xArx ziXE9j;!`ES$Ugol-KY5paeT=LDZ$S7We&ZNP4Zhs2||Q0VZBF2}j#} zbE5mr6U{g8Pc%o6%N0J!XO$a!jO@DuC+FyclQc@LtO}*wYOT0RDl!Qn9DDza#;uLvE0I$Z1 zA0f{jrr3xcs+(F0&)5;Wz$767GFVK+HN8cZ4fNI%kmm8y@9bbEKMbm*yc~T8+ z2ukXye;@<*6lws90@?>P(mM0>%>jl<4pbTj5j28hfgS&ldSvX7eAO0$P&HQaJ{4zm zR;ou1*cA}-!5X7-%>0JwTFaXdj|PUQG4>c5ay3+E0LZf*tokXV9nZHJ$Mix~39;W- z7ISe@O4w8MUddyl-o#ZWY60F53DXJ&J9B7P*_5IS?5z+9ng!Mwt1!PiL?urvFJ5Ac z40@q$EcQ$mv^xVX7JE}r?^q=-BZ{qS1d)zLkUgLsJmMqD?}wOOsZ03)1>)^d7&9eu zKlyR)Cw=!ESWtVV0cbZ3LIA>oHs25j5W5hykr1O+$hkZi8NgDf39ksE#2iqIR}M=5 z%D_W#bj{Y_b_~PDYz=OgDa@L$DYu{Yo8b2JP0Q_NmM{K68Eg9Rbj|VNq3J)o{tcz> zCsJdO#8ZOQ{3DJM{sCa0WNiWy7MVVsv1+7c9|%MiqXzBbMSbs&w};LY;+Olo_iVfK zQ1_mJ9-H0^ifi{PdjOdt@bbB8Ra~xgqr_M-d9p}1)cXK6@&{}^q*T@>1+~F~*j$+N z%4n#6D#vvym1S3wT3G%bjHT~hgw|v9%;LDdR<2FXBWYA=bPA4Wi$*xX=3wL&CrG3| zixVVW%@C#|Qxkg&S?*7nNzk;E)CiNfq${+Hq(~}(CWA=Os21<&2oXt(@Xj$(hyfiV zb#Jf8gEzM$fKBKJtXh=;OK#Ew^>HwaIz;GmVof7KAdNNcd1A1upOXKB2_(|02n3aw zo{|jPm{d}@GzN{pKruc+9wl5~>PEoMwiNaFltN5VC%gAh)Tg`mK;^0KeRZ&YhWpjb zhf|os9)Q4(Z=x_LL<{7luF(-e%jk?mA(8|@d<%u#d+hT`A%cdKu*SEnn1Z-u2=ncd%IRnD$Uk|c?ZrFmtWMQ+QT>EvC1;j+D z!XJ-@Y)~UuyQNrX}1z-+E-Bf7K5OS~g4a$|5nQ zMU1wbrRp%}rkwJ=vJr!g#YeJ@0|LK8ycL%tTV>f3F>@)ICd zJne6u>|hzL`26wAvk3{0Wi}n%nnlF-Kq8z$A*m~sG1u^k#nom#;jQ0frPvCOPpdJa zJT?@Z5mYd^1QkCLRERa1KC9UBcqQ@WeyuRn)@Z}jD4Ile2Qo<}3qNvQV|(dsL>!&N zq2(~7ZADy2#`eX;Gr~4?dnm&50{pj2zVHmOO z?T4xjS1yc}@N&`)@@8_5CZ7s{9Dz=_0Zhgm@>O#}N;^|5`?e*C#8)?pIJF zley~R>II|svQ;DGG9K|7Pjn}5cQU}{Xo_m*XC@l_hg|cB!&6SXcR#S-%>Q8e93(k^G4l%1UOJn6$q3@{8dqWZ#oTly+O#y~AdEr$#eUZt(ck-gE7b=qa=6|pY$`i0u!*PM zV6)sKw{ZY~3^3Gx08AqWodGa+qMY6M&x=$5;*JTR@~~c-El=jZl2K^T>Mm{#u74mD z!S_+~5G(n*OwB_0q5HeK+cO%yQ+z~@wV8{zbEL-xbr~JF4T1e>S_aYK@ zTtGYaRtrM!t~e=S0czFWpDzS}l!5t$EB#Vp<1L5$;iakPD$HoK>*S7>^md3Oq)XVy zW0#VSs=|9Q<>OsOJD^TYzn!LoK#0Jkx>BP$EY~?<>YK2-APlBmgm-B`8jd!M)jJ)d z@fT)Aw&tl9W$WOEp$8CG!l8b7tRMh9z{qx0eNz0C$~Yfq6D%Y~1GqX(0qUQ3bXU8~ zfvdP*WJHeM>~Lp1L=D?g$itSMX?O|v<>))kX@CM-Y?Is$khG#S!1;3@AS~(udaKH2 zfEu+1sANtrQA`8${p_K0IbXrWXSc4gU`QfQV< zvi6SWO_K0p!tTIggu#nDHE4&-*rS(GYhPhg_)t)Hr%>Su>OSMs#KuvEQsFSZZ~&^? z2bMdh{a8#iG!I*9i+J!CMLdjcSd$_L=R#B;{g#)7Xh{BR(yl;E1?<~vIXOoO(ghHEk zI*f3ZNb5`nJ=@^vpg=GUYiAsun-DFQ) z3O;*Qin7R^>CN51lnx<>@NuU8M*o;6KCAj^P81EgMOG@7Nmut3 zZ`6_1OuDz9eOR9j&*rm=gPcfN7q>A1?+OHk>n3}=L9njhFu5dr;!@OF$RqON`hbM9x1v-dbvQ1sv?<<%M z--vAu_*vB_WgUC6Yc$Nxs5AqL&G*Lxft&SuQUWZc5T!bU73}H?!GcoJ75JCWY3%6g zQn1OZiXWUxwll9dZ(tAguFC2>W{9s&&JSC>ZNRLcLrp7iq-rrg_)b?$FxfjjWAp9{ zz~#VpeJ67(fDrY>7^?F%qSCUCpG(<}M>=M!fUE31HD1RZDbNy{S3E<%~H}2;2s;9VM#3)EBsoS$j8D z^j0Ib+^t5843E>EMqk_kGPEom%UWB% zWA9QyU$Kvwhaf|IG5eI3j0}^VkRduP-1spIu+udzO89&<4%sx6(DO7X>y7@h^zJ*q zAbJ=35V;~T@p;j`AC>N%`>U^e(>S`y^?BV}e;On33#EJC38TxTd|vlHuX~@@y)x5g z75DSHm&nRCy7%~YKCeVciqLT-f0xCF+xok#e^=q~cW)2V_ghei_Ezd=@OR(QMgmlD zgXAiF9UIwYeQ)k_ouxtVXTuBj{TdH8yT5Oh_f@jrKYM#%9i69uK#}Xr@d4qbrjGhC zY0jQCCr6(0`~h6W3Z9o7)nijfHJX29)>DueM_>Q(i z%bJ=d7~1ZH=0L(7kVC=Fon`%*aIH!i=j71g=5)Pl4E@PcwI~?41d+hk$5>uZtdFuf zFt+haUdwK*9)9CWyuNiM784j6Ur2_t{0LH?j^+v+D5--(UhFPSy%}Zdh5I2lhOkal z2wyJ6P2fT>G%lKx%XD{)Qy`){xMll_hi$Jehr@nw6mdL16UwA$#4!=WBG$_@<{XG)zJeRT%@>MbnzBdV zXM6KH!YQR|x?Zz3j$n$F4onn4)76`FeqIPx69AR+){)>CLz`(J69zgwECLBji0(Zo($#)8A;oay{Z7& z^gQ=N)X#IjvdU2p+i?FE+@!nbi(}HA_$z7BrCxtAOgd&%pEv1jik-blcaQbfhW0#R zA%571p2m6Jq#Xd4jbu;$2Lh?BFVyixpc{Hn|*J&Jf0eCQo+AwR0|z z4VDE>o;bfFl6~SW4vy1L7F4aHF$-bNEVPp+?E_Dqoc3ec`U_Lfh|VgziytOWdhO)N zpq)I?QD5_#Cs7$DPn-!|FnKcj5PwZMMzc>53|Mb?kzP8KCQqXAm^?XMJ*uaHFBadN~)e{+O<6@H4l1arKgtW z0TnIN8PA11oHn?qkFwUAC2TsAe7^n+%jbB)T0t!v6&aAp#o9U|GvW}oaVy%RNLXAv z`k5SXDvy(ogdL^&G?$UG7MZdsxJB+~lrqQps66hWZ7o5qcXI@t^ToKq_Rzyv^HrEr zprq)mmtLeZN3^E3o;`AeQPLN!0+1)JM0tC>LIL3>t$|7RJ#O|iHw?p%1uKUAS|_cS zH*>?&`+@tfepKW%IKT$=Cv-mVwb9nE5@`puE6WXaRn3P`^uYzt5^f8 zkRrqLTTAK@??j@r|CG$Xe`RrHB`;QDee17x|Jxlp3U)7M0(VM`ZSb)%IJ!Z0ttC~Io! z6X2As%h*SQQ2TvysP5vAw=S!+M}bIDy3WwJh`$td%Esb$$5iuj%OTaAI7a&S={C+o zNYWH(evpZeDR~tqN73xr?8?Wtw8;tBV6EHAXL0DXjk``q+k>f3d5HGn7;rS5=9fhW zUP@fHXMX3LQldxQ?GK$bA}Mn*X)16Y%Z5R?B#e)#o`+l36b)azBky+(US&HnWv^x> z++tBv<)b$XH**tKXd6pJ?N^K45vQh6N2`|QW_YxL$U21Kzh?uZtDPMdrN z7U9)RSk#k0V*?c-Ct*?{Y8e~jLWqM?>gP~HMwqbGGq!pO3j#G42!P`*|- zaFw$J2Mv⋙EiMrNOCu0)mB~B(cTOqeVMHPnCFt zH9G?VZ2!~zM;a$r-Ek%X$v73!*O)XB9pluq7$=jY9%q3>WuzLV_Y-MkvAwLRCB+r2 zQFvK(GaUJHQ3BT^jg4_=Y(PrgM4x$ABTQBG9oWRKMq&3NsYDy$__QEEk@gsEY?+ZN zcGCiWEkzL&rJaT)$5ofjQW{9LNwgS>zp$7Oq(ttQ_!m24V;PbS6u0{o-CS)7@({TD zib+|2GFxByYrTAspYFeYt^@SSdcy9UMb`W$PDsS})46JoIWAqXN(kZ72*S%=#pS26 zSKZ1F%Z_ecW}h5WE`l0f&MWyz|25J6qMEAVr5#z`^6f{*bLgwIi z%V$v%Enn>wJ_Kyl<~V>B{m@&c-DD>Op$mfFg0SM}|9~#ki>%g(cR>%NA7I`Vva(Zc z6cw)RcHM1E+>Syc5P>6N$b+FD_w#RIb3yktkSLo;>R=tVr z{wY1|H$4p1zn3{(2NyADVRcFis|_t&W?I0U5iQ)D`cudWWL_7PYOs=5CIY=FY=IN>g?(Wu7CQteT!xVUOVzwqW13to-Ylj9{>cK~E&^JuR>bZPd zebB;^?RuEkJrKYaV>O+Pu9{Qhvs2-KPQ!5S*Rr;lOzcToKF>F!z*g*;P(Us0uP9{T zZzkM{w zp@?Qi-Q05kKW z10R99tB?Ut75#p0d4tI?Q%zqcMP5&hK`Zwk9zG#)Ts_8hiW>0 zq0lP$5C2k3wIA`>AxI-^wI4y2&lqd&v4IgF^|+>BHb^!8rW_!hvV*|KD)18dv3e+)(OXep^SY5iZ&u(5eh18I4(fluR>r9OfFk(i60Ui=J)|Ddg#bv1la;QMBzB# zNdLc{rE}Q7rUiDH(^8^{aQExS>89f3eQhAN#H(lMu*JJfwmAuV z@_i+?V+fc6!BUrpCj$gSn4BCr4)CpQ$SZP?1r_TPLa2>*i~+|zN&a+(ZGkI7Rr;V{ z|93*VU@}Pwo5_8f$y!GfW-<|i*x}5wLo(LzY5WPZvZ69Mbk6Ze19Tr}-kH=kkq+b` zLSvOM9!=FFLZlcMB9I6XUKQtj>n9^w63c=q0$$hvr#L4XLGxf6imS?XPOU=D%JAql z-`a@hp7@grmadAEDj8)%%Utd`d}}ql^~wz5p_c@!d=iRk#rnzE!M;8Q{&o6nL$`Rq zPu=ZDPw-<>uAlm89*pag`~+&{5ua zFZUq;gOJ72JJc1GR;}8yAGm;b*eI)KOD=vtzCaUEfJ{dw(~d8U?na2Ludv@?$@h8v zM~~2ZADs=%2*BvpM`t5~2r=undsg-XdeH1L4eyz5McwcB3oeNMKf<;5xScsG`yIth z*Mfsi-L>u}qYYnX!IzAh7KGTG2EAu@IA9GYbKXSaO6QJ!Y%%uPgt$sE0rw!BC%Jn~OhEbAVF)RWF$^KtUoinJpoo1azFFf| zv&%wH9!(!DRUiHN&JrH=SlDp3u zmE1lb!96k|0s)Z&pBYvl9?GA%zx8$(QD?;X}B_%s= zC-X!(<0SLK4Q#qDAszp=bpqWJtPu6Yp{|IB>LiGeeR2nzcqrO>2|I}&If29E1g6?K zyitB!p0mXTEPX$uXupqb5;Yi2@x-un#a^HY%6C(S->*~905?!x5@oShbTzblm?|Hf zv2w3Sax>Wfn=2ng<#_UgsNB=LncarQKYR&y799n~0C00y`?B9TsG z1@yHO3{IMDfxP7l8nO|9=0QWlS!i4OtSY4RrK@oPMTIKLc^12p4cU_^`# z)>50Y5K{b};aF)}kv4jt&RYOLK4U58*sZJx1b*xDg6#7o$ja<2UD4Ggs)+_}_ z3|FPk)Y;;1Dz_j)0P3hQ1AN2brmtJ_l6*$8Q-?HdLy6{O&ok%!*d4)0`K&UQh&yy! z`zv#f=<7BU0>}_)e;#Pzg22~ANE7BXH$~ddc8@u|;8$|tweycI4A)nd^IrT%mIE8Y z$tHZyhY+13M5lPH{+Z^E$ymbeGNG(PG08mpnAaas35i+<7l^$(hMm{nr{_B?f|Kd| zt9o*tO48w)4L#G|+0wXl=cHcuNB@X-GWdKdkZd;Y<*qmP+2THcT5n*AI5LL);A_Rb zNCMlK^R$k2_~Ns9(Tg)12s=dNowUW^?B?a z1gotr+yWSS^(BNUo%vN9(8M=Pr^TSkk8zNM1H>`T*A_M=!?q5%aP7(LmWntxN{HYn z5$=D(2*>r&UueRDyNOI{x6l$u2RAn{_r7_Vc@9jU*YMVncuk;6>{XmKO!y-u8$eLV zO-fKrUyMzkEG<5{93g!Id_%ZfMJC!zYJ%vB=9Dw2xrWzzlPMg4sQ+L+0pPT)(mE;J z=CrqxTq+p;D-|Ikvq(qKP?2_$rf!9m1+&XCO&K^c>lYm& zVYsaSq2jXh_26(dM>Z;CP&6eAgiAHYn_FG}P1jR!j-pFEP{Gm#=j&aXcz7yfw&C)u zY`=*z+G3K>@ic;19Eg9kJh#4bNm2HOoJG3Lf1;+ce!`)%k_H}Sw}zos=4%_Sicrxh zAoql5bu;MB?wbI%COOZp{49FT@J(PeH318sq4;MrjNgu-r#7I~FF+el&$I!(egWF} zuQP3+dcFW{{HK{Va3;P0ZT!(p8|-nJ=7pf^N}>z0Cc{#()r}DoZTclAn0SYRtW(9V zyQSOel+dfY!ENp9<+_x2{RQa#pG5D^iOBb#JMV4xiPKu=Nt8tJoPJ~gzomwv4d=q&N8gJ7+dxoI69uA%9d(t-)?~&F0ku1x~>9E z@huo{9xQ9uXDO+GMbb>ns-cKHMfP z5iCbak;A2QIy38E& zxFrf})0=Qz&)r-qv^2 zfbvixTcRk$K+T2Cpc} zS^`lT&?;evr^D-&t6vp2z>9MV9w}}42U$u;up5??lBwpJ2?(56COV{*^qr;n4FtaR z-Pj?12~qw(;Qzybf@5jMWr4#e>#!=@BrB)qL?REJDI`2u%q(fjiNgU|Kh#N?yxSYl zgiM#9ut`~0FrJ!(Kc;|=D@-28{i_9j8HnAiWmsptz!yqUR8L5D(1Ze3*fP={HC5Ih zCYk-OXZ~;Tl>asF;Yw#Vd0%2S?N?SHP0VYy33t6_L6>LE_R?AAR_2?=uxr$iZ^=KC zum4-k?M=%&x&5_lonAU^0B;ni(( MBXwE!mFFe=|3o=i6RJ;hc9xdSCL}+tFVV z%`@K@{%0Wqkn_%?k?ki<0>()FjDa$3K@#X0zp3Y>xK&Sl!;IgVzu{bi?l<_YXZ~hk z_8T10Gk>!@`wbS%nZKEz{RRtl8G76aJ)R9X(g_U>IH1bqkn_FzSp{$YIHChrK?gyr zbGK=^8)=RW6=jfce@aKPD*9bIQUxjmL9|L|ol?NQgM@I!^D!et=Khl;`9vb7gWqf-&uX@O&iyh+jgCC;((P-i9a& zUBNQ5#w~Y8Xhs97`j@Diwnh2HITu3c{Y^G9ru}R?V&{BIKQF>L$2_6;*JOJLUqTz* zQPS%emmS4D;V5I*uae4}oZP5RY*r zjWy5ziMO!}DtZ`qhKOs9_Ovbt%^`lSmI02M4T zr9Y&m-hceKqOo`J6FHeQ;q1xCVl8G>UhELyhmFds^Tmmxr>JCNE2_GZ;zk9lMLL@D z5Xj4n950&*Ri84NI#L(e@&${*wm-nqd_M#c6Ec}5Wa^XjF02^#3{VLE!+yXkIUKou zNE6l1+<2+;p)~YTm8mQEJanLb??)MKCUA}(llWTHx|7_-gnB*K%tleKGH2OL!Shj* z6$QtMtMi|B9&lyVN?ehOprRtI_Iu{A^iBKy4u3CT#7EVRSa%`6jKL;b=qZw^>C~KI zfR@7;tMB?nF!PN13WnqEPjshu&&nlh-}z4O{;89nPi31TM#4Xt+W*`5Cm1<2H{%y! zvq6lo5?R2Wk+6bT{Bpa4Gp&`^D=-WUi7i~7k(u1%SXIy@R=XaZwD|jFObMYZWPi0@ zOV@zd{@N&q3s!dLgsq8M&&@9&lUH_(cJ4ZFH*hKHw}WF+#Ouk@Zr%R3|2u9kS~^d+ zpGdcRmv-s)XVdK^OFMP@1L^ifOC#O>$w%VbziykO{?&B5szrN6{myiIRV*I*!(WcV zFODU3A4s=X$BL@w9*wtGD|}wm|1RCW#HzUdV7lF-G^3*a*XeeL;^0O7u5`PkX{Vxo zTe`hOi%eMR^h;6mB~lDU{r&0o-+G~XQGW^o5;(54|JSA{ z*y$rmQBT{wvkEDly6uOH?YOVXU{!Gzfi&?EB;lB!2|+IjCE+WyD>uk8Y*ua*v2vrR zKmIY%n&$3LB*JOP0s;}4iB5*5n3hh0ET@?WA95Y2mxkINPL)o-2+BS8?mcCCI=AkL zrA)`)-b2t$ea2R1i7Ojw$VjsPeS?P=UxI7$6G8<>bf%1S*>=SQL ze1#YQ4&Pea{ZU)DE`bF3Ac0U^#pYQ>{ZJ}Y)c=8c95idNy&G(cvzngdz=3H}&Ce2< zk)O$8n^Go?3Y*Q$#W8NFqFk$QW)?QOR% z#Ud%>?wN*zV%vIKLfD*KK$t;N;d794CruY;Bj;vIE{SPxa5ONW3_(t+deFO$g=^n>*KsQz`r|mQ*S8Vb8-D5E?G=9yn!1o6(yRx?SGwQ z>$edAp|bq&di`?dN`|ylpZN9<$8KyH#K{4UqyLZ}cGRXQskq8Uzn0UP9u+go%xXO1 z_lgcP%Te`ZAY-VcbKjjS%zM%TDh!wU1-I3`LyS{F^GWtbXraoW#Hysx za%_tZ){)f%!B@k>qZ2IjiIE5Db@XUn97ss1@*Bmxy!({O z=A+-pF$*^e`LeqG<&^7N%J(e~*B__zWMhMvM`IW`k9bvwC#BY%NM*u3ekZVSoFSEH z){Dx;5{$Q%OcGEEEruC^2XJuogyiz*xATd1$w#c$BhU(s1Wl1AU1c|1k|@UX0fp#y z+8KsVSM%E@8Rs&{AaB8OBfe_}btUi%`aIYI{Q`)a{^*DR>zJ|7kl@cq${Qx7ArIWR z5S9`O=zTyLG6%{nj1@vmFow>6@f1heo`JsJM$DrHZ&p7MC>(PdTmthDFb`OSNSu@g z1!qMB`SgxAi~6y%sRcCDCxju9W||R%e9A!E#DN5Eg#xDV0``Hde*Kmz`{qO7OKyUy z0vUAmw{zG)>FP9}lWa1{MZ+SE!-oXBEv**FX16}uDo~475y~xzG=uB3ouCw8gz3~1 zLB2NwG!ds@)*;C$%(}!0PqxHqpiPN$VB*X~oQx)jlOJ5)!+u^ z2^JCMu54N(Afw7y84ZoG5oYR*x=4@wz4N6~kDT;Iqn)<36-Co(=lk|+OK**gNe@&) zJ2cQ3hB@yh9ItCpI$2q-FJ$p5P(}zziL*+aRM!dPYb024@cK*GMgyuJLfI=;B#Gn* zFhxCM#C6E#CHIYiN`6e(Vpnx8tWTEtP7`aa83q0b2m(4wZ27x*kRuNdGI=1}FKAvv z=ioN=FE;frHT5s65Or0{d`?(s{U9bHF=Z-+pf^NJ?&YU)gO*UrctpUH=*`m<;Z|Xn zVWl`s{fv5|N$>h8_eocxjvz^u_u7{dQXvv~61L}pIXn(3u22tXC(IGa{lTlyC;U|G z*(M6kC_MU2l@4vHCumcs*rF@%i2IH=FjJiSO6O3rZZK60~PqfuYN6Lj&E*by6pfA&Q7KQEowEF1^j{aq;UVECxE}x6XBHNP16lC zuyifZRW{6EJW~yTL#J=c404Mko`a?>l=TPvb>Sn^FDW(#gJ7q#(67vI$rG-i-%bfz zT3rp?A>*!5NIO$9Zj8b+>D{IsWbqMTTtD|Bq4xC5`Z&7SmX3;^)QxN*-TeREoeP{@ zRekUG;GE+wYKi%n3ojzZWN~ z8mfCa**yx}9>wThPIkWncSkY0myoLGzP?Oi_~=i>8Y1di$vs59T#-lvq;Y-@ z|HFNrtqAaQ!-(G;5+)VejfpCBG;s+kx~Y}t3bI*2YTuB6+tn7i`pIJ~X*}5G*z@`W zL(6N{8%2YY(BU34IkQCKo-5JA?>xi}Qj;2APc+anj1IpWpU{9z431j>Ag zT-oe@@$h3}?FosB78rAltOt>~#vM1;xR`5DNHN!V)?DM2%{9~~o0=EdY~=N1|HUnC zz|a?X!wpGuv;{p!W%ID-$OQs@_Vc>tr9l}D8hs_V2l%5-y98>R4j9=$$mRwfW+*1 zjyBuA!CU{@=n|$o-fF_%b`3g6C7@2a_PpfF$P%C~(i|gO`8dgqt4$;&3QlbX)0bh& z8lH|PcEQ&p9X%-&!uqBD0W(RDk$yb2*yYtdt1W|Zg(yni>UhEho(l6S+G|A)!Nux< zvB-g`A|?!o9C8npXkyY$5Zx-$#o||G=|+q(xyqU+5RmysW-{5R80|=QkugS+r)Srw z8W`vZ1h&;N2%>3gdOtM?=)2^k%5fPVimZkps!|ERY{o=}3LPLdh3!nzK8WodV><)0 zjkND--wo9Xn<6ovf;C=@-*K^w^7ZBRsjv(pHwnwA zh_XdbES4$rza5s*YB$C+TO}iByHmzBSGdLrN>+$vZX6HSyni9CRivAYYv|fqU~(;D zdFJC5WyEqL#L~G5qUb1C5n|aU#)!p`y}{f9zLO9un&X1L1o$cNJ!@26>Xq%<*m5E@ zAyN`z!|9&b81IC!Mi04#Yci@>B4l%qG!#8XVgQuia{t(jS?`4o^Idb)cGX~}Q8*er zvE!%=__Q^z7;^@7kh*M;aHldz#I_9!#JQXY7CLoLxqTYgsJghPm+ z(=oY+Ei`{Fw#K>ayM0y^?cDG*A*z6LB(!0*vWV-{eF=XJV@!|66SegXmu(UgF@;rE z%#8B_w@)iKV9oI@^9^NtJ*PSKQ8|DhhX;wOcT6j_=QHq(bsnM4&}C5+O6}XLR9-B1 z0%P%aPf;R&eVE?oF{6#$wAI>}acAg!B| zB}h?rbijaQlZr2ds60Na43H?tY)w%$NaW8Sra~D?42$>d!uO}#%7t$W3WM_FpwK7- z3eZjkO$`c3%5m4}g{eCZ2X@o{l%NpE%pM#S4a{RuR5lj`5%A19{W|StG4s;1^O6G0 zDGLS&dVC2VDewc*EUYqlF*{G_d-i0(W74}jJqrl7Q78G}29rEIEW?2QFdD2}%5%i= zR)@Di!SnkqH))QIw&!$e$>R(Cs3;J z;MDhAXiM2)wAO?w_vlH3lGLuL6>T_Mt%*{1nt3nhGeXuuM{hs~5DAYm!{fD9Vpvs0 z9n(!6vA&J=KXDs4qbHW3G z*s#l4;UZa}DhOgUt(#a4HI(d_G-*@Lo~*t1nLFT%?tR%)<(fqY>l&o^xy&D{MQ5Y_ z;XJx`{BfUwfreBt*^`}XTlrWt6CDne51e_-GAFybJfch!N{xM<(6Au>M)R~jPf#B7 z0v(iwg+~aO^KFm#ZYDYcCLzOzZ5O*ajQo-ER`beC8%U8q49yoRLzURa!H;vP47uQI zVtYAypS7+qZTF|JzNwTczH}$8JbabZJ_i(pFgc$IsNQ*qiuPU?-RDI2Ai6J(?#9+hXQ8l@FhJf#%fKeb}?2ilO27lIksN0?LIU>;*#R z^ji18Lxk#{4tdKxKvq-Iw#0Y zH0l*~9m}XDv4|7kGXF3041=bce-)=LeSUo80L`Q?FzL;Gv@rE3$|Wu!qoof5{;<)#tBF*(40X?}^`ELL3>DrgEH? zd`tBA|4LJ`KX)aNN6mS-CIyNcF~tY~DtCWD#YQSr`(>_7P)2e50SX+%>@Ws&8w9+oO_ z(C}lR@Smrsz(OHue7QgsOJ`~js40FmgviL^32(J_0Go50>1_PrUcDvdHbo!Q)4_k@ozKoX`U ztnp{Ilmmz|?gw*3o0oWVq%m^O=xm=QtROJ_fxpZNI-L$Z!PaD5cY~^Se=)aAyB}~9 zCusAUS#sBhIKzkG9JF(WgMXY*sX4sUwvp#n+Z8rIioXYbMPjodORa^T>!?Px-F#V> z0hWL6IO8>NMWa9zk|@wXZF9oMEW~)8Z|jh9YH0j4i&}I2)#hmUg5@nJ(wdBj!s460 zhEW_F8A$32Pq^vY?*RDn`NhR8Jo=*G2WX=20B9Gg-DJR%{EPKMm>+OQN%V}6bmH~h z{tvHHpQ*@H`KHzP$O+Z=Q=Oz~Wdb7?Fanu|3@#g*RCUl%cSGbl$;t}g#%O}uPrMSO zk4}K6(w8)hiYBgdHk;jYB=J`VcxVM_ysMyJQn~_Pr&^)pZ;=bH&mmQi>m6DxB7h>6 z2!~7nKVOJU`9vxZ+J|imv2~i2PPyXIaB_A~7K?Cqb|0EO#^$UPv{d|6AQC8{Y$lcH zhqy&M;12PzT2#1WlRmXIw5e$1!HHESqAIz^Rq}XDmDVzi{D~}v{Z4ZPffJWn34S!g zYe-o8u?;scMfT8waP>wc%Ybhm07@u{CXn$Y6|{LE&U{;0blMOQk*2Utswv>E`=A$9 zRaq@wH~JhF>5$ghKV=%E;!UH%8}}OTXBuE6awd@4@x_}jl1a%nDhha}g;BsS2Sn&V zVY&_ z7_TkXfqgG>CWng|6dm0aWaZ8wjIY9X;Wn zDYl^+H~~?+ijOw|cy7VLt*#yjiCkFao+;IkHe@?C0wkpcG5rF;{R0HHZ)cIQaO06Z$c0h!9oka+#ocoU!p4%bWYvkic*Go{U05`f!Z9S=hT zM$n2zP~&(bG(3Q}S~m3gd%#iy9p-gHwyZV5djz2*Q%GILGeupNO`?j+iJ+9Uu%Q(U zxXyQ%BR;3RG}JJ@;ZHe{#tnEhNQB3qD-T-Z&dsTl7MbyrF%^uLXsGshiB43atPD|! zIs;6N5;fxV16!2lJwC8=*fVSnCG+`8Pz8|5EeK1tHlWpB4~+Soz+pGm%BPhsCN`Pv z6BcF~>_E00X*ljYOu9{t}UZ{}D~8jUtceqoC#%h)oFnIiDBUx>(tlrC&jc66wgI%Kk_ zGa`u>2HMNw#KZTV9a0@AX9w=s>e^N6-i9}`HVIiYtwM916vR7IpUPv%Sb{qE_$NR3 zi=Y4K<(b*hlv#cXUxAT@NDDDEBb;ZYuy5MJl&25VP4V;fE&*zOm+XQD!j&vu;m-)` z{$t&N1Ypy7TrkWAUdZ+yjaAz+^UXuI^4%N2LX6D%nswiAF$;s5L)>pArWj9 z&W@znfGK!5d=m9jbBe_Bs#iSz)eMIzR%x;9Y1VjhN4Aza>eq}gF;T?}mDQs_YWz}? zzIfq6@f7)Y++5m2Cjd(j;|WVCqVhClq(VJAE*{QRrj4!hy6{*n9V z{JMi|Q&T-|_~g%cvpBr_=iKi1!q5JK`=cHSaFY`M!&g9X2%r0l>h%N;|G2s@yy4;^ zkFS~c_Z>0sAGE{3DR2V%I`dTA0x@aWzI>`~E2J6;)(5mV1G6yS%@i+;x7sKE(aH*OG zSBEhgJ3ulP4f(}*Mem|)+oy(93A7l{h zxeT)VnvglOf$t_snB{YC;2pRt#CA zm*MnZnZ`X%_C*O{9$}7URnQBnIC={+0vN9D>AdAbFMMW!&_MjL6*%>5#{hIPxFjnLE@J7tu?828 z{}NLM?2*BRdj>4xRtEy{ewj76@C0X-!6g}FWpGIb)iSt9yFs9!lx7_Vf+&BRr*Y(E z)EE0gRE4EEqlP%}B}oBgTMW;!Ek;{Btlb6PF1t%Ivb$uv%Vu~ZINHTlBc@2chMha& z6;eO6*oEV!S?PxoyeKxUsGo74FNC3S>b2fU1*zl7svtAKV=MbHx(SK@GfBi4+t*R+ zIlRB(V*_Bmu@Hc^k<36pW%7%c90hL)j&V3J+jL~yVggMtBagbaj~45IEj`h$5hG?y zSnmcb@y_ie3sd3GO&61PLwGX0-x${zSJUTKGfK_$RKuq6Z}U3LlQosukuf^h^GUZ# z3)FI#6$m0c7hREVkv0>OFHRdNw>o@E*qR8ctl-Q9Hu|TLM`Olpa)9#KEWFkBAM-RL zPJ~{(2jx9TGIkQ>d5z}_#KVXp(j<`K;W7@d#9qK5v6Qe{-)r&3O&EUB8_{m$e~1Eu zAUdHWMyG}yh0sz%9^#jtUb3pCmtOo5B7$q6eTkG~vt!`E@@`)y;+JA^p%^aNlkrP9 zIJ>s(OAeLVP;0*hW4hG98C7nU_Jj1y6j6*UJT=IM@4frsXPi=a@RmcFJ{@FkmnSod z%uI~L4n(ROjG!o7Y5~E{3DzmCFc6svoJ}HCo8)`JM6g2u*pa=VE=-*ubqUZ;(WcngvYGzt_!UVE zl3`LXXxfS!hshu-2ZBTcvX{6n(?CuYFM~{V?}5Lu1x{^`unJumqlPE&MO(KS!1yb; zkqKurdl88@90&mzuK=(DHiXrJ(v>qj8khdDD%?t;7)MA3ZD$_9Wi`vR2pFTN?)Ff4 zruRYBiv##5B`tMEJ(-rYX@87XE_KG-IQ*Ikzg7Wep9ER41NzQ!|#f_}u-X@jD+O32NBtuxUX{hl+g51yF;O9u5lpD-$5dYMFop8Jhr(JRyNUIe`vWs4M|At}H>H6|09+=m5Q|2QC%4$ABASqcNAuv*#$%{xc)<{R&%*aqE z8ArhwuuC$#4tC=a$kiB0pgGHNhZq?`^x%9lb&pX5Y4?eygFWgf-p^!!4_^LKfE zC3^o2o_`UsjAXk9g9sn~sn}#QPg-c$OzBB|55CP~9`GnWx!XL6d+abzi+Q@nJe|(d zrRGUX5F2$8)3KGujZ)=yF~hdoNVmx~3EPfu9C^cb*xJ<&Tf0`*ZSCS`8%24b1)?dq zIU0fjbcN2imI5{dEMv(^qW+BoOYMr=^@T43R3qy~ zf+p=TQYOtK9)UG#9<~XdWdywu3BU-NjI#tyA*L`+K}e7rxLQ$=Nb)aQoitjF#L}tO zCbJFDZ)^;9-IImMhftf5dp(F9!!G*@#;2KEXoIt6Z0y$89{S$%Gp@0rKlxVERY=q< zB^q}TV8vRd8AD z|J}cT#{!Z_8=0ykMvwz`>Ez$u`kC*|QbN{trl^sRlF*f#-t}>4Nchm-AJ&oKPjZWl zzJeHnMg%dnThQW84nX;WGYFBMqF6+ZKEMT}24AO%=8N65(+>d|38!wN(DenU-+XLF zLl}B0dg9O+F02;a`LtuyLUZV+@L069z>3+b@H!_GnM2O12a8x>{nV(G6iRB9YKr zEzM1l2hl+Z#mg!ZHp|eKy)~^v*v}3{z3p5iA%~34Lr&(zZA`sPA1t*J*ATnpudVqs zVUrj{VSRR=NJ@eQqzf^1FG8_)>odZXi#+2hB52SF9TiJru7{awQsI&x$;*)p78EpX zpKYO8CWE;P25L~Gec`_)eFYW_xsz#xPMYB}PHdd%tW!1O#jR+WOg*+7n1)q!%#;B# zBRW?q=nB-6QWZGrn0GUkq~Uw4zv7o3w}`sX1mn6)E0BFR*^ZDq0mS)Ix3TR24ovo@ z^OB~6%66DKEb!cV&jLCIVTz_#fY5OvEEtJn%)uHXaLFj6CrK_7!DZl-h8H zBI)~a7s}w0kxR?b&Xf=`Z|9=~83<|U!D`Ay{s%t7E`10J zfE(rnvNHvfTq?~DMx~V_`+{3G2-vka#FiTJY9S_)@o26&A(y*3Ay>_hPROnFm6PRm z{PQ&mRh;Cj&)2}sd8;p_7@C{FF+t!pqxvDy@=6*XwkETBX>XeS^P?}hkEQWi zHWZY+vW7Gm{T1QxVt8r7YfPy9h`#he5mh0w7kVj1vJm~zIf?psD|K*E6RF{`9Z<9c-jxJlC0I!Bmh zorc+8G&Y&Ndw{65$s8v#b~>Iir)7sz*XWWJJSiXscZFon@grs}?M?BLNf zAFQ+YJ>kL8L_eooAu=(X;^E4qz9}DP%F8KTVz+tFH_`Z7Af89Yb&;t(24z`)>ZvZp6h}qy|3_?N^xT(o) zK%f+TPjo8p6n<-yEY`8iWH~kM`Il~* zImTiwNkF1roxX6EjYGlSFu5;#CUJIMt8NXCYBDrqVw2|`%08WTr^_CP{#b3CRciqV z2tfLVny`V^8S{F>bYzBxX#$0#!DB{i+yMF>PQY@kxmggep8+_HFPs&9CnnS5CLZz_ z6OYML#L{aeCRwBPsYyIKF#Ix`>qfyr`!A@r^anQ$-*eevsTY}`dYQxSMQ9{1(9T$% zqu++)L-MSt<Llxx=C(zIO?!8fGmGiOZ(K^cZ~{D^)g!q4rBy^37*L`vQP#-NQ_+ z&|$TpUR;HT1iG8)g>^EP9AD3A2-uU&NI|l7F0w2M<|7Zp`@|z3^U))lCQ3&KlL>V( z&C&8is|bWEk|!}o@r)4b@%+zvX04Qo!gud@q1p|#+lQXTC-ESX;xr*I=V_g*1^@{) zpo^FzoGf_Y8L@i2nWhP{O-}P&-vMT}tyNRB)tE4+$xXoZXlc1ccn6eQN~_B~pw*Dl zAU&zk%^b38Ry@7oeU;7=uhaOfR4Q3{K%3YK$m6&bQ0OEppp;Cc(o`^`Pb@)Fb)8+Z z)pxQOSWpDEaNEnVNnIauqLs#Daw7VeeL3T_7+g%SRO9nBFG7)Mvg z8BIZGl2FqOI441}HY61ESnT*Vm6&?+|+W-9;2Q-o%GV2piDz#%3wa~o6*{#s)Yp9Tx1Wk#K#&z z6)-ad!;i@x2&Tm(u)!|sBi72+$O1iPkiE>poB8YtqYWzK;o%5OJ>)Hnc`W=SyOlo=<>0>K)W?@6J13solmW9}UJ2kXJ2f$*UO zeAU2LW=!#$YFRU>Pp)z5tNFS?{8*0OT3bU)6QZ@?Y$|+CRu%b6q{3P}eS}I;?usmu z=b|ieQ`89IrRzA3mc`QHblkrfEAL`P%Gpxn@9M3^+FG!P$0OLU728bxhR=m}vQ7mo zeAtXH8UO&l`UMbp{imaO#GDE?UQk>ez=wHoL}) z8t0ZrP;|&T%Y<3n0kz7=ejz?*cb<8|b0%ru$v41KEn|KGXSD98)F`_k1y3zxG2Xrk zup`_CzUW~accZVvB@k2=86nbY}L&ttlN2_b56}SuWo>I#-%9eZ_ z6RF2E3$1;WR+LKs`V-oy5%HiB6$z|Ol&LNcNk~8h07!-1c9yV556lOU(Eji)?Zc93 zs$yS-fjhJvP`~D8|HLcroOcimr}Ua+JF8g?_am>#c+d>hHZp0w!(af2e~HJW1`Bsd zAaKkEJEraNeI|`xnFQd;mA#I?7Ax3oW*pL(PRM#+T}&@})}1mkOGJt7|3R$m*(%TaS>2Lf}k>@TrHUfDiLN zgm6^mF>;U^060kmB^Fq*?#<>_u`x{=I&Z9>6c!2VF~m-^@r`L|yD<%WPI+S*Pjt%q z8L=a6F;QvxNjVf{ylvVYbrsCnDr$+ndJ=FyCfK+%rD7f$Bdj9tog%WHsb5|yWZaDa za3NDw4WR<2o6rk>;_8;PCkz^mSLTR%5X2A;vv2@~H^vUeAp0>_n?OD09^)no;)ws_ zl>%<~Mz(`6MC4mW6B)w9mjDcgF)flPEszhLi-g;T3(BdcKi&@{e3kx1+nh)~FjfF) znW}_b8&k-{YIM{e-;f-1Q#X;sX9aX@Z2GMYkgoVKbyI_^|L&ULwua124O(RI^_;rt z#)jmY;J0sVz(QRJyorSo6><_y=yWm&v8;`QR=YG$bndXri?J16a|l*i-lI|<2W{{k9eyH8@OIM zQyc~ir?r6$I4Y`Fs?!?~{hJnxfS`ng;w zt~6JMtBR{Ku9|R`OJ&t^P2-x*rTUq71-cN2Hz8z}86<@!tc;z)j^ zzyHGA;5rM2%k!n7!eA-iog3U9LB?4{9@V?ituu9(@`FA3A|-@^*=7I{=PJL5VRB{f z;Bd?Gj$qNEU|H~P@~e&aa8GcrOw`sIEP90Z>PH;kG*T)y^%uHx{Y~Au;;uqdF~5t- ziU*oX#qOqEy~Ddlx*EF+1It?S-Q8`=SFP&lT9xnaSiYjEyHFa~pDPV4D-HK7YiVq5 zY&Kc)Hw+bu!==Vz$@waET}NGgTyweN@OvhO|92F=u+U4V2MYtafx^h(Fley7j0T;Z zrD5=+v$Nd&xc=?b-`P2QU?^Ye?7SpjD&=6estO{&zSh=$F^c6RO^$rle$^s(bPMd{_{#=|$U*~NTmq<@%($Ma^peKX#2@{!`) z<76YXL8Z=4(wV38kCXB@tDviQFsDwgG51MjMzCHtxNjeX}G(oy?sS{ zzPW2gmemy7TSbP5r%HMe1zI^@ENEl|aMZ z!Ck^6$2plx^HDfGlj{_&SzNhbZEtC)KX)ML9T@7*599|y6DUql%ny$g2lG8aZZOCf zi-lq^0vQ_0cMs=#`VTl~ChDAv$-k4yula3~6#9hFJ;MLqt`QXjYV^^DZn{z!=*kWD zy-Gf{;b+`6*Z-co=KlA&t9{>z;@6NCAav0NP37SNRIZ27QeT>qwv4l*`!-t%$&2}( ze1CqI2w|~%yCHeG;X<*eG&~*{VUE}|?&!Tw9!Pvw3!z@n_~{(P=ziFg^wl%d$rM`^V|(MJY=YJGcwhi?|Ec)1&w628M);@vVritiTco3Zf9^nO+ejDP z+LbH8ss?(8yTHdj7~WvXGBXjW8+PY=ckLb??j6W?@6N&0dV59&`vwd92ZMdNVlVV0 z*s)`25F=dR%t~9jyokHnKG0h#fmp%L-h6)#Y1i^zJZ2kr@u!}Vq5j@(pcSXkyQqvf zO(oBoO*}-rAB5jQHz66Fog;($i@Bl2OLhdz2d2S}b;aTi+6N?@IiwG`gew|Ll_k8^ zC0ad?Yd%-ZKVruFGHnq5IMLbNT`1oB4}ea69=0$4!yIP|SBL>49J6Ch7iLZS?NakuI9Q-ZU+GwJmP(gtr@Mr+pE%jv7sSxT`+lit4QA zYT!C?*}-DdGGx0Ik=W2f!+Y`;2Qt+b2L@FKSH<`bfY`lE+lff9HA049|L*)?z%=L{ z>4yt2y$U14LnFgM*T~MD`C`zYAKW#(+lkBnUCI`XtSJ8&{35zCzBJNhMBj<^lO`_H z2Wi_Ug-@>tCx~BC5w0gJc`eR=)}(la#pmMq#!2xCFRqARMp*MVPQQY1W%(gt@w+&F zE#XCz!jfs@_zlEMK90lJ5ElN%;hlsl`*QJ88SYkBJr7LRc zoGU8ox|g~t`~EQD%C>%naAjZrlCZ)12p^xF6#mYn{LfE{e_>Mm-%X1Dhe`2l(wtD= zFDJzxofJPdDL&~<%%34#**|uwPbi;tZ4>|I(DGbQZV2*PYRV6e4CKY=HJhKQwK_mE z;~?0cXkAlDg>Rue@lw$w&9O7M&g42#neg0c6JYhpp7~V~`AjbucM&g0w!1>dyOt6f*_;IDc5XW6Z+*IXX+$i3pJXpdF8%HE+$HJS!DaayFeDIVG$JWYGOw6!n^rXjmrE}u>Hej0H&tXYk2D8=QER&Lh;_Yc z15K&OTWSohCM2ZFQ4usF<>18*1HbD?jyvcar5;bT9LO^Lf62Yc*HM zWhLa{LLulE?g%8Z!^EZ|u&N?pSyH|Sp7l6&h?gBNKWI@Hgjd1TZ5fp>D#|%ZIrAvT z)U$hJAU8;ciuhoTttT?lUQs9*95>>=kYsmmXed7j76|zK&oOm&F`{N*uezjhHTgB4 zW0+JyTqL8!;WMLfH2ufb+3`vGMpZcXQ-^3_T;}SiOhbo_v==N#0A%L&AVPp+W!wqS zW>+4+@s#-rWow+`vM-p_{vDIT+oSNCN%z-Ke@yo;(|5Nm!uWvpKRHBiFma&j<2+AW#(JU)>PK2_2dx-=nA-^ z{8L%0-pDjn=rbsURzrOdU+1^DOM+7!v4v^_&u==C48Wj^2SAa_St5g%4Y6D$mL%58 z`d(^*mFyp(J=apd##QZ#QnQl4vRD8|R^m7_@vY=rz&*|Pa+-{njQt;UKqWwuF6Kj&|xE%DfG;`t&jNqV+sLl=9k-G%ba zydDqQC8@!}cI@lBv0K_|BOQ5Uuq>#=IcJ|{@%K#bnt5%}eLZ(s{x9J!>yxO(Z9J=8 zq8@ig&k=R8)e?6=Pulc8d!dRnD;98S?>C+v35d6bSH!4IM4B37NZl#CA8t5 z{IWeIL?^RY+T7UM*kV_=uzwE}dPH)<=e_{B_~!fyaxpdG+o|Pb$9a`zy`5%#i^~{Q zPIwXb_|5CdH?d$=>dp;WtL!}s>zpp?JA+FGyf`eSatW7yZ`l4VfMIw3h9KN_;igSk z@32y{9#@PN{J6{yQ`Wx~*y&dUb;lVB>YTSx*Xdk>V@3OqA=h!*cag4vD-Ivzc`4WY zdW%9AZQHs9Nk-BO^5#G;$n8`QC7T+Pr4f@Q)F3$LibX3^4&;U!%NZqRn|1Hf5K?)d zHIjY_|7CDdcDYO|bsMFe8j<^uSV!QoT0=xq-rd{1+o&2wZdbLY8mT0aurIa6=uJHm zgwdFmbu@16+9MHMh6@olL^JFqh|4U-#*}{qfe>ZON<@YdmZM}Sh?8Lo>_SqGgBG7) zZ_o*3r^a=W`NhiH#~Y>m-8H>g_#(o0|Q-@$k6TFDYdzgJf~ZOSPys2&jIcd zEZ4;do4=uq$7ZP@7ql(w>Xo`Vkkc|PI@)dIIlH1RSqKBdPw-v})#S2cL(s8nNfwu- zw3=lHvkGBUrW5B5ud@y|`wVNec!D-+k*dDoEvKJx=Ay+*&N_SPvgVfMD_U2!wRfyq z9j>`>?Yi|FHg3A;;?0+Ax%9Hjw_S1NRoA@r+Us`Yy1IMvyLaNr%|)ttSwvFTq|LSxf-X(v+BiR2ltaoP5NUH-G1Q%=O|P4A(#bPVnPqd$o^$HldGi;XwlFXwITj7&*fId46m~?% z#u(GibIu(bJMa7pY{vh1e@)9RdeW8iq7F=e&p32|i%n1oofyw8()`DRz?kD|a;o>` zVXVN83B8{?&-QN|HzxMJb>)A^{*QMzYJSb6UXS2{BGTb5b}vDZRp#>1zqga2DsU znG`=g3Xi*~jLVpbCM%`Jd1IHIIDAf&x4hzFtQ4>BPOzFX91(9 zZW|rkH78QEGs!)t6&*Yf%}Sv0oP0x{=VPnhIWR1k{8!4>yuFgLRmYNJQ_{f5QnDl{ z?JkVqri!+F?s=jz!D8$JJ95K20(`F-Wa(Nrn3t4Qx4h0+i2ji}W)uD{cj4pTME&_N z2rJENJ?oe99xx_EmIW0x~wZl+w-Q5iolDLhEHz%|4b>2Ukw z?#QXdER@OUVgj;WM5(lrRvKW~WRKWsx*1q!2;-|#k*Z%V5>uz@jeOF2df7}dSxb&= zFxHqM`k-ZLv+8NrMI&9h(K)cf&h6h|PB{DMuYQ94ey%4O7yayD;Tb6c(j|8eJYbD| zih*TZ&4RVUHX(0ty`g??&P&`ie^quoPB-wpgJs0H`~|JHtx6Nms{=g0gX^7K0lygC z%I?76WmDHkZ$CP__Ks|(jDWP_5%pYgxS40wAH1`AY4y?|cxUjg;9ZNW7cX5>eO+an zZY0gyrmTcfqx{cM{yfrX?rM3e`G)4^=9cE=%`2K)n^!isHMci+G_PuDZfR**-m;>l zwPj^XTT6RON6V_^&C6SsFJHc5dF%3(%iET>FYj2sYDM#kmKDoatXR>yV&#gq740iJ zR;+4mZf$8@-nyc-wRL4{TWfo3N9(GU%`010E?>D~W$Vh7E8AAKuk2X4s;#-LrEPiJ zini9am2GWp?QI=xtJ<5}TiTbiaiX<-WqVtDdwWOws*dK4mX75eD>_;`R(7;?w0CrL ztXf4AS5f^cie5#wRlLfTpvuOpXeV|?&2LK|Ux_i8PA0P~<2*qg zwf`@mE>UfBfaI{Mny>?}Zy(cO&7iG(EEw}>>vH{SN{Czuf6aiCs8}i z#CD#uZvCc<-rkcx^ns7w`)5yot#-x|UTwPiy6fN0exEx&@CmYf`Om)p!jF#B&RDmp zCqH`V51;tL7r*(fBR{?Mx8C>QLtpsfm;dzXuYLPF8}IoafAN*4zqV=1)~nz8_U-R^ z|DB)t+~>deCtvx~Z_SuB`?~9Y`K#B)MhEtO@B7mh4i@Gw*#54YKK0-@g2fZ+`d4Pk&J?-8nq+yJt2wef-hSfALSh_O0)KWc7#cX})ve zUw-51u`OG#y)K=ZUbm>}$3Gb?w4Zmunss-5VB4;dr~d4juRr_OFTOVB1lt>K`F`S- zwV8Q|)Qp3VOdI`!HG9f!cPE>Y=cK)9bE-za&@fyx`d4#nlA~kE z(eKy%>|VdU>frS=M<36O{;y>9oOAr@R7YlgrY1FjFuG5X%r zA3RtyJJIq$;^4Q>OxGlnqYu>`{6*Rg&Pow`M`H8~{ycwrt&?(HI_D+RX)lwh@~V?r zZ(5?xo#CC7JbA`U_Y`locWUkYFRUN-`RWT?-aIw@y9>8w(FInV;}iwW7DF=SKfR71OMg0k3amWKYHTHRJP`n z1)UeHyX>KlfAuf!PoFxs;f(Vyc=6?*jD7hliQp|~oVj>KN9V?iHeb38vo}b$qdUK| zuXMw^Zhr5BpM3PO!_R#B(ZRw8-`?=fq@P&k@ATcK#?f0A_$|}tCr+UIp?ff<#%VQnrHDnig`(Qbw}djWK*I#U6o!PEK1Z= zwfUXNx#>hr`qEA9D{5Dy8#C1h&%Aug;>=mI=AJo!=Ip91RIs-8)O2-fV`fp+NcMv8 ztkgNl>eOW^H(BQ=N8i_V+Qv-v=tFOBSeLC%)t=m$s%~4Fm_7R6&+XY(v$3jr{knM@ zGuvu69ZavUUf^%o)b3BqRHs&@s}HuFI{JBc`tsUaKe}@yJNo2%H+R<_YP$35w`_Re zzu&SdeOBW7)S1=ms~0CvzU8s&@)svorDv=b4t(g<%%Q(JtLpb&Jh)<+KO>Pjc>8-2 zeaTwCDqZ(GJ2q4epF8@?>QZLtl=Y(@nOSpn)v2TJKDfdEtu@n6Idtj5(dW+|{pK=% zZo)gbdf|-DqK&Z6G|^LYRrTnnI~LR~ zO;myRsnL(z`YfHU^@nTTnr0SFuSs;!nZ=ogEeEftImJ)<>8b^OHkqofPGz8~qyOuS z>O-mH66}a@ZMQt~h)(&*JHE_;Q}l=aMI+^hcw6l$8*c8GC!S zj|^=eE*QmQJJQBP8EKTfj*s(6B4DfK4(Dwr-|w6>J6Ko~>{$4drT3qGR&%hl@X&Kh zy@z)!JMEu$G&-*ZZTF4sX#2JMe4ATc-+p@S^X-2yEw`#^&I7BO=Rd#U=cmHAm)`rt1D85q%UzcL`U96a->$#hdG7gb&Clnq{PYhVxayggp1&$^2CqKij$Mr+ zlXjLNoOt|mH)fkpsdMuXHqUbtZ*fnXcU`u#s>+>{aI2sL$+P`)GiS|lgLX0`G7zwI zwYR|SRQ5!MB-P$r*Yj3EFcKaF(>=}e-K@e%61X$HS&$P_Q+CEp`_ zr&I>dO{6(oO{JXW0`D~bt>z$yjO%5qT*$aP;x)MY{DfEK zru^>!1X`O`iC!jE?YYehTN2HLlkQ>;SqkW+>vs@IM!z%TdH48kt(#VbzW0^Yj{Bv0 z$G^kf5jd${&q=t|fp@6~$EWS5dP(;~-rSRF-7_<%W*hxx`sR6y+zWxc$3YSqx5-^W zshnm+zt8eA?vDjF7eT6y-2#;I1NT2A9iLt%7W)bJ_bK1;KAdeyywh!)zJy*@`z@51 zcF*%qPr8}&IY*_niW%l^=U_h<7~JprnNti@U3Zo{E$t`2lu<`!3!;pZQn}vW)27BLzpt7l=A#WfbDPuyX#&)i-u6jJ5p2t zyumb8<v_q>FY g9!NVoMvqvRL&;>4?c!@2x@8+z9oOHXtD;Z-AGkoF)&Kwi diff --git a/packages/proto-build/src/main.rs-- b/packages/proto-build/src/main.rs-- deleted file mode 100644 index 17dff5b9..00000000 --- a/packages/proto-build/src/main.rs-- +++ /dev/null @@ -1,76 +0,0 @@ -//! Build Osmosis proto files. This build script clones the CosmosSDK and Osmosis version -//! specified in the COSMOS_SDK_REV and OSMOSIS_REV constant respectively and then -//! uses that to build the required proto files for further compilation. -//! This is based on the proto-compiler code in github.com/informalsystems/ibc-rs - -use std::{env, path::PathBuf}; - -use proto_build::{ - code_generator::{CodeGenerator, CosmosProject}, - git, -}; - -/// The Cosmos SDK commit or tag to be cloned and used to build the proto files -const COSMOS_SDK_REV: &str = "origin/osmosis-main"; - -/// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v15.0.0-rc3"; - -// All paths must end with a / and either be absolute or include a ./ to reference the current -// working directory. - -/// The directory generated cosmos-sdk proto files go into in this repo -const OUT_DIR: &str = "../osmosis-std/src/types/"; -/// Directory where the cosmos-sdk submodule is located -const COSMOS_SDK_DIR: &str = "../../dependencies/cosmos-sdk/"; -/// Directory where the osmosis submodule is located -const OSMOSIS_DIR: &str = "../../dependencies/osmosis/"; - -/// A temporary directory for proto building -const TMP_BUILD_DIR: &str = "/tmp/tmp-protobuf/"; - -pub fn generate() { - let args: Vec = env::args().collect(); - if args.iter().any(|arg| arg == "--update-deps") { - git::update_submodule(COSMOS_SDK_DIR, COSMOS_SDK_REV); - git::update_submodule(OSMOSIS_DIR, OSMOSIS_REV); - } - - let tmp_build_dir: PathBuf = TMP_BUILD_DIR.parse().unwrap(); - let out_dir: PathBuf = OUT_DIR.parse().unwrap(); - - let osmosis_project = CosmosProject { - name: "osmosis".to_string(), - version: OSMOSIS_REV.to_string(), - project_dir: OSMOSIS_DIR.to_string(), - include_mods: vec![], - }; - let cosmos_project = CosmosProject { - name: "cosmos".to_string(), - version: COSMOS_SDK_REV.to_string(), - project_dir: COSMOS_SDK_DIR.to_string(), - include_mods: vec![ - "auth".to_string(), - "authz".to_string(), - "bank".to_string(), - "base".to_string(), - "staking/v1beta1/genesis.proto".to_string(), - "staking/v1beta1/staking.proto".to_string(), - "staking/v1beta1/tx.proto".to_string(), - ], - }; - - let osmosis_code_generator = CodeGenerator::new( - out_dir, - tmp_build_dir, - osmosis_project, - vec![cosmos_project], - ); - - osmosis_code_generator.generate(); -} - -fn main() { - pretty_env_logger::init(); - generate(); -} From 61b0879aae1e5dff39f5283ac7040c0fdd2c1bfb Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 10 Apr 2023 16:38:02 +0700 Subject: [PATCH 131/142] update v0.15.1 --- .gitignore | 1 - dependencies/osmosis | 2 +- packages/osmosis-std-derive/Cargo.toml | 2 +- packages/osmosis-std/Cargo.toml | 4 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../osmosis/concentratedliquidity/mod.rs | 24 - .../osmosis/concentratedliquidity/v1beta1.rs | 1099 ----------------- .../src/types/osmosis/cosmwasmpool/mod.rs | 1 - .../src/types/osmosis/cosmwasmpool/v1beta1.rs | 154 --- .../gamm/poolmodels/balancer/v1beta1.rs | 46 - .../gamm/poolmodels/stableswap/v1beta1.rs | 3 - .../src/types/osmosis/gamm/v1beta1.rs | 114 -- .../osmosis-std/src/types/osmosis/gamm/v2.rs | 9 +- packages/osmosis-std/src/types/osmosis/mod.rs | 2 - .../src/types/osmosis/poolmanager/v1beta1.rs | 256 +--- .../src/types/osmosis/superfluid/mod.rs | 52 - .../src/types/osmosis/tokenfactory/v1beta1.rs | 120 -- packages/proto-build/src/main.rs | 4 +- tests/osmosis-std-cosmwasm-test/Cargo.toml | 2 +- .../tests/helpers.rs | 2 +- .../tests/integration_test.rs | 13 +- 21 files changed, 29 insertions(+), 1883 deletions(-) delete mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs diff --git a/.gitignore b/.gitignore index 1c1f6d8e..6da60af9 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ debug/ target/ artifacts/ -!packages/osmosis-testing/libosmosistesting/artifacts # Remove Cargo.lock from gitignore if creating an executable, leave it for libraries # More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html diff --git a/dependencies/osmosis b/dependencies/osmosis index 087a97b2..ff18d824 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 087a97b2976b989f94ab52000a64377c0bcf1a79 +Subproject commit ff18d8244fcda7313ec951fb1b3bee8369b8316b diff --git a/packages/osmosis-std-derive/Cargo.toml b/packages/osmosis-std-derive/Cargo.toml index e5a95436..929f17c6 100644 --- a/packages/osmosis-std-derive/Cargo.toml +++ b/packages/osmosis-std-derive/Cargo.toml @@ -3,7 +3,7 @@ description = "Procedural macro for osmosis-std" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-std-derive" -version = "0.13.2" +version = "0.15.1" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/osmosis-std/Cargo.toml b/packages/osmosis-std/Cargo.toml index ba8995a1..ec905ab2 100644 --- a/packages/osmosis-std/Cargo.toml +++ b/packages/osmosis-std/Cargo.toml @@ -3,14 +3,14 @@ description = "Standard library for Osmosis with CosmWasm support included" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-std" -version = "0.13.2" +version = "0.15.1" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] chrono = {version = "0.4.22", default-features = false} cosmwasm-std = {version = "1.1.2", features = ["stargate"]} -osmosis-std-derive = {version = "0.13.2", path = "../osmosis-std-derive"} +osmosis-std-derive = {version = "0.15.1", path = "../osmosis-std-derive"} prost = {version = "0.11.0", default-features = false, features = ["prost-derive"]} prost-types = {version = "0.11.1", default-features = false} schemars = "0.8.8" diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 1a99750f..72219d95 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -origin/main \ No newline at end of file +v15.0.0 \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs deleted file mode 100644 index 8da56098..00000000 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod v1beta1; -use osmosis_std_derive::CosmwasmExt; -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] -pub struct Params { - /// authorized_tick_spacing is an array of uint64s that represents the tick - /// spacing values concentrated-liquidity pools can be created with. For - /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools - /// to be created with tick spacing of 1, 10, or 30. - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub authorized_tick_spacing: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag = "2")] - pub authorized_swap_fees: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs deleted file mode 100644 index 09e765c0..00000000 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ /dev/null @@ -1,1099 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// Position contains position's id, address, pool id, lower tick, upper tick -/// join time, and liquidity. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] -pub struct Position { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, - #[prost(string, tag = "2")] - pub address: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "6")] - pub join_time: ::core::option::Option, - #[prost(string, tag = "7")] - pub liquidity: ::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 = "/osmosis.concentratedliquidity.v1beta1.PositionWithUnderlyingAssetBreakdown" -)] -pub struct PositionWithUnderlyingAssetBreakdown { - #[prost(message, optional, tag = "1")] - pub position: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub asset0: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub asset1: ::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 = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] -pub struct TickInfo { - #[prost(string, tag = "1")] - pub liquidity_gross: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub liquidity_net: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub fee_growth_outside: - ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "4")] - pub uptime_trackers: ::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 = "/osmosis.concentratedliquidity.v1beta1.UptimeTracker")] -pub struct UptimeTracker { - #[prost(message, repeated, tag = "1")] - pub uptime_growth_outside: - ::prost::alloc::vec::Vec, -} -/// IncentiveRecord is the high-level struct we use to deal with an independent -/// incentive being distributed on a pool. Note that PoolId, Denom, and MinUptime -/// are included in the key so we avoid storing them in state, hence the -/// distinction between IncentiveRecord and IncentiveRecordBody. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecord")] -pub struct IncentiveRecord { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - /// incentive_denom is the denom of the token being distributed as part of this - /// incentive record - #[prost(string, tag = "2")] - pub incentive_denom: ::prost::alloc::string::String, - /// incentiveCreator is the address that created the incentive record. This - /// address does not have any special privileges – it is only kept to keep - /// incentive records created by different addresses separate. - #[prost(string, tag = "3")] - pub incentive_creator_addr: ::prost::alloc::string::String, - /// incentive record body holds necessary - #[prost(message, optional, tag = "4")] - pub incentive_record_body: ::core::option::Option, - /// min_uptime is the minimum uptime required for liquidity to qualify for this - /// incentive. It should be always be one of the supported uptimes in - /// types.SupportedUptimes - #[prost(message, optional, tag = "5")] - pub min_uptime: ::core::option::Option, -} -/// IncentiveRecordBody represents the body stored in state for each individual -/// record. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] -pub struct IncentiveRecordBody { - /// remaining_amount is the total amount of incentives to be distributed - #[prost(string, tag = "1")] - pub remaining_amount: ::prost::alloc::string::String, - /// emission_rate is the incentive emission rate per second - #[prost(string, tag = "2")] - pub emission_rate: ::prost::alloc::string::String, - /// start_time is the time when the incentive starts distributing - #[prost(message, optional, tag = "3")] - pub start_time: ::core::option::Option, -} -/// FullTick contains tick index and pool id along with other tick model -/// information. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullTick")] -pub struct FullTick { - /// pool id associated with the tick. - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - /// tick's index. - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_index: i64, - /// tick's info. - #[prost(message, optional, tag = "3")] - pub info: ::core::option::Option, -} -/// PoolData represents a serialized pool along with its ticks -/// for 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 = "/osmosis.concentratedliquidity.v1beta1.PoolData")] -pub struct PoolData { - /// pool struct - #[prost(message, optional, tag = "1")] - pub pool: ::core::option::Option, - /// pool's ticks - #[prost(message, repeated, tag = "2")] - pub ticks: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub fee_accumulator: ::core::option::Option, - #[prost(message, repeated, tag = "4")] - pub incentives_accumulators: ::prost::alloc::vec::Vec, - /// incentive records to be set - #[prost(message, repeated, tag = "5")] - pub incentive_records: ::prost::alloc::vec::Vec, -} -/// GenesisState defines the concentrated liquidity module's 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 = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// pool data containining serialized pool struct and ticks. - #[prost(message, repeated, tag = "2")] - pub pool_data: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub positions: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_position_id: u64, -} -/// In original struct of Accum object, store.KVStore is stored together. -/// For handling genesis, we do not need to include store.KVStore since we use -/// CL module's KVStore. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.AccumObject")] -pub struct AccumObject { - /// Accumulator's name (pulled from AccumulatorContent) - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub accum_content: ::core::option::Option, -} -/// =============================== UserPositions -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", - response_type = QueryUserPositionsResponse -)] -pub struct QueryUserPositionsRequest { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] -pub struct QueryUserPositionsResponse { - #[prost(message, repeated, tag = "1")] - pub positions: ::prost::alloc::vec::Vec, -} -/// =============================== PositionById -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/PositionById", - response_type = QueryPositionByIdResponse -)] -pub struct QueryPositionByIdRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdResponse")] -pub struct QueryPositionByIdResponse { - #[prost(message, optional, tag = "1")] - pub position: ::core::option::Option, -} -/// =============================== Pools -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", - response_type = QueryPoolsResponse -)] -pub struct QueryPoolsRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: - ::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 = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] -pub struct QueryPoolsResponse { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: - ::core::option::Option, -} -/// =============================== ModuleParams -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", - 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 = "/osmosis.concentratedliquidity.v1beta1.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 = "/osmosis.concentratedliquidity.v1beta1.TickLiquidityNet")] -pub struct TickLiquidityNet { - #[prost(string, tag = "1")] - pub liquidity_net: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub tick_index: ::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 = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] -pub struct LiquidityDepthWithRange { - #[prost(string, tag = "1")] - pub liquidity_amount: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub lower_tick: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub upper_tick: ::prost::alloc::string::String, -} -/// =============================== LiquidityNetInDirection -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionRequest" -)] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityNetInDirection", - response_type = QueryLiquidityNetInDirectionResponse -)] -pub struct QueryLiquidityNetInDirectionRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub start_tick: i64, - #[prost(bool, tag = "4")] - pub use_cur_tick: bool, - #[prost(int64, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub bound_tick: i64, - #[prost(bool, tag = "6")] - pub use_no_bound: bool, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionResponse" -)] -pub struct QueryLiquidityNetInDirectionResponse { - #[prost(message, repeated, tag = "1")] - pub liquidity_depths: ::prost::alloc::vec::Vec, - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub current_tick: i64, - #[prost(string, tag = "3")] - pub current_liquidity: ::prost::alloc::string::String, -} -/// =============================== TotalLiquidityForRange -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeRequest" -)] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/TotalLiquidityForRange", - response_type = QueryTotalLiquidityForRangeResponse -)] -pub struct QueryTotalLiquidityForRangeRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeResponse" -)] -pub struct QueryTotalLiquidityForRangeResponse { - #[prost(message, repeated, tag = "1")] - pub liquidity: ::prost::alloc::vec::Vec, -} -/// ===================== MsgQueryClaimableFees -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/ClaimableFees", - response_type = QueryClaimableFeesResponse -)] -pub struct QueryClaimableFeesRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesResponse")] -pub struct QueryClaimableFeesResponse { - #[prost(message, repeated, tag = "1")] - pub claimable_fees: ::prost::alloc::vec::Vec, -} -/// ===================== MsgCreateConcentratedPool -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] -pub struct MsgCreateConcentratedPool { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub denom0: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub denom1: ::prost::alloc::string::String, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_spacing: u64, - #[prost(string, tag = "5")] - pub exponent_at_price_one: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub swap_fee: ::prost::alloc::string::String, -} -/// Returns a unique poolID to identify the pool with. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" -)] -pub struct MsgCreateConcentratedPoolResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.Pool")] -pub struct Pool { - /// pool's address holding all liquidity tokens. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// address holding the incentives liquidity. - #[prost(string, tag = "2")] - pub incentives_address: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// Amount of total liquidity - #[prost(string, tag = "4")] - pub current_tick_liquidity: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub token0: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub token1: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub current_sqrt_price: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub current_tick: ::prost::alloc::string::String, - /// tick_spacing must be one of the authorized_tick_spacing values set in the - /// concentrated-liquidity parameters - #[prost(uint64, tag = "9")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_spacing: u64, - #[prost(string, tag = "10")] - pub exponent_at_price_one: ::prost::alloc::string::String, - /// swap_fee is the ratio that is charged on the amount of token in. - #[prost(string, tag = "11")] - pub swap_fee: ::prost::alloc::string::String, - /// last_liquidity_update is the last time either the pool liquidity or the - /// active tick changed - #[prost(message, optional, tag = "12")] - pub last_liquidity_update: ::core::option::Option, -} -/// ===================== MsgCreatePosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] -pub struct MsgCreatePosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "5")] - pub token_desired0: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub token_desired1: ::core::option::Option, - #[prost(string, tag = "7")] - pub token_min_amount0: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub token_min_amount1: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] -pub struct MsgCreatePositionResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, - #[prost(string, tag = "2")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub amount1: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub join_time: ::core::option::Option, - #[prost(string, tag = "5")] - pub liquidity_created: ::prost::alloc::string::String, -} -/// ===================== MsgWithdrawPosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] -pub struct MsgWithdrawPosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_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 = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] -pub struct MsgWithdrawPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, -} -/// ===================== MsgCollectFees -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] -pub struct MsgCollectFees { - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub position_ids: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] -pub struct MsgCollectFeesResponse { - #[prost(message, repeated, tag = "1")] - pub collected_fees: ::prost::alloc::vec::Vec, -} -/// ===================== MsgCollectIncentives -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentives")] -pub struct MsgCollectIncentives { - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub position_ids: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentivesResponse")] -pub struct MsgCollectIncentivesResponse { - #[prost(message, repeated, tag = "1")] - pub collected_incentives: - ::prost::alloc::vec::Vec, -} -/// ===================== MsgCreateIncentive -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentive")] -pub struct MsgCreateIncentive { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub incentive_denom: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub incentive_amount: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub emission_rate: ::prost::alloc::string::String, - #[prost(message, optional, tag = "6")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "7")] - pub min_uptime: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentiveResponse")] -pub struct MsgCreateIncentiveResponse { - #[prost(string, tag = "1")] - pub incentive_denom: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub incentive_amount: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub emission_rate: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub min_uptime: ::core::option::Option, -} -/// ===================== MsgFungifyChargedPositions -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositions")] -pub struct MsgFungifyChargedPositions { - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub position_ids: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositionsResponse" -)] -pub struct MsgFungifyChargedPositionsResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub new_position_id: u64, -} -pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn pools( - &self, - pagination: ::core::option::Option< - super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - ) -> Result { - QueryPoolsRequest { pagination }.query(self.querier) - } - pub fn params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } - pub fn user_positions( - &self, - address: ::prost::alloc::string::String, - pool_id: u64, - ) -> Result { - QueryUserPositionsRequest { address, pool_id }.query(self.querier) - } - pub fn total_liquidity_for_range( - &self, - pool_id: u64, - ) -> Result { - QueryTotalLiquidityForRangeRequest { pool_id }.query(self.querier) - } - pub fn liquidity_net_in_direction( - &self, - pool_id: u64, - token_in: ::prost::alloc::string::String, - start_tick: i64, - use_cur_tick: bool, - bound_tick: i64, - use_no_bound: bool, - ) -> Result { - QueryLiquidityNetInDirectionRequest { - pool_id, - token_in, - start_tick, - use_cur_tick, - bound_tick, - use_no_bound, - } - .query(self.querier) - } - pub fn claimable_fees( - &self, - position_id: u64, - ) -> Result { - QueryClaimableFeesRequest { position_id }.query(self.querier) - } - pub fn position_by_id( - &self, - position_id: u64, - ) -> Result { - QueryPositionByIdRequest { position_id }.query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs deleted file mode 100644 index 9f64fc82..00000000 --- a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs deleted file mode 100644 index 9108cefb..00000000 --- a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs +++ /dev/null @@ -1,154 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// Params holds parameters for the cosmwasmpool 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 = "/osmosis.cosmwasmpool.v1beta1.Params")] -pub struct Params {} -/// GenesisState defines the cosmwasmpool module's 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 = "/osmosis.cosmwasmpool.v1beta1.GenesisState")] -pub struct GenesisState { - /// params is the container of cosmwasmpool parameters. - #[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 = "/osmosis.cosmwasmpool.v1beta1.CosmWasmPool")] -pub struct CosmWasmPool { - #[prost(string, tag = "1")] - pub pool_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub contract_address: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub code_id: u64, -} -/// ===================== MsgCreateCosmwasmPool -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPool")] -pub struct MsgCreateCosmWasmPool { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub code_id: u64, - #[prost(bytes = "vec", tag = "2")] - pub instantiate_msg: ::prost::alloc::vec::Vec, - #[prost(string, tag = "3")] - pub sender: ::prost::alloc::string::String, -} -/// Returns a unique poolID to identify the pool with. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPoolResponse")] -pub struct MsgCreateCosmWasmPoolResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, -} -/// =============================== 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 = "/osmosis.cosmwasmpool.v1beta1.ParamsRequest")] -#[proto_query( - path = "/osmosis.cosmwasmpool.v1beta1.Query/Params", - response_type = ParamsResponse -)] -pub struct ParamsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.ParamsResponse")] -pub struct ParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -pub struct CosmwasmpoolQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> CosmwasmpoolQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn params(&self) -> Result { - ParamsRequest {}.query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index 8bbfdd79..89247c63 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -45,49 +45,3 @@ pub struct MsgCreateBalancerPoolResponse { )] pub pool_id: u64, } -/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" -)] -pub struct MsgMigrateSharesToFullRangeConcentratedPosition { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub shares_to_migrate: - ::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 = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" -)] -pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_created: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub join_time: ::core::option::Option, -} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index cabbedae..b13b1546 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -18,9 +18,6 @@ use osmosis_std_derive::CosmwasmExt; pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, - /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old - /// pools can maintain a non-zero fee. No new pool can be created with non-zero - /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index d033483f..bdac75ac 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -72,9 +72,6 @@ pub struct SmoothWeightChangeParams { pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, - /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old - /// pools can maintain a non-zero fee. No new pool can be created with non-zero - /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] @@ -194,112 +191,6 @@ pub struct GenesisState { pub next_pool_number: u64, #[prost(message, optional, tag = "3")] pub params: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub migration_records: ::core::option::Option, -} -/// MigrationRecords contains all the links between balancer and concentrated -/// pools -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] -pub struct MigrationRecords { - #[prost(message, repeated, tag = "1")] - pub balancer_to_concentrated_pool_links: - ::prost::alloc::vec::Vec, -} -/// BalancerToConcentratedPoolLink defines a single link between a single -/// balancer pool and a single concentrated liquidity pool. This link is used to -/// allow a balancer pool to migrate to a single canonical full range -/// concentrated liquidity pool position -/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can -/// be linked to a maximum of one balancer pool. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] -pub struct BalancerToConcentratedPoolLink { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub balancer_pool_id: u64, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub cl_pool_id: u64, -} -/// ReplaceMigrationRecordsProposal is a gov Content type for updating the -/// migration records. If a ReplaceMigrationRecordsProposal passes, the -/// proposal’s records override the existing MigrationRecords set in the module. -/// Each record specifies a single connection between a single balancer pool and -/// a single concentrated pool. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] -pub struct ReplaceMigrationRecordsProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub records: ::prost::alloc::vec::Vec, -} -/// For example: if the existing DistrRecords were: -/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] -/// And an UpdateMigrationRecordsProposal includes -/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] -/// This would leave Balancer 1 record, delete Balancer 2 record, -/// Edit Balancer 3 record, and Add Balancer 4 record -/// The result MigrationRecords in state would be: -/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] -pub struct UpdateMigrationRecordsProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub records: ::prost::alloc::vec::Vec, } /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap @@ -649,7 +540,6 @@ pub struct MsgExitSwapExternAmountOutResponse { pub share_in_amount: ::prost::alloc::string::String, } /// =============================== Pool -/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -666,7 +556,6 @@ pub struct MsgExitSwapExternAmountOutResponse { path = "/osmosis.gamm.v1beta1.Query/Pool", response_type = QueryPoolResponse )] -#[deprecated] pub struct QueryPoolRequest { #[prost(uint64, tag = "1")] #[serde( @@ -675,7 +564,6 @@ pub struct QueryPoolRequest { )] pub pool_id: u64, } -/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -688,7 +576,6 @@ pub struct QueryPoolRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolResponse")] -#[deprecated] pub struct QueryPoolResponse { #[prost(message, optional, tag = "1")] pub pool: ::core::option::Option, @@ -1339,7 +1226,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } - #[deprecated] pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs index 1722d385..0bfe94aa 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -1,5 +1,6 @@ use osmosis_std_derive::CosmwasmExt; -/// Deprecated: please use alternate in x/poolmanager +/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice +/// query. #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -16,7 +17,6 @@ use osmosis_std_derive::CosmwasmExt; path = "/osmosis.gamm.v2.Query/SpotPrice", response_type = QuerySpotPriceResponse )] -#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde( @@ -29,7 +29,8 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } -/// Depreacted: please use alternate in x/poolmanager +/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice +/// query. #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -42,7 +43,6 @@ pub struct QuerySpotPriceRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] -#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -55,7 +55,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } - #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index d0f5004a..12becca8 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,6 +1,4 @@ pub mod accum; -pub mod concentratedliquidity; -pub mod cosmwasmpool; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index dcb5b4d1..0da6c949 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -84,12 +84,6 @@ pub enum PoolType { /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined /// in x/gamm. Stableswap = 1, - /// Concentrated is the pool model specific to concentrated liquidity. It is - /// defined in x/concentrated-liquidity. - Concentrated = 2, - /// CosmWasm is the pool model specific to CosmWasm. It is defined in - /// x/cosmwasmpool. - CosmWasm = 3, } impl PoolType { /// String value of the enum field names used in the ProtoBuf definition. @@ -100,8 +94,6 @@ impl PoolType { match self { PoolType::Balancer => "Balancer", PoolType::Stableswap => "Stableswap", - PoolType::Concentrated => "Concentrated", - PoolType::CosmWasm => "CosmWasm", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -109,8 +101,6 @@ impl PoolType { match value { "Balancer" => Some(Self::Balancer), "Stableswap" => Some(Self::Stableswap), - "Concentrated" => Some(Self::Concentrated), - "CosmWasm" => Some(Self::CosmWasm), _ => None, } } @@ -291,6 +281,9 @@ pub struct ParamsResponse { response_type = EstimateSwapExactAmountInResponse )] pub struct EstimateSwapExactAmountInRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -313,36 +306,6 @@ pub struct EstimateSwapExactAmountInRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountInRequest" -)] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountIn", - response_type = EstimateSwapExactAmountInResponse -)] -pub struct EstimateSinglePoolSwapExactAmountInRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub token_out_denom: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] @@ -366,6 +329,9 @@ pub struct EstimateSwapExactAmountInResponse { response_type = EstimateSwapExactAmountOutResponse )] pub struct EstimateSwapExactAmountOutRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -388,36 +354,6 @@ pub struct EstimateSwapExactAmountOutRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountOutRequest" -)] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountOut", - response_type = EstimateSwapExactAmountOutResponse -)] -pub struct EstimateSinglePoolSwapExactAmountOutRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in_denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub token_out: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] @@ -461,137 +397,6 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } -/// =============================== Pool -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.PoolRequest")] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/Pool", - response_type = PoolResponse -)] -pub struct PoolRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.poolmanager.v1beta1.PoolResponse")] -pub struct PoolResponse { - #[prost(message, optional, tag = "1")] - pub pool: ::core::option::Option, -} -/// =============================== AllPools -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.AllPoolsRequest")] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/AllPools", - response_type = AllPoolsResponse -)] -pub struct AllPoolsRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.poolmanager.v1beta1.AllPoolsResponse")] -pub struct AllPoolsResponse { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, -} -/// SpotPriceRequest defines the gRPC request structure for a SpotPrice -/// query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceRequest")] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/SpotPrice", - response_type = SpotPriceResponse -)] -pub struct SpotPriceRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset_denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset_denom: ::prost::alloc::string::String, -} -/// SpotPriceResponse defines the gRPC response structure for a SpotPrice -/// query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceResponse")] -pub struct SpotPriceResponse { - /// String of the Dec. Ex) 10.203uatom - #[prost(string, tag = "1")] - pub spot_price: ::prost::alloc::string::String, -} pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -604,76 +409,35 @@ impl<'a, Q: cosmwasm_std::CustomQuery> PoolmanagerQuerier<'a, Q> { } pub fn estimate_swap_exact_amount_in( &self, + sender: ::prost::alloc::string::String, pool_id: u64, token_in: ::prost::alloc::string::String, routes: ::prost::alloc::vec::Vec, ) -> Result { EstimateSwapExactAmountInRequest { + sender, pool_id, token_in, routes, } .query(self.querier) } - pub fn estimate_single_pool_swap_exact_amount_in( - &self, - pool_id: u64, - token_in: ::prost::alloc::string::String, - token_out_denom: ::prost::alloc::string::String, - ) -> Result { - EstimateSinglePoolSwapExactAmountInRequest { - pool_id, - token_in, - token_out_denom, - } - .query(self.querier) - } pub fn estimate_swap_exact_amount_out( &self, + sender: ::prost::alloc::string::String, pool_id: u64, routes: ::prost::alloc::vec::Vec, token_out: ::prost::alloc::string::String, ) -> Result { EstimateSwapExactAmountOutRequest { + sender, pool_id, routes, token_out, } .query(self.querier) } - pub fn estimate_single_pool_swap_exact_amount_out( - &self, - pool_id: u64, - token_in_denom: ::prost::alloc::string::String, - token_out: ::prost::alloc::string::String, - ) -> Result { - EstimateSinglePoolSwapExactAmountOutRequest { - pool_id, - token_in_denom, - token_out, - } - .query(self.querier) - } pub fn num_pools(&self) -> Result { NumPoolsRequest {}.query(self.querier) } - pub fn pool(&self, pool_id: u64) -> Result { - PoolRequest { pool_id }.query(self.querier) - } - pub fn all_pools(&self, pool_id: u64) -> Result { - AllPoolsRequest { pool_id }.query(self.querier) - } - pub fn spot_price( - &self, - pool_id: u64, - base_asset_denom: ::prost::alloc::string::String, - quote_asset_denom: ::prost::alloc::string::String, - ) -> Result { - SpotPriceRequest { - pool_id, - base_asset_denom, - quote_asset_denom, - } - .query(self.querier) - } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index ef781094..a7a0a4ef 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1087,58 +1087,6 @@ pub struct MsgUnPoolWhitelistedPoolResponse { #[prost(uint64, repeated, tag = "1")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } -/// ===================== -/// MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition" -)] -pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lock_id: u64, - #[prost(message, optional, tag = "3")] - pub shares_to_migrate: ::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 = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse" -)] -pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_created: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub join_time: ::core::option::Option, -} pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index ee842904..52e8eef8 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -194,44 +194,6 @@ pub struct QueryDenomsFromCreatorResponse { #[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 = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressRequest")] -#[proto_query( - path = "/osmosis.tokenfactory.v1beta1.Query/BeforeSendHookAddress", - response_type = QueryBeforeSendHookAddressResponse -)] -pub struct QueryBeforeSendHookAddressRequest { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -/// QueryBeforeSendHookAddressResponse defines the response structure for the -/// DenomBeforeSendHook gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressResponse")] -pub struct QueryBeforeSendHookAddressResponse { - #[prost(string, tag = "1")] - pub cosmwasm_address: ::prost::alloc::string::String, -} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -297,8 +259,6 @@ pub struct MsgMint { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, - #[prost(string, tag = "3")] - pub mint_to_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -332,8 +292,6 @@ pub struct MsgBurn { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, - #[prost(string, tag = "3")] - pub burn_from_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -385,43 +343,6 @@ pub struct MsgChangeAdmin { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] pub struct MsgChangeAdminResponse {} -/// MsgSetBeforeSendHook is the sdk.Msg type for allowing an admin account to -/// assign a CosmWasm contract to call with a BeforeSend hook -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHook")] -pub struct MsgSetBeforeSendHook { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub cosmwasm_address: ::prost::alloc::string::String, -} -/// MsgSetBeforeSendHookResponse defines the response structure for an executed -/// MsgSetBeforeSendHook message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHookResponse")] -pub struct MsgSetBeforeSendHookResponse {} /// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set /// the denom's bank metadata #[allow(clippy::derive_partial_eq_without_eq)] @@ -457,41 +378,6 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgForceTransfer")] -pub struct MsgForceTransfer { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub amount: ::core::option::Option, - #[prost(string, tag = "3")] - pub transfer_from_address: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub transfer_to_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 = "/osmosis.tokenfactory.v1beta1.MsgForceTransferResponse")] -pub struct MsgForceTransferResponse {} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -514,10 +400,4 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TokenfactoryQuerier<'a, Q> { ) -> Result { QueryDenomsFromCreatorRequest { creator }.query(self.querier) } - pub fn before_send_hook_address( - &self, - denom: ::prost::alloc::string::String, - ) -> Result { - QueryBeforeSendHookAddressRequest { denom }.query(self.querier) - } } diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 38ca186d..234baf87 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -11,10 +11,10 @@ use proto_build::{ }; /// The Cosmos SDK commit or tag to be cloned and used to build the proto files -const COSMOS_SDK_REV: &str = "origin/osmosis-main"; +const COSMOS_SDK_REV: &str = "44b40d47f3108c29f07fd115e5a92b387fb7a6bd"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "origin/main"; +const OSMOSIS_REV: &str = "v15.0.0"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. diff --git a/tests/osmosis-std-cosmwasm-test/Cargo.toml b/tests/osmosis-std-cosmwasm-test/Cargo.toml index 3d601f85..e16a5f96 100644 --- a/tests/osmosis-std-cosmwasm-test/Cargo.toml +++ b/tests/osmosis-std-cosmwasm-test/Cargo.toml @@ -47,12 +47,12 @@ cw-storage-plus = "0.15" cw2 = "0.13.2" jsonformat = "2.0.0" osmosis-std = {path = "../../packages/osmosis-std"} +osmosis-test-tube = "14.1.1" schemars = "0.8.8" serde = {version = "1.0.137", default-features = false, features = ["derive"]} thiserror = {version = "1.0.31"} [dev-dependencies] cw-multi-test = "0.13.2" -osmosis-testing = {path = "../../packages/osmosis-testing"} prost = "0.11.0" serde_json = "1.0.85" diff --git a/tests/osmosis-std-cosmwasm-test/tests/helpers.rs b/tests/osmosis-std-cosmwasm-test/tests/helpers.rs index 7fb18b24..4ba28936 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/helpers.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/helpers.rs @@ -1,7 +1,7 @@ use cosmwasm_std::Coin; use osmosis_std_cosmwasm_test::msg::InstantiateMsg; -use osmosis_testing::{Gamm, Module, OsmosisTestApp, SigningAccount, Wasm}; +use osmosis_test_tube::{Gamm, Module, OsmosisTestApp, SigningAccount, Wasm}; use std::path::PathBuf; pub fn with_env_setup( diff --git a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs index e2428529..0ca2d272 100644 --- a/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs +++ b/tests/osmosis-std-cosmwasm-test/tests/integration_test.rs @@ -10,8 +10,9 @@ use osmosis_std::{ epochs::v1beta1::EpochInfo, gamm::{ self, - v1beta1::{MsgSwapExactAmountInResponse, SwapAmountInRoute}, + v1beta1::{MsgSwapExactAmountInResponse, Pool, PoolParams}, }, + poolmanager::v1beta1::SwapAmountInRoute, twap::v1beta1::GeometricTwapToNowRequest, }, }; @@ -20,8 +21,8 @@ use osmosis_std_cosmwasm_test::msg::{ GeometricTwapToNowResponse, QueryEpochsInfoResponse, QueryMapResponse, QueryMsg, QueryNumPoolsResponse, QueryPoolParamsResponse, QueryPoolResponse, }; -use osmosis_testing::RunnerError::ExecuteError; -use osmosis_testing::{Account, Runner}; +use osmosis_test_tube::RunnerError::ExecuteError; +use osmosis_test_tube::{Account, Runner}; #[test] fn test_u64_response_deser() { @@ -148,8 +149,7 @@ fn test_any_balancer_pool_response_deser() { .query(&contract_addr, &QueryMsg::QueryPool { pool_id }) .unwrap(); - let pool: osmosis_testing::osmosis_std::types::osmosis::gamm::v1beta1::Pool = - res.pool.unwrap().try_into().unwrap(); + let pool: Pool = res.pool.unwrap().try_into().unwrap(); assert_eq!(pool, helpers::mock_balancner_pool()); }, false, @@ -167,8 +167,7 @@ fn test_any_balancer_pool_params_response_deser() { .query(&contract_addr, &QueryMsg::QueryPoolParams { pool_id }) .unwrap(); - let pool: osmosis_testing::osmosis_std::types::osmosis::gamm::v1beta1::PoolParams = - res.params.unwrap().try_into().unwrap(); + let pool: PoolParams = res.params.unwrap().try_into().unwrap(); assert_eq!(pool, helpers::mock_balancner_pool().pool_params.unwrap()); }, From 895526d62ebe11cf29a2693b767a848d074d66b8 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Mon, 10 Apr 2023 16:45:03 +0700 Subject: [PATCH 132/142] bump version and add main back --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../osmosis/concentratedliquidity/mod.rs | 24 + .../osmosis/concentratedliquidity/v1beta1.rs | 1099 +++++++++++++++++ .../src/types/osmosis/cosmwasmpool/mod.rs | 1 + .../src/types/osmosis/cosmwasmpool/v1beta1.rs | 154 +++ .../gamm/poolmodels/balancer/v1beta1.rs | 46 + .../gamm/poolmodels/stableswap/v1beta1.rs | 3 + .../src/types/osmosis/gamm/v1beta1.rs | 114 ++ .../osmosis-std/src/types/osmosis/gamm/v2.rs | 9 +- packages/osmosis-std/src/types/osmosis/mod.rs | 2 + .../src/types/osmosis/poolmanager/v1beta1.rs | 256 +++- .../src/types/osmosis/superfluid/mod.rs | 52 + .../src/types/osmosis/tokenfactory/v1beta1.rs | 120 ++ packages/proto-build/src/main.rs | 4 +- 15 files changed, 1870 insertions(+), 18 deletions(-) create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index ff18d824..087a97b2 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit ff18d8244fcda7313ec951fb1b3bee8369b8316b +Subproject commit 087a97b2976b989f94ab52000a64377c0bcf1a79 diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 72219d95..1a99750f 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v15.0.0 \ No newline at end of file +origin/main \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs new file mode 100644 index 00000000..8da56098 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs @@ -0,0 +1,24 @@ +pub mod v1beta1; +use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] +pub struct Params { + /// authorized_tick_spacing is an array of uint64s that represents the tick + /// spacing values concentrated-liquidity pools can be created with. For + /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools + /// to be created with tick spacing of 1, 10, or 30. + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub authorized_tick_spacing: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "2")] + pub authorized_swap_fees: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs new file mode 100644 index 00000000..09e765c0 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -0,0 +1,1099 @@ +use osmosis_std_derive::CosmwasmExt; +/// Position contains position's id, address, pool id, lower tick, upper tick +/// join time, and liquidity. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] +pub struct Position { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "6")] + pub join_time: ::core::option::Option, + #[prost(string, tag = "7")] + pub liquidity: ::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 = "/osmosis.concentratedliquidity.v1beta1.PositionWithUnderlyingAssetBreakdown" +)] +pub struct PositionWithUnderlyingAssetBreakdown { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub asset0: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub asset1: ::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 = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] +pub struct TickInfo { + #[prost(string, tag = "1")] + pub liquidity_gross: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub fee_growth_outside: + ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub uptime_trackers: ::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 = "/osmosis.concentratedliquidity.v1beta1.UptimeTracker")] +pub struct UptimeTracker { + #[prost(message, repeated, tag = "1")] + pub uptime_growth_outside: + ::prost::alloc::vec::Vec, +} +/// IncentiveRecord is the high-level struct we use to deal with an independent +/// incentive being distributed on a pool. Note that PoolId, Denom, and MinUptime +/// are included in the key so we avoid storing them in state, hence the +/// distinction between IncentiveRecord and IncentiveRecordBody. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecord")] +pub struct IncentiveRecord { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + /// incentive_denom is the denom of the token being distributed as part of this + /// incentive record + #[prost(string, tag = "2")] + pub incentive_denom: ::prost::alloc::string::String, + /// incentiveCreator is the address that created the incentive record. This + /// address does not have any special privileges – it is only kept to keep + /// incentive records created by different addresses separate. + #[prost(string, tag = "3")] + pub incentive_creator_addr: ::prost::alloc::string::String, + /// incentive record body holds necessary + #[prost(message, optional, tag = "4")] + pub incentive_record_body: ::core::option::Option, + /// min_uptime is the minimum uptime required for liquidity to qualify for this + /// incentive. It should be always be one of the supported uptimes in + /// types.SupportedUptimes + #[prost(message, optional, tag = "5")] + pub min_uptime: ::core::option::Option, +} +/// IncentiveRecordBody represents the body stored in state for each individual +/// record. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] +pub struct IncentiveRecordBody { + /// remaining_amount is the total amount of incentives to be distributed + #[prost(string, tag = "1")] + pub remaining_amount: ::prost::alloc::string::String, + /// emission_rate is the incentive emission rate per second + #[prost(string, tag = "2")] + pub emission_rate: ::prost::alloc::string::String, + /// start_time is the time when the incentive starts distributing + #[prost(message, optional, tag = "3")] + pub start_time: ::core::option::Option, +} +/// FullTick contains tick index and pool id along with other tick model +/// information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullTick")] +pub struct FullTick { + /// pool id associated with the tick. + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + /// tick's index. + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_index: i64, + /// tick's info. + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, +} +/// PoolData represents a serialized pool along with its ticks +/// for 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 = "/osmosis.concentratedliquidity.v1beta1.PoolData")] +pub struct PoolData { + /// pool struct + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, + /// pool's ticks + #[prost(message, repeated, tag = "2")] + pub ticks: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub fee_accumulator: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub incentives_accumulators: ::prost::alloc::vec::Vec, + /// incentive records to be set + #[prost(message, repeated, tag = "5")] + pub incentive_records: ::prost::alloc::vec::Vec, +} +/// GenesisState defines the concentrated liquidity module's 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 = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// pool data containining serialized pool struct and ticks. + #[prost(message, repeated, tag = "2")] + pub pool_data: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub positions: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_position_id: u64, +} +/// In original struct of Accum object, store.KVStore is stored together. +/// For handling genesis, we do not need to include store.KVStore since we use +/// CL module's KVStore. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.AccumObject")] +pub struct AccumObject { + /// Accumulator's name (pulled from AccumulatorContent) + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub accum_content: ::core::option::Option, +} +/// =============================== UserPositions +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", + response_type = QueryUserPositionsResponse +)] +pub struct QueryUserPositionsRequest { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] +pub struct QueryUserPositionsResponse { + #[prost(message, repeated, tag = "1")] + pub positions: ::prost::alloc::vec::Vec, +} +/// =============================== PositionById +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/PositionById", + response_type = QueryPositionByIdResponse +)] +pub struct QueryPositionByIdRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdResponse")] +pub struct QueryPositionByIdResponse { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, +} +/// =============================== Pools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", + response_type = QueryPoolsResponse +)] +pub struct QueryPoolsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::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 = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] +pub struct QueryPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// =============================== ModuleParams +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", + 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 = "/osmosis.concentratedliquidity.v1beta1.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 = "/osmosis.concentratedliquidity.v1beta1.TickLiquidityNet")] +pub struct TickLiquidityNet { + #[prost(string, tag = "1")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub tick_index: ::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 = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] +pub struct LiquidityDepthWithRange { + #[prost(string, tag = "1")] + pub liquidity_amount: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub lower_tick: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub upper_tick: ::prost::alloc::string::String, +} +/// =============================== LiquidityNetInDirection +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityNetInDirection", + response_type = QueryLiquidityNetInDirectionResponse +)] +pub struct QueryLiquidityNetInDirectionRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub start_tick: i64, + #[prost(bool, tag = "4")] + pub use_cur_tick: bool, + #[prost(int64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub bound_tick: i64, + #[prost(bool, tag = "6")] + pub use_no_bound: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionResponse" +)] +pub struct QueryLiquidityNetInDirectionResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity_depths: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub current_tick: i64, + #[prost(string, tag = "3")] + pub current_liquidity: ::prost::alloc::string::String, +} +/// =============================== TotalLiquidityForRange +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/TotalLiquidityForRange", + response_type = QueryTotalLiquidityForRangeResponse +)] +pub struct QueryTotalLiquidityForRangeRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeResponse" +)] +pub struct QueryTotalLiquidityForRangeResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity: ::prost::alloc::vec::Vec, +} +/// ===================== MsgQueryClaimableFees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/ClaimableFees", + response_type = QueryClaimableFeesResponse +)] +pub struct QueryClaimableFeesRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesResponse")] +pub struct QueryClaimableFeesResponse { + #[prost(message, repeated, tag = "1")] + pub claimable_fees: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateConcentratedPool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] +pub struct MsgCreateConcentratedPool { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub denom1: ::prost::alloc::string::String, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, + #[prost(string, tag = "5")] + pub exponent_at_price_one: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub swap_fee: ::prost::alloc::string::String, +} +/// Returns a unique poolID to identify the pool with. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" +)] +pub struct MsgCreateConcentratedPoolResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.Pool")] +pub struct Pool { + /// pool's address holding all liquidity tokens. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// address holding the incentives liquidity. + #[prost(string, tag = "2")] + pub incentives_address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde(alias = "ID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of total liquidity + #[prost(string, tag = "4")] + pub current_tick_liquidity: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub token0: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub token1: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub current_sqrt_price: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub current_tick: ::prost::alloc::string::String, + /// tick_spacing must be one of the authorized_tick_spacing values set in the + /// concentrated-liquidity parameters + #[prost(uint64, tag = "9")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, + #[prost(string, tag = "10")] + pub exponent_at_price_one: ::prost::alloc::string::String, + /// swap_fee is the ratio that is charged on the amount of token in. + #[prost(string, tag = "11")] + pub swap_fee: ::prost::alloc::string::String, + /// last_liquidity_update is the last time either the pool liquidity or the + /// active tick changed + #[prost(message, optional, tag = "12")] + pub last_liquidity_update: ::core::option::Option, +} +/// ===================== MsgCreatePosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] +pub struct MsgCreatePosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "5")] + pub token_desired0: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub token_desired1: ::core::option::Option, + #[prost(string, tag = "7")] + pub token_min_amount0: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub token_min_amount1: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] +pub struct MsgCreatePositionResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub amount1: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, + #[prost(string, tag = "5")] + pub liquidity_created: ::prost::alloc::string::String, +} +/// ===================== MsgWithdrawPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] +pub struct MsgWithdrawPosition { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_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 = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] +pub struct MsgWithdrawPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, +} +/// ===================== MsgCollectFees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] +pub struct MsgCollectFees { + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] +pub struct MsgCollectFeesResponse { + #[prost(message, repeated, tag = "1")] + pub collected_fees: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCollectIncentives +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentives")] +pub struct MsgCollectIncentives { + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentivesResponse")] +pub struct MsgCollectIncentivesResponse { + #[prost(message, repeated, tag = "1")] + pub collected_incentives: + ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateIncentive +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentive")] +pub struct MsgCreateIncentive { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub incentive_denom: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub incentive_amount: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub emission_rate: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub min_uptime: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentiveResponse")] +pub struct MsgCreateIncentiveResponse { + #[prost(string, tag = "1")] + pub incentive_denom: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub incentive_amount: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub emission_rate: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub min_uptime: ::core::option::Option, +} +/// ===================== MsgFungifyChargedPositions +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositions")] +pub struct MsgFungifyChargedPositions { + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositionsResponse" +)] +pub struct MsgFungifyChargedPositionsResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub new_position_id: u64, +} +pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn pools( + &self, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryPoolsRequest { pagination }.query(self.querier) + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } + pub fn user_positions( + &self, + address: ::prost::alloc::string::String, + pool_id: u64, + ) -> Result { + QueryUserPositionsRequest { address, pool_id }.query(self.querier) + } + pub fn total_liquidity_for_range( + &self, + pool_id: u64, + ) -> Result { + QueryTotalLiquidityForRangeRequest { pool_id }.query(self.querier) + } + pub fn liquidity_net_in_direction( + &self, + pool_id: u64, + token_in: ::prost::alloc::string::String, + start_tick: i64, + use_cur_tick: bool, + bound_tick: i64, + use_no_bound: bool, + ) -> Result { + QueryLiquidityNetInDirectionRequest { + pool_id, + token_in, + start_tick, + use_cur_tick, + bound_tick, + use_no_bound, + } + .query(self.querier) + } + pub fn claimable_fees( + &self, + position_id: u64, + ) -> Result { + QueryClaimableFeesRequest { position_id }.query(self.querier) + } + pub fn position_by_id( + &self, + position_id: u64, + ) -> Result { + QueryPositionByIdRequest { position_id }.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs new file mode 100644 index 00000000..9108cefb --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs @@ -0,0 +1,154 @@ +use osmosis_std_derive::CosmwasmExt; +/// Params holds parameters for the cosmwasmpool 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 = "/osmosis.cosmwasmpool.v1beta1.Params")] +pub struct Params {} +/// GenesisState defines the cosmwasmpool module's 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 = "/osmosis.cosmwasmpool.v1beta1.GenesisState")] +pub struct GenesisState { + /// params is the container of cosmwasmpool parameters. + #[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 = "/osmosis.cosmwasmpool.v1beta1.CosmWasmPool")] +pub struct CosmWasmPool { + #[prost(string, tag = "1")] + pub pool_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub contract_address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, +} +/// ===================== MsgCreateCosmwasmPool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPool")] +pub struct MsgCreateCosmWasmPool { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, + #[prost(bytes = "vec", tag = "2")] + pub instantiate_msg: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub sender: ::prost::alloc::string::String, +} +/// Returns a unique poolID to identify the pool with. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPoolResponse")] +pub struct MsgCreateCosmWasmPoolResponse { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +/// =============================== 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 = "/osmosis.cosmwasmpool.v1beta1.ParamsRequest")] +#[proto_query( + path = "/osmosis.cosmwasmpool.v1beta1.Query/Params", + response_type = ParamsResponse +)] +pub struct ParamsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.ParamsResponse")] +pub struct ParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +pub struct CosmwasmpoolQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> CosmwasmpoolQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + ParamsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index 89247c63..8bbfdd79 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -45,3 +45,49 @@ pub struct MsgCreateBalancerPoolResponse { )] pub pool_id: u64, } +/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub shares_to_migrate: + ::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 = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index b13b1546..cabbedae 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -18,6 +18,9 @@ use osmosis_std_derive::CosmwasmExt; pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, + /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old + /// pools can maintain a non-zero fee. No new pool can be created with non-zero + /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index bdac75ac..d033483f 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -72,6 +72,9 @@ pub struct SmoothWeightChangeParams { pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, + /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old + /// pools can maintain a non-zero fee. No new pool can be created with non-zero + /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] @@ -191,6 +194,112 @@ pub struct GenesisState { pub next_pool_number: u64, #[prost(message, optional, tag = "3")] pub params: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub migration_records: ::core::option::Option, +} +/// MigrationRecords contains all the links between balancer and concentrated +/// pools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] +pub struct MigrationRecords { + #[prost(message, repeated, tag = "1")] + pub balancer_to_concentrated_pool_links: + ::prost::alloc::vec::Vec, +} +/// BalancerToConcentratedPoolLink defines a single link between a single +/// balancer pool and a single concentrated liquidity pool. This link is used to +/// allow a balancer pool to migrate to a single canonical full range +/// concentrated liquidity pool position +/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can +/// be linked to a maximum of one balancer pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] +pub struct BalancerToConcentratedPoolLink { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub balancer_pool_id: u64, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub cl_pool_id: u64, +} +/// ReplaceMigrationRecordsProposal is a gov Content type for updating the +/// migration records. If a ReplaceMigrationRecordsProposal passes, the +/// proposal’s records override the existing MigrationRecords set in the module. +/// Each record specifies a single connection between a single balancer pool and +/// a single concentrated pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] +pub struct ReplaceMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, +} +/// For example: if the existing DistrRecords were: +/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] +/// And an UpdateMigrationRecordsProposal includes +/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] +/// This would leave Balancer 1 record, delete Balancer 2 record, +/// Edit Balancer 3 record, and Add Balancer 4 record +/// The result MigrationRecords in state would be: +/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] +pub struct UpdateMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, } /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap @@ -540,6 +649,7 @@ pub struct MsgExitSwapExternAmountOutResponse { pub share_in_amount: ::prost::alloc::string::String, } /// =============================== Pool +/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -556,6 +666,7 @@ pub struct MsgExitSwapExternAmountOutResponse { path = "/osmosis.gamm.v1beta1.Query/Pool", response_type = QueryPoolResponse )] +#[deprecated] pub struct QueryPoolRequest { #[prost(uint64, tag = "1")] #[serde( @@ -564,6 +675,7 @@ pub struct QueryPoolRequest { )] pub pool_id: u64, } +/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -576,6 +688,7 @@ pub struct QueryPoolRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolResponse")] +#[deprecated] pub struct QueryPoolResponse { #[prost(message, optional, tag = "1")] pub pool: ::core::option::Option, @@ -1226,6 +1339,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } + #[deprecated] pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs index 0bfe94aa..1722d385 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -1,6 +1,5 @@ use osmosis_std_derive::CosmwasmExt; -/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice -/// query. +/// Deprecated: please use alternate in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -17,6 +16,7 @@ use osmosis_std_derive::CosmwasmExt; path = "/osmosis.gamm.v2.Query/SpotPrice", response_type = QuerySpotPriceResponse )] +#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde( @@ -29,8 +29,7 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } -/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice -/// query. +/// Depreacted: please use alternate in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -43,6 +42,7 @@ pub struct QuerySpotPriceRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] +#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -55,6 +55,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } + #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 12becca8..d0f5004a 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,4 +1,6 @@ pub mod accum; +pub mod concentratedliquidity; +pub mod cosmwasmpool; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index 0da6c949..dcb5b4d1 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -84,6 +84,12 @@ pub enum PoolType { /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined /// in x/gamm. Stableswap = 1, + /// Concentrated is the pool model specific to concentrated liquidity. It is + /// defined in x/concentrated-liquidity. + Concentrated = 2, + /// CosmWasm is the pool model specific to CosmWasm. It is defined in + /// x/cosmwasmpool. + CosmWasm = 3, } impl PoolType { /// String value of the enum field names used in the ProtoBuf definition. @@ -94,6 +100,8 @@ impl PoolType { match self { PoolType::Balancer => "Balancer", PoolType::Stableswap => "Stableswap", + PoolType::Concentrated => "Concentrated", + PoolType::CosmWasm => "CosmWasm", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -101,6 +109,8 @@ impl PoolType { match value { "Balancer" => Some(Self::Balancer), "Stableswap" => Some(Self::Stableswap), + "Concentrated" => Some(Self::Concentrated), + "CosmWasm" => Some(Self::CosmWasm), _ => None, } } @@ -281,9 +291,6 @@ pub struct ParamsResponse { response_type = EstimateSwapExactAmountInResponse )] pub struct EstimateSwapExactAmountInRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -306,6 +313,36 @@ pub struct EstimateSwapExactAmountInRequest { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message( + type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountInRequest" +)] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountIn", + response_type = EstimateSwapExactAmountInResponse +)] +pub struct EstimateSinglePoolSwapExactAmountInRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub token_out_denom: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] @@ -329,9 +366,6 @@ pub struct EstimateSwapExactAmountInResponse { response_type = EstimateSwapExactAmountOutResponse )] pub struct EstimateSwapExactAmountOutRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde( serialize_with = "crate::serde::as_str::serialize", @@ -354,6 +388,36 @@ pub struct EstimateSwapExactAmountOutRequest { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message( + type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountOutRequest" +)] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountOut", + response_type = EstimateSwapExactAmountOutResponse +)] +pub struct EstimateSinglePoolSwapExactAmountOutRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub token_out: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] @@ -397,6 +461,137 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } +/// =============================== Pool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.PoolRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/Pool", + response_type = PoolResponse +)] +pub struct PoolRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.poolmanager.v1beta1.PoolResponse")] +pub struct PoolResponse { + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, +} +/// =============================== AllPools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.AllPoolsRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/AllPools", + response_type = AllPoolsResponse +)] +pub struct AllPoolsRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.poolmanager.v1beta1.AllPoolsResponse")] +pub struct AllPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, +} +/// SpotPriceRequest defines the gRPC request structure for a SpotPrice +/// query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/SpotPrice", + response_type = SpotPriceResponse +)] +pub struct SpotPriceRequest { + #[prost(uint64, tag = "1")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset_denom: ::prost::alloc::string::String, +} +/// SpotPriceResponse defines the gRPC response structure for a SpotPrice +/// query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceResponse")] +pub struct SpotPriceResponse { + /// String of the Dec. Ex) 10.203uatom + #[prost(string, tag = "1")] + pub spot_price: ::prost::alloc::string::String, +} pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -409,35 +604,76 @@ impl<'a, Q: cosmwasm_std::CustomQuery> PoolmanagerQuerier<'a, Q> { } pub fn estimate_swap_exact_amount_in( &self, - sender: ::prost::alloc::string::String, pool_id: u64, token_in: ::prost::alloc::string::String, routes: ::prost::alloc::vec::Vec, ) -> Result { EstimateSwapExactAmountInRequest { - sender, pool_id, token_in, routes, } .query(self.querier) } + pub fn estimate_single_pool_swap_exact_amount_in( + &self, + pool_id: u64, + token_in: ::prost::alloc::string::String, + token_out_denom: ::prost::alloc::string::String, + ) -> Result { + EstimateSinglePoolSwapExactAmountInRequest { + pool_id, + token_in, + token_out_denom, + } + .query(self.querier) + } pub fn estimate_swap_exact_amount_out( &self, - sender: ::prost::alloc::string::String, pool_id: u64, routes: ::prost::alloc::vec::Vec, token_out: ::prost::alloc::string::String, ) -> Result { EstimateSwapExactAmountOutRequest { - sender, pool_id, routes, token_out, } .query(self.querier) } + pub fn estimate_single_pool_swap_exact_amount_out( + &self, + pool_id: u64, + token_in_denom: ::prost::alloc::string::String, + token_out: ::prost::alloc::string::String, + ) -> Result { + EstimateSinglePoolSwapExactAmountOutRequest { + pool_id, + token_in_denom, + token_out, + } + .query(self.querier) + } pub fn num_pools(&self) -> Result { NumPoolsRequest {}.query(self.querier) } + pub fn pool(&self, pool_id: u64) -> Result { + PoolRequest { pool_id }.query(self.querier) + } + pub fn all_pools(&self, pool_id: u64) -> Result { + AllPoolsRequest { pool_id }.query(self.querier) + } + pub fn spot_price( + &self, + pool_id: u64, + base_asset_denom: ::prost::alloc::string::String, + quote_asset_denom: ::prost::alloc::string::String, + ) -> Result { + SpotPriceRequest { + pool_id, + base_asset_denom, + quote_asset_denom, + } + .query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index a7a0a4ef..ef781094 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1087,6 +1087,58 @@ pub struct MsgUnPoolWhitelistedPoolResponse { #[prost(uint64, repeated, tag = "1")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } +/// ===================== +/// MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, + #[prost(message, optional, tag = "3")] + pub shares_to_migrate: ::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 = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, +} pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index 52e8eef8..ee842904 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -194,6 +194,44 @@ pub struct QueryDenomsFromCreatorResponse { #[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 = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressRequest")] +#[proto_query( + path = "/osmosis.tokenfactory.v1beta1.Query/BeforeSendHookAddress", + response_type = QueryBeforeSendHookAddressResponse +)] +pub struct QueryBeforeSendHookAddressRequest { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +/// QueryBeforeSendHookAddressResponse defines the response structure for the +/// DenomBeforeSendHook gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressResponse")] +pub struct QueryBeforeSendHookAddressResponse { + #[prost(string, tag = "1")] + pub cosmwasm_address: ::prost::alloc::string::String, +} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -259,6 +297,8 @@ pub struct MsgMint { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub mint_to_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -292,6 +332,8 @@ pub struct MsgBurn { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub burn_from_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -343,6 +385,43 @@ pub struct MsgChangeAdmin { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] pub struct MsgChangeAdminResponse {} +/// MsgSetBeforeSendHook is the sdk.Msg type for allowing an admin account to +/// assign a CosmWasm contract to call with a BeforeSend hook +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHook")] +pub struct MsgSetBeforeSendHook { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub cosmwasm_address: ::prost::alloc::string::String, +} +/// MsgSetBeforeSendHookResponse defines the response structure for an executed +/// MsgSetBeforeSendHook message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHookResponse")] +pub struct MsgSetBeforeSendHookResponse {} /// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set /// the denom's bank metadata #[allow(clippy::derive_partial_eq_without_eq)] @@ -378,6 +457,41 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgForceTransfer")] +pub struct MsgForceTransfer { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub transfer_from_address: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub transfer_to_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 = "/osmosis.tokenfactory.v1beta1.MsgForceTransferResponse")] +pub struct MsgForceTransferResponse {} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -400,4 +514,10 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TokenfactoryQuerier<'a, Q> { ) -> Result { QueryDenomsFromCreatorRequest { creator }.query(self.querier) } + pub fn before_send_hook_address( + &self, + denom: ::prost::alloc::string::String, + ) -> Result { + QueryBeforeSendHookAddressRequest { denom }.query(self.querier) + } } diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 234baf87..38ca186d 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -11,10 +11,10 @@ use proto_build::{ }; /// The Cosmos SDK commit or tag to be cloned and used to build the proto files -const COSMOS_SDK_REV: &str = "44b40d47f3108c29f07fd115e5a92b387fb7a6bd"; +const COSMOS_SDK_REV: &str = "origin/osmosis-main"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v15.0.0"; +const OSMOSIS_REV: &str = "origin/main"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From 3d53e6af4ea93a8e395b25fa5e6780bd47ed31ef Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 11 Apr 2023 02:25:47 +0000 Subject: [PATCH 133/142] rebuild with 087a97b --- dependencies/osmosis | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/osmosis b/dependencies/osmosis index 087a97b2..b01fd3ef 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit 087a97b2976b989f94ab52000a64377c0bcf1a79 +Subproject commit b01fd3efd1b64c05d8c52c3bbc7950014078748d From 4a5ca9a57b3b1571f518cb64f14c8b8e164e7604 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 12 Apr 2023 17:37:04 +0700 Subject: [PATCH 134/142] add alias generation for all _id fields --- packages/proto-build/src/transformers.rs | 50 +++++++++++++++++++++--- 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/packages/proto-build/src/transformers.rs b/packages/proto-build/src/transformers.rs index 78be62dd..76e8149a 100644 --- a/packages/proto-build/src/transformers.rs +++ b/packages/proto-build/src/transformers.rs @@ -201,12 +201,24 @@ pub fn serde_alias_id_with_uppercased(s: ItemStruct) -> ItemStruct { .clone() .into_iter() .map(|mut field| { - if field.ident == Some(format_ident!("id")) { - let serde_alias_id: syn::Attribute = parse_quote! { - #[serde(alias = "ID")] - }; - field.attrs.append(&mut vec![serde_alias_id]); - field + if let Some(ident) = &field.ident { + let ident_str = ident.to_string(); + if ident_str == "id" { + let serde_alias_id: syn::Attribute = parse_quote! { + #[serde(alias = "ID")] + }; + field.attrs.append(&mut vec![serde_alias_id]); + field + } else if ident_str.contains("_id") { + let ident_str = ident_str.replace("_id", "ID"); + let serde_alias_id: syn::Attribute = parse_quote! { + #[serde(alias = #ident_str)] + }; + field.attrs.append(&mut vec![serde_alias_id]); + field + } else { + field + } } else { field } @@ -616,4 +628,30 @@ mod tests { assert_ast_eq!(result, expected); } + + #[test] + #[allow(non_snake_case)] + fn test_alias_partial_id_with_ID() { + let item_struct: ItemStruct = syn::parse_quote! { + #[derive(PartialEq, Eq, Debug)] + pub struct FeeToken { + pub denom: ::prost::alloc::string::String, + + pub pool_id: u64, + } + }; + + let result = serde_alias_id_with_uppercased(item_struct); + + let expected: ItemStruct = syn::parse_quote! { + #[derive(PartialEq, Eq, Debug)] + pub struct FeeToken { + pub denom: ::prost::alloc::string::String, + #[serde(alias = "poolID")] + pub pool_id: u64, + } + }; + + assert_ast_eq!(result, expected); + } } From fc08232351a81bde1cf1caec86fe067c5372a2e6 Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 12 Apr 2023 17:39:25 +0700 Subject: [PATCH 135/142] rebuild with b01fd3e --- dependencies/osmosis | 2 +- osmosis-rust.code-workspace | 17 + packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../osmosis/concentratedliquidity/mod.rs | 24 - .../osmosis/concentratedliquidity/v1beta1.rs | 1099 ----------------- .../src/types/osmosis/cosmwasmpool/mod.rs | 1 - .../src/types/osmosis/cosmwasmpool/v1beta1.rs | 154 --- .../gamm/poolmodels/balancer/v1beta1.rs | 47 +- .../gamm/poolmodels/stableswap/v1beta1.rs | 5 +- .../src/types/osmosis/gamm/v1beta1.rs | 131 +- .../osmosis-std/src/types/osmosis/gamm/v2.rs | 10 +- .../src/types/osmosis/incentives.rs | 4 + .../osmosis-std/src/types/osmosis/lockup.rs | 6 + .../src/types/osmosis/mint/v1beta1.rs | 1 + packages/osmosis-std/src/types/osmosis/mod.rs | 2 - .../types/osmosis/poolincentives/v1beta1.rs | 8 + .../src/types/osmosis/poolmanager/v1beta1.rs | 262 +--- .../src/types/osmosis/superfluid/mod.rs | 63 +- .../src/types/osmosis/tokenfactory/v1beta1.rs | 120 -- .../src/types/osmosis/twap/v1beta1.rs | 6 + .../src/types/osmosis/txfees/v1beta1.rs | 3 + .../src/types/osmosis/valsetpref/v1beta1.rs | 1 + packages/proto-build/src/main.rs | 2 +- packages/proto-build/src/main.rs-- | 76 ++ 24 files changed, 177 insertions(+), 1869 deletions(-) create mode 100644 osmosis-rust.code-workspace delete mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs delete mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs create mode 100644 packages/proto-build/src/main.rs-- diff --git a/dependencies/osmosis b/dependencies/osmosis index b01fd3ef..ff18d824 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit b01fd3efd1b64c05d8c52c3bbc7950014078748d +Subproject commit ff18d8244fcda7313ec951fb1b3bee8369b8316b diff --git a/osmosis-rust.code-workspace b/osmosis-rust.code-workspace new file mode 100644 index 00000000..ce0703ed --- /dev/null +++ b/osmosis-rust.code-workspace @@ -0,0 +1,17 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "packages/osmosis-std" + }, + { + "path": "packages/osmosis-std-derive" + }, + { + "path": "packages/proto-build" + } + ], + "settings": {} +} diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 1a99750f..72219d95 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -origin/main \ No newline at end of file +v15.0.0 \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs deleted file mode 100644 index 8da56098..00000000 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs +++ /dev/null @@ -1,24 +0,0 @@ -pub mod v1beta1; -use osmosis_std_derive::CosmwasmExt; -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] -pub struct Params { - /// authorized_tick_spacing is an array of uint64s that represents the tick - /// spacing values concentrated-liquidity pools can be created with. For - /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools - /// to be created with tick spacing of 1, 10, or 30. - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub authorized_tick_spacing: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag = "2")] - pub authorized_swap_fees: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs deleted file mode 100644 index 09e765c0..00000000 --- a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs +++ /dev/null @@ -1,1099 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// Position contains position's id, address, pool id, lower tick, upper tick -/// join time, and liquidity. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] -pub struct Position { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, - #[prost(string, tag = "2")] - pub address: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "6")] - pub join_time: ::core::option::Option, - #[prost(string, tag = "7")] - pub liquidity: ::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 = "/osmosis.concentratedliquidity.v1beta1.PositionWithUnderlyingAssetBreakdown" -)] -pub struct PositionWithUnderlyingAssetBreakdown { - #[prost(message, optional, tag = "1")] - pub position: ::core::option::Option, - #[prost(message, optional, tag = "2")] - pub asset0: ::core::option::Option, - #[prost(message, optional, tag = "3")] - pub asset1: ::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 = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] -pub struct TickInfo { - #[prost(string, tag = "1")] - pub liquidity_gross: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub liquidity_net: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub fee_growth_outside: - ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "4")] - pub uptime_trackers: ::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 = "/osmosis.concentratedliquidity.v1beta1.UptimeTracker")] -pub struct UptimeTracker { - #[prost(message, repeated, tag = "1")] - pub uptime_growth_outside: - ::prost::alloc::vec::Vec, -} -/// IncentiveRecord is the high-level struct we use to deal with an independent -/// incentive being distributed on a pool. Note that PoolId, Denom, and MinUptime -/// are included in the key so we avoid storing them in state, hence the -/// distinction between IncentiveRecord and IncentiveRecordBody. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecord")] -pub struct IncentiveRecord { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - /// incentive_denom is the denom of the token being distributed as part of this - /// incentive record - #[prost(string, tag = "2")] - pub incentive_denom: ::prost::alloc::string::String, - /// incentiveCreator is the address that created the incentive record. This - /// address does not have any special privileges – it is only kept to keep - /// incentive records created by different addresses separate. - #[prost(string, tag = "3")] - pub incentive_creator_addr: ::prost::alloc::string::String, - /// incentive record body holds necessary - #[prost(message, optional, tag = "4")] - pub incentive_record_body: ::core::option::Option, - /// min_uptime is the minimum uptime required for liquidity to qualify for this - /// incentive. It should be always be one of the supported uptimes in - /// types.SupportedUptimes - #[prost(message, optional, tag = "5")] - pub min_uptime: ::core::option::Option, -} -/// IncentiveRecordBody represents the body stored in state for each individual -/// record. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] -pub struct IncentiveRecordBody { - /// remaining_amount is the total amount of incentives to be distributed - #[prost(string, tag = "1")] - pub remaining_amount: ::prost::alloc::string::String, - /// emission_rate is the incentive emission rate per second - #[prost(string, tag = "2")] - pub emission_rate: ::prost::alloc::string::String, - /// start_time is the time when the incentive starts distributing - #[prost(message, optional, tag = "3")] - pub start_time: ::core::option::Option, -} -/// FullTick contains tick index and pool id along with other tick model -/// information. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullTick")] -pub struct FullTick { - /// pool id associated with the tick. - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - /// tick's index. - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_index: i64, - /// tick's info. - #[prost(message, optional, tag = "3")] - pub info: ::core::option::Option, -} -/// PoolData represents a serialized pool along with its ticks -/// for 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 = "/osmosis.concentratedliquidity.v1beta1.PoolData")] -pub struct PoolData { - /// pool struct - #[prost(message, optional, tag = "1")] - pub pool: ::core::option::Option, - /// pool's ticks - #[prost(message, repeated, tag = "2")] - pub ticks: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag = "3")] - pub fee_accumulator: ::core::option::Option, - #[prost(message, repeated, tag = "4")] - pub incentives_accumulators: ::prost::alloc::vec::Vec, - /// incentive records to be set - #[prost(message, repeated, tag = "5")] - pub incentive_records: ::prost::alloc::vec::Vec, -} -/// GenesisState defines the concentrated liquidity module's 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 = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] -pub struct GenesisState { - /// params are all the parameters of the module - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, - /// pool data containining serialized pool struct and ticks. - #[prost(message, repeated, tag = "2")] - pub pool_data: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag = "3")] - pub positions: ::prost::alloc::vec::Vec, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub next_position_id: u64, -} -/// In original struct of Accum object, store.KVStore is stored together. -/// For handling genesis, we do not need to include store.KVStore since we use -/// CL module's KVStore. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.AccumObject")] -pub struct AccumObject { - /// Accumulator's name (pulled from AccumulatorContent) - #[prost(string, tag = "1")] - pub name: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub accum_content: ::core::option::Option, -} -/// =============================== UserPositions -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", - response_type = QueryUserPositionsResponse -)] -pub struct QueryUserPositionsRequest { - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] -pub struct QueryUserPositionsResponse { - #[prost(message, repeated, tag = "1")] - pub positions: ::prost::alloc::vec::Vec, -} -/// =============================== PositionById -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/PositionById", - response_type = QueryPositionByIdResponse -)] -pub struct QueryPositionByIdRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdResponse")] -pub struct QueryPositionByIdResponse { - #[prost(message, optional, tag = "1")] - pub position: ::core::option::Option, -} -/// =============================== Pools -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", - response_type = QueryPoolsResponse -)] -pub struct QueryPoolsRequest { - /// pagination defines an optional pagination for the request. - #[prost(message, optional, tag = "2")] - pub pagination: - ::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 = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] -pub struct QueryPoolsResponse { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, - /// pagination defines the pagination in the response. - #[prost(message, optional, tag = "2")] - pub pagination: - ::core::option::Option, -} -/// =============================== ModuleParams -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", - 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 = "/osmosis.concentratedliquidity.v1beta1.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 = "/osmosis.concentratedliquidity.v1beta1.TickLiquidityNet")] -pub struct TickLiquidityNet { - #[prost(string, tag = "1")] - pub liquidity_net: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub tick_index: ::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 = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] -pub struct LiquidityDepthWithRange { - #[prost(string, tag = "1")] - pub liquidity_amount: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub lower_tick: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub upper_tick: ::prost::alloc::string::String, -} -/// =============================== LiquidityNetInDirection -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionRequest" -)] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityNetInDirection", - response_type = QueryLiquidityNetInDirectionResponse -)] -pub struct QueryLiquidityNetInDirectionRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub start_tick: i64, - #[prost(bool, tag = "4")] - pub use_cur_tick: bool, - #[prost(int64, tag = "5")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub bound_tick: i64, - #[prost(bool, tag = "6")] - pub use_no_bound: bool, -} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionResponse" -)] -pub struct QueryLiquidityNetInDirectionResponse { - #[prost(message, repeated, tag = "1")] - pub liquidity_depths: ::prost::alloc::vec::Vec, - #[prost(int64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub current_tick: i64, - #[prost(string, tag = "3")] - pub current_liquidity: ::prost::alloc::string::String, -} -/// =============================== TotalLiquidityForRange -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeRequest" -)] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/TotalLiquidityForRange", - response_type = QueryTotalLiquidityForRangeResponse -)] -pub struct QueryTotalLiquidityForRangeRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeResponse" -)] -pub struct QueryTotalLiquidityForRangeResponse { - #[prost(message, repeated, tag = "1")] - pub liquidity: ::prost::alloc::vec::Vec, -} -/// ===================== MsgQueryClaimableFees -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesRequest")] -#[proto_query( - path = "/osmosis.concentratedliquidity.v1beta1.Query/ClaimableFees", - response_type = QueryClaimableFeesResponse -)] -pub struct QueryClaimableFeesRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesResponse")] -pub struct QueryClaimableFeesResponse { - #[prost(message, repeated, tag = "1")] - pub claimable_fees: ::prost::alloc::vec::Vec, -} -/// ===================== MsgCreateConcentratedPool -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] -pub struct MsgCreateConcentratedPool { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub denom0: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub denom1: ::prost::alloc::string::String, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_spacing: u64, - #[prost(string, tag = "5")] - pub exponent_at_price_one: ::prost::alloc::string::String, - #[prost(string, tag = "9")] - pub swap_fee: ::prost::alloc::string::String, -} -/// Returns a unique poolID to identify the pool with. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" -)] -pub struct MsgCreateConcentratedPoolResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.Pool")] -pub struct Pool { - /// pool's address holding all liquidity tokens. - #[prost(string, tag = "1")] - pub address: ::prost::alloc::string::String, - /// address holding the incentives liquidity. - #[prost(string, tag = "2")] - pub incentives_address: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - #[serde(alias = "ID")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub id: u64, - /// Amount of total liquidity - #[prost(string, tag = "4")] - pub current_tick_liquidity: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub token0: ::prost::alloc::string::String, - #[prost(string, tag = "6")] - pub token1: ::prost::alloc::string::String, - #[prost(string, tag = "7")] - pub current_sqrt_price: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub current_tick: ::prost::alloc::string::String, - /// tick_spacing must be one of the authorized_tick_spacing values set in the - /// concentrated-liquidity parameters - #[prost(uint64, tag = "9")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub tick_spacing: u64, - #[prost(string, tag = "10")] - pub exponent_at_price_one: ::prost::alloc::string::String, - /// swap_fee is the ratio that is charged on the amount of token in. - #[prost(string, tag = "11")] - pub swap_fee: ::prost::alloc::string::String, - /// last_liquidity_update is the last time either the pool liquidity or the - /// active tick changed - #[prost(message, optional, tag = "12")] - pub last_liquidity_update: ::core::option::Option, -} -/// ===================== MsgCreatePosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] -pub struct MsgCreatePosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(int64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lower_tick: i64, - #[prost(int64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub upper_tick: i64, - #[prost(message, optional, tag = "5")] - pub token_desired0: ::core::option::Option, - #[prost(message, optional, tag = "6")] - pub token_desired1: ::core::option::Option, - #[prost(string, tag = "7")] - pub token_min_amount0: ::prost::alloc::string::String, - #[prost(string, tag = "8")] - pub token_min_amount1: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] -pub struct MsgCreatePositionResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, - #[prost(string, tag = "2")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub amount1: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub join_time: ::core::option::Option, - #[prost(string, tag = "5")] - pub liquidity_created: ::prost::alloc::string::String, -} -/// ===================== MsgWithdrawPosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] -pub struct MsgWithdrawPosition { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub position_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_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 = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] -pub struct MsgWithdrawPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, -} -/// ===================== MsgCollectFees -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] -pub struct MsgCollectFees { - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub position_ids: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] -pub struct MsgCollectFeesResponse { - #[prost(message, repeated, tag = "1")] - pub collected_fees: ::prost::alloc::vec::Vec, -} -/// ===================== MsgCollectIncentives -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentives")] -pub struct MsgCollectIncentives { - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub position_ids: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentivesResponse")] -pub struct MsgCollectIncentivesResponse { - #[prost(message, repeated, tag = "1")] - pub collected_incentives: - ::prost::alloc::vec::Vec, -} -/// ===================== MsgCreateIncentive -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentive")] -pub struct MsgCreateIncentive { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub incentive_denom: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub incentive_amount: ::prost::alloc::string::String, - #[prost(string, tag = "5")] - pub emission_rate: ::prost::alloc::string::String, - #[prost(message, optional, tag = "6")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "7")] - pub min_uptime: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentiveResponse")] -pub struct MsgCreateIncentiveResponse { - #[prost(string, tag = "1")] - pub incentive_denom: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub incentive_amount: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub emission_rate: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub start_time: ::core::option::Option, - #[prost(message, optional, tag = "5")] - pub min_uptime: ::core::option::Option, -} -/// ===================== MsgFungifyChargedPositions -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositions")] -pub struct MsgFungifyChargedPositions { - #[prost(uint64, repeated, packed = "false", tag = "1")] - pub position_ids: ::prost::alloc::vec::Vec, - #[prost(string, tag = "2")] - pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositionsResponse" -)] -pub struct MsgFungifyChargedPositionsResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub new_position_id: u64, -} -pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn pools( - &self, - pagination: ::core::option::Option< - super::super::super::cosmos::base::query::v1beta1::PageRequest, - >, - ) -> Result { - QueryPoolsRequest { pagination }.query(self.querier) - } - pub fn params(&self) -> Result { - QueryParamsRequest {}.query(self.querier) - } - pub fn user_positions( - &self, - address: ::prost::alloc::string::String, - pool_id: u64, - ) -> Result { - QueryUserPositionsRequest { address, pool_id }.query(self.querier) - } - pub fn total_liquidity_for_range( - &self, - pool_id: u64, - ) -> Result { - QueryTotalLiquidityForRangeRequest { pool_id }.query(self.querier) - } - pub fn liquidity_net_in_direction( - &self, - pool_id: u64, - token_in: ::prost::alloc::string::String, - start_tick: i64, - use_cur_tick: bool, - bound_tick: i64, - use_no_bound: bool, - ) -> Result { - QueryLiquidityNetInDirectionRequest { - pool_id, - token_in, - start_tick, - use_cur_tick, - bound_tick, - use_no_bound, - } - .query(self.querier) - } - pub fn claimable_fees( - &self, - position_id: u64, - ) -> Result { - QueryClaimableFeesRequest { position_id }.query(self.querier) - } - pub fn position_by_id( - &self, - position_id: u64, - ) -> Result { - QueryPositionByIdRequest { position_id }.query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs deleted file mode 100644 index 9f64fc82..00000000 --- a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs +++ /dev/null @@ -1 +0,0 @@ -pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs deleted file mode 100644 index 9108cefb..00000000 --- a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs +++ /dev/null @@ -1,154 +0,0 @@ -use osmosis_std_derive::CosmwasmExt; -/// Params holds parameters for the cosmwasmpool 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 = "/osmosis.cosmwasmpool.v1beta1.Params")] -pub struct Params {} -/// GenesisState defines the cosmwasmpool module's 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 = "/osmosis.cosmwasmpool.v1beta1.GenesisState")] -pub struct GenesisState { - /// params is the container of cosmwasmpool parameters. - #[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 = "/osmosis.cosmwasmpool.v1beta1.CosmWasmPool")] -pub struct CosmWasmPool { - #[prost(string, tag = "1")] - pub pool_address: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub contract_address: ::prost::alloc::string::String, - #[prost(uint64, tag = "3")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(uint64, tag = "4")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub code_id: u64, -} -/// ===================== MsgCreateCosmwasmPool -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPool")] -pub struct MsgCreateCosmWasmPool { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub code_id: u64, - #[prost(bytes = "vec", tag = "2")] - pub instantiate_msg: ::prost::alloc::vec::Vec, - #[prost(string, tag = "3")] - pub sender: ::prost::alloc::string::String, -} -/// Returns a unique poolID to identify the pool with. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPoolResponse")] -pub struct MsgCreateCosmWasmPoolResponse { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, -} -/// =============================== 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 = "/osmosis.cosmwasmpool.v1beta1.ParamsRequest")] -#[proto_query( - path = "/osmosis.cosmwasmpool.v1beta1.Query/Params", - response_type = ParamsResponse -)] -pub struct ParamsRequest {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.ParamsResponse")] -pub struct ParamsResponse { - #[prost(message, optional, tag = "1")] - pub params: ::core::option::Option, -} -pub struct CosmwasmpoolQuerier<'a, Q: cosmwasm_std::CustomQuery> { - querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, -} -impl<'a, Q: cosmwasm_std::CustomQuery> CosmwasmpoolQuerier<'a, Q> { - pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { - Self { querier } - } - pub fn params(&self) -> Result { - ParamsRequest {}.query(self.querier) - } -} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index 8bbfdd79..a6971400 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -39,55 +39,10 @@ pub struct MsgCreateBalancerPool { )] pub struct MsgCreateBalancerPoolResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub pool_id: u64, } -/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" -)] -pub struct MsgMigrateSharesToFullRangeConcentratedPosition { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub shares_to_migrate: - ::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 = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" -)] -pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_created: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub join_time: ::core::option::Option, -} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index cabbedae..4084acc4 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -18,9 +18,6 @@ use osmosis_std_derive::CosmwasmExt; pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, - /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old - /// pools can maintain a non-zero fee. No new pool can be created with non-zero - /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, } @@ -119,6 +116,7 @@ pub struct MsgCreateStableswapPool { )] pub struct MsgCreateStableswapPoolResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -145,6 +143,7 @@ pub struct MsgStableSwapAdjustScalingFactors { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index d033483f..f67707b9 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -72,9 +72,6 @@ pub struct SmoothWeightChangeParams { pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, - /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old - /// pools can maintain a non-zero fee. No new pool can be created with non-zero - /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] @@ -194,112 +191,6 @@ pub struct GenesisState { pub next_pool_number: u64, #[prost(message, optional, tag = "3")] pub params: ::core::option::Option, - #[prost(message, optional, tag = "4")] - pub migration_records: ::core::option::Option, -} -/// MigrationRecords contains all the links between balancer and concentrated -/// pools -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] -pub struct MigrationRecords { - #[prost(message, repeated, tag = "1")] - pub balancer_to_concentrated_pool_links: - ::prost::alloc::vec::Vec, -} -/// BalancerToConcentratedPoolLink defines a single link between a single -/// balancer pool and a single concentrated liquidity pool. This link is used to -/// allow a balancer pool to migrate to a single canonical full range -/// concentrated liquidity pool position -/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can -/// be linked to a maximum of one balancer pool. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] -pub struct BalancerToConcentratedPoolLink { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub balancer_pool_id: u64, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub cl_pool_id: u64, -} -/// ReplaceMigrationRecordsProposal is a gov Content type for updating the -/// migration records. If a ReplaceMigrationRecordsProposal passes, the -/// proposal’s records override the existing MigrationRecords set in the module. -/// Each record specifies a single connection between a single balancer pool and -/// a single concentrated pool. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] -pub struct ReplaceMigrationRecordsProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub records: ::prost::alloc::vec::Vec, -} -/// For example: if the existing DistrRecords were: -/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] -/// And an UpdateMigrationRecordsProposal includes -/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] -/// This would leave Balancer 1 record, delete Balancer 2 record, -/// Edit Balancer 3 record, and Add Balancer 4 record -/// The result MigrationRecords in state would be: -/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] -pub struct UpdateMigrationRecordsProposal { - #[prost(string, tag = "1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub description: ::prost::alloc::string::String, - #[prost(message, repeated, tag = "3")] - pub records: ::prost::alloc::vec::Vec, } /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap @@ -319,6 +210,7 @@ pub struct MsgJoinPool { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -364,6 +256,7 @@ pub struct MsgExitPool { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -485,6 +378,7 @@ pub struct MsgJoinSwapExternAmountIn { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -532,6 +426,7 @@ pub struct MsgJoinSwapShareAmountOut { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -577,6 +472,7 @@ pub struct MsgExitSwapShareAmountIn { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -622,6 +518,7 @@ pub struct MsgExitSwapExternAmountOut { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -649,7 +546,6 @@ pub struct MsgExitSwapExternAmountOutResponse { pub share_in_amount: ::prost::alloc::string::String, } /// =============================== Pool -/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -666,16 +562,15 @@ pub struct MsgExitSwapExternAmountOutResponse { path = "/osmosis.gamm.v1beta1.Query/Pool", response_type = QueryPoolResponse )] -#[deprecated] pub struct QueryPoolRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub pool_id: u64, } -/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -688,7 +583,6 @@ pub struct QueryPoolRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolResponse")] -#[deprecated] pub struct QueryPoolResponse { #[prost(message, optional, tag = "1")] pub pool: ::core::option::Option, @@ -795,6 +689,7 @@ pub struct QueryNumPoolsResponse { )] pub struct QueryPoolTypeRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -836,6 +731,7 @@ pub struct QueryPoolTypeResponse { )] pub struct QueryCalcJoinPoolSharesRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -881,6 +777,7 @@ pub struct QueryCalcJoinPoolSharesResponse { )] pub struct QueryCalcExitPoolCoinsFromSharesRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -924,6 +821,7 @@ pub struct QueryCalcExitPoolCoinsFromSharesResponse { )] pub struct QueryPoolParamsRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -965,6 +863,7 @@ pub struct QueryPoolParamsResponse { )] pub struct QueryTotalPoolLiquidityRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1006,6 +905,7 @@ pub struct QueryTotalPoolLiquidityResponse { )] pub struct QueryTotalSharesRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1047,6 +947,7 @@ pub struct QueryTotalSharesResponse { )] pub struct QueryCalcJoinPoolNoSwapSharesRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1094,6 +995,7 @@ pub struct QueryCalcJoinPoolNoSwapSharesResponse { #[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1193,6 +1095,7 @@ pub struct QuerySwapExactAmountInRequest { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1242,6 +1145,7 @@ pub struct QuerySwapExactAmountOutRequest { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1339,7 +1243,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } - #[deprecated] pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs index 1722d385..9de4cf24 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -1,5 +1,6 @@ use osmosis_std_derive::CosmwasmExt; -/// Deprecated: please use alternate in x/poolmanager +/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice +/// query. #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -16,9 +17,9 @@ use osmosis_std_derive::CosmwasmExt; path = "/osmosis.gamm.v2.Query/SpotPrice", response_type = QuerySpotPriceResponse )] -#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -29,7 +30,8 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } -/// Depreacted: please use alternate in x/poolmanager +/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice +/// query. #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -42,7 +44,6 @@ pub struct QuerySpotPriceRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] -#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -55,7 +56,6 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } - #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/incentives.rs b/packages/osmosis-std/src/types/osmosis/incentives.rs index 1717485c..748ad076 100644 --- a/packages/osmosis-std/src/types/osmosis/incentives.rs +++ b/packages/osmosis-std/src/types/osmosis/incentives.rs @@ -95,6 +95,7 @@ pub struct Params { /// distr_epoch_identifier is what epoch type distribution will be triggered by /// (day, week, etc.) #[prost(string, tag = "1")] + #[serde(alias = "distr_epochIDentifier")] pub distr_epoch_identifier: ::prost::alloc::string::String, } /// GenesisState defines the incentives module's various parameters when first @@ -125,6 +126,7 @@ pub struct GenesisState { /// last_gauge_id is what the gauge number will increment from when creating /// the next gauge after genesis #[prost(uint64, tag = "4")] + #[serde(alias = "last_gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -443,6 +445,7 @@ pub struct RewardsEstRequest { pub owner: ::prost::alloc::string::String, /// Lock IDs included in future reward estimation #[prost(uint64, repeated, tag = "2")] + #[serde(alias = "lockIDs")] pub lock_ids: ::prost::alloc::vec::Vec, /// Upper time limit of reward estimation /// Lower limit is current epoch @@ -580,6 +583,7 @@ pub struct MsgAddToGauge { pub owner: ::prost::alloc::string::String, /// gauge_id is the ID of gauge that rewards are getting added to #[prost(uint64, tag = "2")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/lockup.rs b/packages/osmosis-std/src/types/osmosis/lockup.rs index c6adb51f..f9bc6f38 100644 --- a/packages/osmosis-std/src/types/osmosis/lockup.rs +++ b/packages/osmosis-std/src/types/osmosis/lockup.rs @@ -101,6 +101,7 @@ pub struct SyntheticLock { /// Underlying Lock ID is the underlying native lock's id for this synthetic /// lockup. A synthetic lock MUST have an underlying lock. #[prost(uint64, tag = "1")] + #[serde(alias = "underlying_lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -163,6 +164,7 @@ impl LockQueryType { #[proto_message(type_url = "/osmosis.lockup.GenesisState")] pub struct GenesisState { #[prost(uint64, tag = "1")] + #[serde(alias = "last_lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -570,6 +572,7 @@ pub struct LockedDenomResponse { #[proto_query(path = "/osmosis.lockup.Query/LockedByID", response_type = LockedResponse)] pub struct LockedRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -623,6 +626,7 @@ pub struct NextLockIdRequest {} #[proto_message(type_url = "/osmosis.lockup.NextLockIDResponse")] pub struct NextLockIdResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -647,6 +651,7 @@ pub struct NextLockIdResponse { )] pub struct SyntheticLockupsByLockupIdRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -971,6 +976,7 @@ pub struct MsgBeginUnlockingResponse { #[prost(bool, tag = "1")] pub success: bool, #[prost(uint64, tag = "2")] + #[serde(alias = "unlocking_lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs index eb54eaee..a1fe0f21 100644 --- a/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/mint/v1beta1.rs @@ -93,6 +93,7 @@ pub struct Params { pub genesis_epoch_provisions: ::prost::alloc::string::String, /// epoch_identifier mint epoch identifier e.g. (day, week). #[prost(string, tag = "3")] + #[serde(alias = "epochIDentifier")] pub epoch_identifier: ::prost::alloc::string::String, /// reduction_period_in_epochs the number of epochs it takes /// to reduce the rewards. diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index d0f5004a..12becca8 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,6 +1,4 @@ pub mod accum; -pub mod concentratedliquidity; -pub mod cosmwasmpool; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs index 4ad54256..ae681f31 100644 --- a/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolincentives/v1beta1.rs @@ -67,6 +67,7 @@ pub struct DistrInfo { #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.DistrRecord")] pub struct DistrRecord { #[prost(uint64, tag = "1")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -89,12 +90,14 @@ pub struct DistrRecord { #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.PoolToGauge")] pub struct PoolToGauge { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" )] pub pool_id: u64, #[prost(uint64, tag = "2")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -215,6 +218,7 @@ pub struct UpdatePoolIncentivesProposal { )] pub struct QueryGaugeIdsRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -235,6 +239,7 @@ pub struct QueryGaugeIdsRequest { #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.QueryGaugeIdsResponse")] pub struct QueryGaugeIdsResponse { #[prost(message, repeated, tag = "1")] + #[serde(alias = "gaugeIDs_with_duration")] pub gauge_ids_with_duration: ::prost::alloc::vec::Vec, } @@ -257,6 +262,7 @@ pub mod query_gauge_ids_response { )] pub struct GaugeIdWithDuration { #[prost(uint64, tag = "1")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -398,6 +404,7 @@ pub struct QueryIncentivizedPoolsRequest {} #[proto_message(type_url = "/osmosis.poolincentives.v1beta1.IncentivizedPool")] pub struct IncentivizedPool { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -406,6 +413,7 @@ pub struct IncentivizedPool { #[prost(message, optional, tag = "2")] pub lockable_duration: ::core::option::Option, #[prost(uint64, tag = "3")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index dcb5b4d1..aa09320b 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -13,6 +13,7 @@ use osmosis_std_derive::CosmwasmExt; #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SwapAmountInRoute")] pub struct SwapAmountInRoute { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -35,6 +36,7 @@ pub struct SwapAmountInRoute { #[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SwapAmountOutRoute")] pub struct SwapAmountOutRoute { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -68,6 +70,7 @@ pub struct ModuleRoute { )] pub pool_type: i32, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -84,12 +87,6 @@ pub enum PoolType { /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined /// in x/gamm. Stableswap = 1, - /// Concentrated is the pool model specific to concentrated liquidity. It is - /// defined in x/concentrated-liquidity. - Concentrated = 2, - /// CosmWasm is the pool model specific to CosmWasm. It is defined in - /// x/cosmwasmpool. - CosmWasm = 3, } impl PoolType { /// String value of the enum field names used in the ProtoBuf definition. @@ -100,8 +97,6 @@ impl PoolType { match self { PoolType::Balancer => "Balancer", PoolType::Stableswap => "Stableswap", - PoolType::Concentrated => "Concentrated", - PoolType::CosmWasm => "CosmWasm", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -109,8 +104,6 @@ impl PoolType { match value { "Balancer" => Some(Self::Balancer), "Stableswap" => Some(Self::Stableswap), - "Concentrated" => Some(Self::Concentrated), - "CosmWasm" => Some(Self::CosmWasm), _ => None, } } @@ -149,6 +142,7 @@ pub struct Params { pub struct GenesisState { /// the next_pool_id #[prost(uint64, tag = "1")] + #[serde(alias = "next_poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -291,7 +285,11 @@ pub struct ParamsResponse { response_type = EstimateSwapExactAmountInResponse )] pub struct EstimateSwapExactAmountInRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -313,36 +311,6 @@ pub struct EstimateSwapExactAmountInRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountInRequest" -)] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountIn", - response_type = EstimateSwapExactAmountInResponse -)] -pub struct EstimateSinglePoolSwapExactAmountInRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub token_out_denom: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] @@ -366,7 +334,11 @@ pub struct EstimateSwapExactAmountInResponse { response_type = EstimateSwapExactAmountOutResponse )] pub struct EstimateSwapExactAmountOutRequest { + /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -388,36 +360,6 @@ pub struct EstimateSwapExactAmountOutRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountOutRequest" -)] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountOut", - response_type = EstimateSwapExactAmountOutResponse -)] -pub struct EstimateSinglePoolSwapExactAmountOutRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub token_in_denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub token_out: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] @@ -461,137 +403,6 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } -/// =============================== Pool -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.PoolRequest")] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/Pool", - response_type = PoolResponse -)] -pub struct PoolRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.poolmanager.v1beta1.PoolResponse")] -pub struct PoolResponse { - #[prost(message, optional, tag = "1")] - pub pool: ::core::option::Option, -} -/// =============================== AllPools -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.AllPoolsRequest")] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/AllPools", - response_type = AllPoolsResponse -)] -pub struct AllPoolsRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_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 = "/osmosis.poolmanager.v1beta1.AllPoolsResponse")] -pub struct AllPoolsResponse { - #[prost(message, repeated, tag = "1")] - pub pools: ::prost::alloc::vec::Vec, -} -/// SpotPriceRequest defines the gRPC request structure for a SpotPrice -/// query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceRequest")] -#[proto_query( - path = "/osmosis.poolmanager.v1beta1.Query/SpotPrice", - response_type = SpotPriceResponse -)] -pub struct SpotPriceRequest { - #[prost(uint64, tag = "1")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub pool_id: u64, - #[prost(string, tag = "2")] - pub base_asset_denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub quote_asset_denom: ::prost::alloc::string::String, -} -/// SpotPriceResponse defines the gRPC response structure for a SpotPrice -/// query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceResponse")] -pub struct SpotPriceResponse { - /// String of the Dec. Ex) 10.203uatom - #[prost(string, tag = "1")] - pub spot_price: ::prost::alloc::string::String, -} pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -604,76 +415,35 @@ impl<'a, Q: cosmwasm_std::CustomQuery> PoolmanagerQuerier<'a, Q> { } pub fn estimate_swap_exact_amount_in( &self, + sender: ::prost::alloc::string::String, pool_id: u64, token_in: ::prost::alloc::string::String, routes: ::prost::alloc::vec::Vec, ) -> Result { EstimateSwapExactAmountInRequest { + sender, pool_id, token_in, routes, } .query(self.querier) } - pub fn estimate_single_pool_swap_exact_amount_in( - &self, - pool_id: u64, - token_in: ::prost::alloc::string::String, - token_out_denom: ::prost::alloc::string::String, - ) -> Result { - EstimateSinglePoolSwapExactAmountInRequest { - pool_id, - token_in, - token_out_denom, - } - .query(self.querier) - } pub fn estimate_swap_exact_amount_out( &self, + sender: ::prost::alloc::string::String, pool_id: u64, routes: ::prost::alloc::vec::Vec, token_out: ::prost::alloc::string::String, ) -> Result { EstimateSwapExactAmountOutRequest { + sender, pool_id, routes, token_out, } .query(self.querier) } - pub fn estimate_single_pool_swap_exact_amount_out( - &self, - pool_id: u64, - token_in_denom: ::prost::alloc::string::String, - token_out: ::prost::alloc::string::String, - ) -> Result { - EstimateSinglePoolSwapExactAmountOutRequest { - pool_id, - token_in_denom, - token_out, - } - .query(self.querier) - } pub fn num_pools(&self) -> Result { NumPoolsRequest {}.query(self.querier) } - pub fn pool(&self, pool_id: u64) -> Result { - PoolRequest { pool_id }.query(self.querier) - } - pub fn all_pools(&self, pool_id: u64) -> Result { - AllPoolsRequest { pool_id }.query(self.querier) - } - pub fn spot_price( - &self, - pool_id: u64, - base_asset_denom: ::prost::alloc::string::String, - quote_asset_denom: ::prost::alloc::string::String, - ) -> Result { - SpotPriceRequest { - pool_id, - base_asset_denom, - quote_asset_denom, - } - .query(self.querier) - } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index ef781094..8b352e11 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -48,6 +48,7 @@ pub struct SuperfluidIntermediaryAccount { pub val_addr: ::prost::alloc::string::String, /// perpetual gauge for rewards distribution #[prost(uint64, tag = "3")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -127,6 +128,7 @@ pub struct SuperfluidDelegationRecord { #[proto_message(type_url = "/osmosis.superfluid.LockIdIntermediaryAccountConnection")] pub struct LockIdIntermediaryAccountConnection { #[prost(uint64, tag = "1")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -395,6 +397,7 @@ pub struct SuperfluidIntermediaryAccountInfo { #[prost(string, tag = "2")] pub val_addr: ::prost::alloc::string::String, #[prost(uint64, tag = "3")] + #[serde(alias = "gaugeID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -460,6 +463,7 @@ pub struct AllIntermediaryAccountsResponse { )] pub struct ConnectedIntermediaryAccountRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -850,6 +854,7 @@ pub struct QueryUnpoolWhitelistRequest {} #[proto_message(type_url = "/osmosis.superfluid.QueryUnpoolWhitelistResponse")] pub struct QueryUnpoolWhitelistResponse { #[prost(uint64, repeated, tag = "1")] + #[serde(alias = "poolIDs")] pub pool_ids: ::prost::alloc::vec::Vec, } #[allow(clippy::derive_partial_eq_without_eq)] @@ -868,6 +873,7 @@ pub struct MsgSuperfluidDelegate { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -905,6 +911,7 @@ pub struct MsgSuperfluidUndelegate { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -940,6 +947,7 @@ pub struct MsgSuperfluidUnbondLock { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -975,6 +983,7 @@ pub struct MsgSuperfluidUndelegateAndUnbondLock { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1065,6 +1074,7 @@ pub struct MsgUnPoolWhitelistedPool { #[prost(string, tag = "1")] pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -1085,60 +1095,9 @@ pub struct MsgUnPoolWhitelistedPool { #[proto_message(type_url = "/osmosis.superfluid.MsgUnPoolWhitelistedPoolResponse")] pub struct MsgUnPoolWhitelistedPoolResponse { #[prost(uint64, repeated, tag = "1")] + #[serde(alias = "exited_lockIDs")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } -/// ===================== -/// MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message( - type_url = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition" -)] -pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(uint64, tag = "2")] - #[serde( - serialize_with = "crate::serde::as_str::serialize", - deserialize_with = "crate::serde::as_str::deserialize" - )] - pub lock_id: u64, - #[prost(message, optional, tag = "3")] - pub shares_to_migrate: ::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 = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse" -)] -pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse { - #[prost(string, tag = "1")] - pub amount0: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub amount1: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub liquidity_created: ::prost::alloc::string::String, - #[prost(message, optional, tag = "4")] - pub join_time: ::core::option::Option, -} pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index ee842904..52e8eef8 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -194,44 +194,6 @@ pub struct QueryDenomsFromCreatorResponse { #[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 = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressRequest")] -#[proto_query( - path = "/osmosis.tokenfactory.v1beta1.Query/BeforeSendHookAddress", - response_type = QueryBeforeSendHookAddressResponse -)] -pub struct QueryBeforeSendHookAddressRequest { - #[prost(string, tag = "1")] - pub denom: ::prost::alloc::string::String, -} -/// QueryBeforeSendHookAddressResponse defines the response structure for the -/// DenomBeforeSendHook gRPC query. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressResponse")] -pub struct QueryBeforeSendHookAddressResponse { - #[prost(string, tag = "1")] - pub cosmwasm_address: ::prost::alloc::string::String, -} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -297,8 +259,6 @@ pub struct MsgMint { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, - #[prost(string, tag = "3")] - pub mint_to_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -332,8 +292,6 @@ pub struct MsgBurn { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, - #[prost(string, tag = "3")] - pub burn_from_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -385,43 +343,6 @@ pub struct MsgChangeAdmin { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] pub struct MsgChangeAdminResponse {} -/// MsgSetBeforeSendHook is the sdk.Msg type for allowing an admin account to -/// assign a CosmWasm contract to call with a BeforeSend hook -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHook")] -pub struct MsgSetBeforeSendHook { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(string, tag = "2")] - pub denom: ::prost::alloc::string::String, - #[prost(string, tag = "3")] - pub cosmwasm_address: ::prost::alloc::string::String, -} -/// MsgSetBeforeSendHookResponse defines the response structure for an executed -/// MsgSetBeforeSendHook message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHookResponse")] -pub struct MsgSetBeforeSendHookResponse {} /// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set /// the denom's bank metadata #[allow(clippy::derive_partial_eq_without_eq)] @@ -457,41 +378,6 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive( - Clone, - PartialEq, - Eq, - ::prost::Message, - ::serde::Serialize, - ::serde::Deserialize, - ::schemars::JsonSchema, - CosmwasmExt, -)] -#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgForceTransfer")] -pub struct MsgForceTransfer { - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, - #[prost(message, optional, tag = "2")] - pub amount: ::core::option::Option, - #[prost(string, tag = "3")] - pub transfer_from_address: ::prost::alloc::string::String, - #[prost(string, tag = "4")] - pub transfer_to_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 = "/osmosis.tokenfactory.v1beta1.MsgForceTransferResponse")] -pub struct MsgForceTransferResponse {} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -514,10 +400,4 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TokenfactoryQuerier<'a, Q> { ) -> Result { QueryDenomsFromCreatorRequest { creator }.query(self.querier) } - pub fn before_send_hook_address( - &self, - denom: ::prost::alloc::string::String, - ) -> Result { - QueryBeforeSendHookAddressRequest { denom }.query(self.querier) - } } diff --git a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs index 945dc339..d8555447 100644 --- a/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/twap/v1beta1.rs @@ -20,6 +20,7 @@ use osmosis_std_derive::CosmwasmExt; #[proto_message(type_url = "/osmosis.twap.v1beta1.TwapRecord")] pub struct TwapRecord { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -75,6 +76,7 @@ pub struct TwapRecord { #[proto_message(type_url = "/osmosis.twap.v1beta1.Params")] pub struct Params { #[prost(string, tag = "1")] + #[serde(alias = "prune_epochIDentifier")] pub prune_epoch_identifier: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub record_history_keep_period: ::core::option::Option, @@ -118,6 +120,7 @@ pub struct GenesisState { )] pub struct ArithmeticTwapRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -166,6 +169,7 @@ pub struct ArithmeticTwapResponse { )] pub struct ArithmeticTwapToNowRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -212,6 +216,7 @@ pub struct ArithmeticTwapToNowResponse { )] pub struct GeometricTwapRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -260,6 +265,7 @@ pub struct GeometricTwapResponse { )] pub struct GeometricTwapToNowRequest { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs index f320e0de..8a88b14d 100644 --- a/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/txfees/v1beta1.rs @@ -19,6 +19,7 @@ pub struct FeeToken { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -140,6 +141,7 @@ pub struct QueryDenomSpotPriceRequest { #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryDenomSpotPriceResponse")] pub struct QueryDenomSpotPriceResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" @@ -182,6 +184,7 @@ pub struct QueryDenomPoolIdRequest { #[proto_message(type_url = "/osmosis.txfees.v1beta1.QueryDenomPoolIdResponse")] pub struct QueryDenomPoolIdResponse { #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs index 441b6257..7d3a0f08 100644 --- a/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/valsetpref/v1beta1.rs @@ -280,6 +280,7 @@ pub struct MsgDelegateBondedTokens { pub delegator: ::prost::alloc::string::String, /// lockup id of osmo in the pool #[prost(uint64, tag = "2")] + #[serde(alias = "lockID")] #[serde( serialize_with = "crate::serde::as_str::serialize", deserialize_with = "crate::serde::as_str::deserialize" diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 38ca186d..24c10a60 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "origin/osmosis-main"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "origin/main"; +const OSMOSIS_REV: &str = "v15.0.0"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. diff --git a/packages/proto-build/src/main.rs-- b/packages/proto-build/src/main.rs-- new file mode 100644 index 00000000..38ca186d --- /dev/null +++ b/packages/proto-build/src/main.rs-- @@ -0,0 +1,76 @@ +//! Build Osmosis proto files. This build script clones the CosmosSDK and Osmosis version +//! specified in the COSMOS_SDK_REV and OSMOSIS_REV constant respectively and then +//! uses that to build the required proto files for further compilation. +//! This is based on the proto-compiler code in github.com/informalsystems/ibc-rs + +use std::{env, path::PathBuf}; + +use proto_build::{ + code_generator::{CodeGenerator, CosmosProject}, + git, +}; + +/// The Cosmos SDK commit or tag to be cloned and used to build the proto files +const COSMOS_SDK_REV: &str = "origin/osmosis-main"; + +/// The osmosis commit or tag to be cloned and used to build the proto files +const OSMOSIS_REV: &str = "origin/main"; + +// All paths must end with a / and either be absolute or include a ./ to reference the current +// working directory. + +/// The directory generated cosmos-sdk proto files go into in this repo +const OUT_DIR: &str = "../osmosis-std/src/types/"; +/// Directory where the cosmos-sdk submodule is located +const COSMOS_SDK_DIR: &str = "../../dependencies/cosmos-sdk/"; +/// Directory where the osmosis submodule is located +const OSMOSIS_DIR: &str = "../../dependencies/osmosis/"; + +/// A temporary directory for proto building +const TMP_BUILD_DIR: &str = "/tmp/tmp-protobuf/"; + +pub fn generate() { + let args: Vec = env::args().collect(); + if args.iter().any(|arg| arg == "--update-deps") { + git::update_submodule(COSMOS_SDK_DIR, COSMOS_SDK_REV); + git::update_submodule(OSMOSIS_DIR, OSMOSIS_REV); + } + + let tmp_build_dir: PathBuf = TMP_BUILD_DIR.parse().unwrap(); + let out_dir: PathBuf = OUT_DIR.parse().unwrap(); + + let osmosis_project = CosmosProject { + name: "osmosis".to_string(), + version: OSMOSIS_REV.to_string(), + project_dir: OSMOSIS_DIR.to_string(), + include_mods: vec![], + }; + let cosmos_project = CosmosProject { + name: "cosmos".to_string(), + version: COSMOS_SDK_REV.to_string(), + project_dir: COSMOS_SDK_DIR.to_string(), + include_mods: vec![ + "auth".to_string(), + "authz".to_string(), + "bank".to_string(), + "base".to_string(), + "staking/v1beta1/genesis.proto".to_string(), + "staking/v1beta1/staking.proto".to_string(), + "staking/v1beta1/tx.proto".to_string(), + ], + }; + + let osmosis_code_generator = CodeGenerator::new( + out_dir, + tmp_build_dir, + osmosis_project, + vec![cosmos_project], + ); + + osmosis_code_generator.generate(); +} + +fn main() { + pretty_env_logger::init(); + generate(); +} From b49394b3af9294a020d36d62acf2c793a648748c Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 12 Apr 2023 17:41:55 +0700 Subject: [PATCH 136/142] bump version to 0.15.2 --- packages/osmosis-std-derive/Cargo.toml | 2 +- packages/osmosis-std/Cargo.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/osmosis-std-derive/Cargo.toml b/packages/osmosis-std-derive/Cargo.toml index 929f17c6..634c7224 100644 --- a/packages/osmosis-std-derive/Cargo.toml +++ b/packages/osmosis-std-derive/Cargo.toml @@ -3,7 +3,7 @@ description = "Procedural macro for osmosis-std" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-std-derive" -version = "0.15.1" +version = "0.15.2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/packages/osmosis-std/Cargo.toml b/packages/osmosis-std/Cargo.toml index ec905ab2..eb8cc531 100644 --- a/packages/osmosis-std/Cargo.toml +++ b/packages/osmosis-std/Cargo.toml @@ -3,14 +3,14 @@ description = "Standard library for Osmosis with CosmWasm support included" edition = "2021" license = "MIT OR Apache-2.0" name = "osmosis-std" -version = "0.15.1" +version = "0.15.2" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] chrono = {version = "0.4.22", default-features = false} cosmwasm-std = {version = "1.1.2", features = ["stargate"]} -osmosis-std-derive = {version = "0.15.1", path = "../osmosis-std-derive"} +osmosis-std-derive = {version = "0.15.2", path = "../osmosis-std-derive"} prost = {version = "0.11.0", default-features = false, features = ["prost-derive"]} prost-types = {version = "0.11.1", default-features = false} schemars = "0.8.8" From 6447b509543d6449bdcd339f2d295399e7df523b Mon Sep 17 00:00:00 2001 From: Supanat Potiwarakorn Date: Wed, 12 Apr 2023 17:45:39 +0700 Subject: [PATCH 137/142] update main with new generator logic --- dependencies/osmosis | 2 +- packages/osmosis-std/src/types/OSMOSIS_COMMIT | 2 +- .../osmosis/concentratedliquidity/mod.rs | 24 + .../osmosis/concentratedliquidity/v1beta1.rs | 1118 +++++++++++++++++ .../src/types/osmosis/cosmwasmpool/mod.rs | 1 + .../src/types/osmosis/cosmwasmpool/v1beta1.rs | 158 +++ .../gamm/poolmodels/balancer/v1beta1.rs | 46 + .../gamm/poolmodels/stableswap/v1beta1.rs | 3 + .../src/types/osmosis/gamm/v1beta1.rs | 116 ++ .../osmosis-std/src/types/osmosis/gamm/v2.rs | 9 +- packages/osmosis-std/src/types/osmosis/mod.rs | 2 + .../src/types/osmosis/poolmanager/v1beta1.rs | 261 +++- .../src/types/osmosis/superfluid/mod.rs | 53 + .../src/types/osmosis/tokenfactory/v1beta1.rs | 120 ++ packages/proto-build/src/main.rs | 2 +- 15 files changed, 1900 insertions(+), 17 deletions(-) create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs create mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs create mode 100644 packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs diff --git a/dependencies/osmosis b/dependencies/osmosis index ff18d824..91e61673 160000 --- a/dependencies/osmosis +++ b/dependencies/osmosis @@ -1 +1 @@ -Subproject commit ff18d8244fcda7313ec951fb1b3bee8369b8316b +Subproject commit 91e61673b96093297f609e3a620796bde814ed4d diff --git a/packages/osmosis-std/src/types/OSMOSIS_COMMIT b/packages/osmosis-std/src/types/OSMOSIS_COMMIT index 72219d95..1a99750f 100644 --- a/packages/osmosis-std/src/types/OSMOSIS_COMMIT +++ b/packages/osmosis-std/src/types/OSMOSIS_COMMIT @@ -1 +1 @@ -v15.0.0 \ No newline at end of file +origin/main \ No newline at end of file diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs new file mode 100644 index 00000000..8da56098 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/mod.rs @@ -0,0 +1,24 @@ +pub mod v1beta1; +use osmosis_std_derive::CosmwasmExt; +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.Params")] +pub struct Params { + /// authorized_tick_spacing is an array of uint64s that represents the tick + /// spacing values concentrated-liquidity pools can be created with. For + /// example, an authorized_tick_spacing of [1, 10, 30] allows for pools + /// to be created with tick spacing of 1, 10, or 30. + #[prost(uint64, repeated, packed = "false", tag = "1")] + pub authorized_tick_spacing: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "2")] + pub authorized_swap_fees: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} diff --git a/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs new file mode 100644 index 00000000..2a5abee3 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/concentratedliquidity/v1beta1.rs @@ -0,0 +1,1118 @@ +use osmosis_std_derive::CosmwasmExt; +/// Position contains position's id, address, pool id, lower tick, upper tick +/// join time, and liquidity. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.Position")] +pub struct Position { + #[prost(uint64, tag = "1")] + #[serde(alias = "positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "6")] + pub join_time: ::core::option::Option, + #[prost(string, tag = "7")] + pub liquidity: ::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 = "/osmosis.concentratedliquidity.v1beta1.PositionWithUnderlyingAssetBreakdown" +)] +pub struct PositionWithUnderlyingAssetBreakdown { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub asset0: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub asset1: ::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 = "/osmosis.concentratedliquidity.v1beta1.TickInfo")] +pub struct TickInfo { + #[prost(string, tag = "1")] + pub liquidity_gross: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub fee_growth_outside: + ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "4")] + pub uptime_trackers: ::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 = "/osmosis.concentratedliquidity.v1beta1.UptimeTracker")] +pub struct UptimeTracker { + #[prost(message, repeated, tag = "1")] + pub uptime_growth_outside: + ::prost::alloc::vec::Vec, +} +/// IncentiveRecord is the high-level struct we use to deal with an independent +/// incentive being distributed on a pool. Note that PoolId, Denom, and MinUptime +/// are included in the key so we avoid storing them in state, hence the +/// distinction between IncentiveRecord and IncentiveRecordBody. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecord")] +pub struct IncentiveRecord { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + /// incentive_denom is the denom of the token being distributed as part of this + /// incentive record + #[prost(string, tag = "2")] + pub incentive_denom: ::prost::alloc::string::String, + /// incentiveCreator is the address that created the incentive record. This + /// address does not have any special privileges – it is only kept to keep + /// incentive records created by different addresses separate. + #[prost(string, tag = "3")] + pub incentive_creator_addr: ::prost::alloc::string::String, + /// incentive record body holds necessary + #[prost(message, optional, tag = "4")] + pub incentive_record_body: ::core::option::Option, + /// min_uptime is the minimum uptime required for liquidity to qualify for this + /// incentive. It should be always be one of the supported uptimes in + /// types.SupportedUptimes + #[prost(message, optional, tag = "5")] + pub min_uptime: ::core::option::Option, +} +/// IncentiveRecordBody represents the body stored in state for each individual +/// record. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.IncentiveRecordBody")] +pub struct IncentiveRecordBody { + /// remaining_amount is the total amount of incentives to be distributed + #[prost(string, tag = "1")] + pub remaining_amount: ::prost::alloc::string::String, + /// emission_rate is the incentive emission rate per second + #[prost(string, tag = "2")] + pub emission_rate: ::prost::alloc::string::String, + /// start_time is the time when the incentive starts distributing + #[prost(message, optional, tag = "3")] + pub start_time: ::core::option::Option, +} +/// FullTick contains tick index and pool id along with other tick model +/// information. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.FullTick")] +pub struct FullTick { + /// pool id associated with the tick. + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + /// tick's index. + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_index: i64, + /// tick's info. + #[prost(message, optional, tag = "3")] + pub info: ::core::option::Option, +} +/// PoolData represents a serialized pool along with its ticks +/// for 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 = "/osmosis.concentratedliquidity.v1beta1.PoolData")] +pub struct PoolData { + /// pool struct + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, + /// pool's ticks + #[prost(message, repeated, tag = "2")] + pub ticks: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "3")] + pub fee_accumulator: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub incentives_accumulators: ::prost::alloc::vec::Vec, + /// incentive records to be set + #[prost(message, repeated, tag = "5")] + pub incentive_records: ::prost::alloc::vec::Vec, +} +/// GenesisState defines the concentrated liquidity module's 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 = "/osmosis.concentratedliquidity.v1beta1.GenesisState")] +pub struct GenesisState { + /// params are all the parameters of the module + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// pool data containining serialized pool struct and ticks. + #[prost(message, repeated, tag = "2")] + pub pool_data: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub positions: ::prost::alloc::vec::Vec, + #[prost(uint64, tag = "4")] + #[serde(alias = "next_positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub next_position_id: u64, +} +/// In original struct of Accum object, store.KVStore is stored together. +/// For handling genesis, we do not need to include store.KVStore since we use +/// CL module's KVStore. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.AccumObject")] +pub struct AccumObject { + /// Accumulator's name (pulled from AccumulatorContent) + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub accum_content: ::core::option::Option, +} +/// =============================== UserPositions +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/UserPositions", + response_type = QueryUserPositionsResponse +)] +pub struct QueryUserPositionsRequest { + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryUserPositionsResponse")] +pub struct QueryUserPositionsResponse { + #[prost(message, repeated, tag = "1")] + pub positions: ::prost::alloc::vec::Vec, +} +/// =============================== PositionById +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/PositionById", + response_type = QueryPositionByIdResponse +)] +pub struct QueryPositionByIdRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryPositionByIdResponse")] +pub struct QueryPositionByIdResponse { + #[prost(message, optional, tag = "1")] + pub position: ::core::option::Option, +} +/// =============================== Pools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Pools", + response_type = QueryPoolsResponse +)] +pub struct QueryPoolsRequest { + /// pagination defines an optional pagination for the request. + #[prost(message, optional, tag = "2")] + pub pagination: + ::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 = "/osmosis.concentratedliquidity.v1beta1.QueryPoolsResponse")] +pub struct QueryPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, + /// pagination defines the pagination in the response. + #[prost(message, optional, tag = "2")] + pub pagination: + ::core::option::Option, +} +/// =============================== ModuleParams +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryParamsRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/Params", + 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 = "/osmosis.concentratedliquidity.v1beta1.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 = "/osmosis.concentratedliquidity.v1beta1.TickLiquidityNet")] +pub struct TickLiquidityNet { + #[prost(string, tag = "1")] + pub liquidity_net: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub tick_index: ::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 = "/osmosis.concentratedliquidity.v1beta1.LiquidityDepthWithRange")] +pub struct LiquidityDepthWithRange { + #[prost(string, tag = "1")] + pub liquidity_amount: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub lower_tick: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub upper_tick: ::prost::alloc::string::String, +} +/// =============================== LiquidityNetInDirection +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/LiquidityNetInDirection", + response_type = QueryLiquidityNetInDirectionResponse +)] +pub struct QueryLiquidityNetInDirectionRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub start_tick: i64, + #[prost(bool, tag = "4")] + pub use_cur_tick: bool, + #[prost(int64, tag = "5")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub bound_tick: i64, + #[prost(bool, tag = "6")] + pub use_no_bound: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryLiquidityNetInDirectionResponse" +)] +pub struct QueryLiquidityNetInDirectionResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity_depths: ::prost::alloc::vec::Vec, + #[prost(int64, tag = "2")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub current_tick: i64, + #[prost(string, tag = "3")] + pub current_liquidity: ::prost::alloc::string::String, +} +/// =============================== TotalLiquidityForRange +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeRequest" +)] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/TotalLiquidityForRange", + response_type = QueryTotalLiquidityForRangeResponse +)] +pub struct QueryTotalLiquidityForRangeRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.QueryTotalLiquidityForRangeResponse" +)] +pub struct QueryTotalLiquidityForRangeResponse { + #[prost(message, repeated, tag = "1")] + pub liquidity: ::prost::alloc::vec::Vec, +} +/// ===================== MsgQueryClaimableFees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesRequest")] +#[proto_query( + path = "/osmosis.concentratedliquidity.v1beta1.Query/ClaimableFees", + response_type = QueryClaimableFeesResponse +)] +pub struct QueryClaimableFeesRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_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 = "/osmosis.concentratedliquidity.v1beta1.QueryClaimableFeesResponse")] +pub struct QueryClaimableFeesResponse { + #[prost(message, repeated, tag = "1")] + pub claimable_fees: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateConcentratedPool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPool")] +pub struct MsgCreateConcentratedPool { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub denom1: ::prost::alloc::string::String, + #[prost(uint64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, + #[prost(string, tag = "5")] + pub exponent_at_price_one: ::prost::alloc::string::String, + #[prost(string, tag = "9")] + pub swap_fee: ::prost::alloc::string::String, +} +/// Returns a unique poolID to identify the pool with. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateConcentratedPoolResponse" +)] +pub struct MsgCreateConcentratedPoolResponse { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.concentratedliquidity.v1beta1.Pool")] +pub struct Pool { + /// pool's address holding all liquidity tokens. + #[prost(string, tag = "1")] + pub address: ::prost::alloc::string::String, + /// address holding the incentives liquidity. + #[prost(string, tag = "2")] + pub incentives_address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde(alias = "ID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub id: u64, + /// Amount of total liquidity + #[prost(string, tag = "4")] + pub current_tick_liquidity: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub token0: ::prost::alloc::string::String, + #[prost(string, tag = "6")] + pub token1: ::prost::alloc::string::String, + #[prost(string, tag = "7")] + pub current_sqrt_price: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub current_tick: ::prost::alloc::string::String, + /// tick_spacing must be one of the authorized_tick_spacing values set in the + /// concentrated-liquidity parameters + #[prost(uint64, tag = "9")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub tick_spacing: u64, + #[prost(string, tag = "10")] + pub exponent_at_price_one: ::prost::alloc::string::String, + /// swap_fee is the ratio that is charged on the amount of token in. + #[prost(string, tag = "11")] + pub swap_fee: ::prost::alloc::string::String, + /// last_liquidity_update is the last time either the pool liquidity or the + /// active tick changed + #[prost(message, optional, tag = "12")] + pub last_liquidity_update: ::core::option::Option, +} +/// ===================== MsgCreatePosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePosition")] +pub struct MsgCreatePosition { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(int64, tag = "3")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lower_tick: i64, + #[prost(int64, tag = "4")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub upper_tick: i64, + #[prost(message, optional, tag = "5")] + pub token_desired0: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub token_desired1: ::core::option::Option, + #[prost(string, tag = "7")] + pub token_min_amount0: ::prost::alloc::string::String, + #[prost(string, tag = "8")] + pub token_min_amount1: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreatePositionResponse")] +pub struct MsgCreatePositionResponse { + #[prost(uint64, tag = "1")] + #[serde(alias = "positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub amount1: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, + #[prost(string, tag = "5")] + pub liquidity_created: ::prost::alloc::string::String, +} +/// ===================== MsgWithdrawPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPosition")] +pub struct MsgWithdrawPosition { + #[prost(uint64, tag = "1")] + #[serde(alias = "positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub position_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_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 = "/osmosis.concentratedliquidity.v1beta1.MsgWithdrawPositionResponse")] +pub struct MsgWithdrawPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, +} +/// ===================== MsgCollectFees +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFees")] +pub struct MsgCollectFees { + #[prost(uint64, repeated, packed = "false", tag = "1")] + #[serde(alias = "positionIDs")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectFeesResponse")] +pub struct MsgCollectFeesResponse { + #[prost(message, repeated, tag = "1")] + pub collected_fees: ::prost::alloc::vec::Vec, +} +/// ===================== MsgCollectIncentives +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentives")] +pub struct MsgCollectIncentives { + #[prost(uint64, repeated, packed = "false", tag = "1")] + #[serde(alias = "positionIDs")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCollectIncentivesResponse")] +pub struct MsgCollectIncentivesResponse { + #[prost(message, repeated, tag = "1")] + pub collected_incentives: + ::prost::alloc::vec::Vec, +} +/// ===================== MsgCreateIncentive +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentive")] +pub struct MsgCreateIncentive { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub incentive_denom: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub incentive_amount: ::prost::alloc::string::String, + #[prost(string, tag = "5")] + pub emission_rate: ::prost::alloc::string::String, + #[prost(message, optional, tag = "6")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub min_uptime: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgCreateIncentiveResponse")] +pub struct MsgCreateIncentiveResponse { + #[prost(string, tag = "1")] + pub incentive_denom: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub incentive_amount: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub emission_rate: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub start_time: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub min_uptime: ::core::option::Option, +} +/// ===================== MsgFungifyChargedPositions +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositions")] +pub struct MsgFungifyChargedPositions { + #[prost(uint64, repeated, packed = "false", tag = "1")] + #[serde(alias = "positionIDs")] + pub position_ids: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub sender: ::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 = "/osmosis.concentratedliquidity.v1beta1.MsgFungifyChargedPositionsResponse" +)] +pub struct MsgFungifyChargedPositionsResponse { + #[prost(uint64, tag = "1")] + #[serde(alias = "new_positionID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub new_position_id: u64, +} +pub struct ConcentratedliquidityQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> ConcentratedliquidityQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn pools( + &self, + pagination: ::core::option::Option< + super::super::super::cosmos::base::query::v1beta1::PageRequest, + >, + ) -> Result { + QueryPoolsRequest { pagination }.query(self.querier) + } + pub fn params(&self) -> Result { + QueryParamsRequest {}.query(self.querier) + } + pub fn user_positions( + &self, + address: ::prost::alloc::string::String, + pool_id: u64, + ) -> Result { + QueryUserPositionsRequest { address, pool_id }.query(self.querier) + } + pub fn total_liquidity_for_range( + &self, + pool_id: u64, + ) -> Result { + QueryTotalLiquidityForRangeRequest { pool_id }.query(self.querier) + } + pub fn liquidity_net_in_direction( + &self, + pool_id: u64, + token_in: ::prost::alloc::string::String, + start_tick: i64, + use_cur_tick: bool, + bound_tick: i64, + use_no_bound: bool, + ) -> Result { + QueryLiquidityNetInDirectionRequest { + pool_id, + token_in, + start_tick, + use_cur_tick, + bound_tick, + use_no_bound, + } + .query(self.querier) + } + pub fn claimable_fees( + &self, + position_id: u64, + ) -> Result { + QueryClaimableFeesRequest { position_id }.query(self.querier) + } + pub fn position_by_id( + &self, + position_id: u64, + ) -> Result { + QueryPositionByIdRequest { position_id }.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs new file mode 100644 index 00000000..9f64fc82 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/mod.rs @@ -0,0 +1 @@ +pub mod v1beta1; diff --git a/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs new file mode 100644 index 00000000..b476f4f4 --- /dev/null +++ b/packages/osmosis-std/src/types/osmosis/cosmwasmpool/v1beta1.rs @@ -0,0 +1,158 @@ +use osmosis_std_derive::CosmwasmExt; +/// Params holds parameters for the cosmwasmpool 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 = "/osmosis.cosmwasmpool.v1beta1.Params")] +pub struct Params {} +/// GenesisState defines the cosmwasmpool module's 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 = "/osmosis.cosmwasmpool.v1beta1.GenesisState")] +pub struct GenesisState { + /// params is the container of cosmwasmpool parameters. + #[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 = "/osmosis.cosmwasmpool.v1beta1.CosmWasmPool")] +pub struct CosmWasmPool { + #[prost(string, tag = "1")] + pub pool_address: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub contract_address: ::prost::alloc::string::String, + #[prost(uint64, tag = "3")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(uint64, tag = "4")] + #[serde(alias = "codeID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub code_id: u64, +} +/// ===================== MsgCreateCosmwasmPool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPool")] +pub struct MsgCreateCosmWasmPool { + #[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, + #[prost(bytes = "vec", tag = "2")] + pub instantiate_msg: ::prost::alloc::vec::Vec, + #[prost(string, tag = "3")] + pub sender: ::prost::alloc::string::String, +} +/// Returns a unique poolID to identify the pool with. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.MsgCreateCosmWasmPoolResponse")] +pub struct MsgCreateCosmWasmPoolResponse { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, +} +/// =============================== 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 = "/osmosis.cosmwasmpool.v1beta1.ParamsRequest")] +#[proto_query( + path = "/osmosis.cosmwasmpool.v1beta1.Query/Params", + response_type = ParamsResponse +)] +pub struct ParamsRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.cosmwasmpool.v1beta1.ParamsResponse")] +pub struct ParamsResponse { + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, +} +pub struct CosmwasmpoolQuerier<'a, Q: cosmwasm_std::CustomQuery> { + querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, +} +impl<'a, Q: cosmwasm_std::CustomQuery> CosmwasmpoolQuerier<'a, Q> { + pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { + Self { querier } + } + pub fn params(&self) -> Result { + ParamsRequest {}.query(self.querier) + } +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs index a6971400..723baeaa 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/balancer/v1beta1.rs @@ -46,3 +46,49 @@ pub struct MsgCreateBalancerPoolResponse { )] pub pool_id: u64, } +/// ===================== MsgMigrateSharesToFullRangeConcentratedPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub shares_to_migrate: + ::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 = "/osmosis.gamm.poolmodels.balancer.v1beta1.MsgMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, +} diff --git a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs index 4084acc4..211cae03 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/poolmodels/stableswap/v1beta1.rs @@ -18,6 +18,9 @@ use osmosis_std_derive::CosmwasmExt; pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, + /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old + /// pools can maintain a non-zero fee. No new pool can be created with non-zero + /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs index f67707b9..010071fa 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v1beta1.rs @@ -72,6 +72,9 @@ pub struct SmoothWeightChangeParams { pub struct PoolParams { #[prost(string, tag = "1")] pub swap_fee: ::prost::alloc::string::String, + /// N.B.: exit fee is disabled during pool creation in x/poolmanager. While old + /// pools can maintain a non-zero fee. No new pool can be created with non-zero + /// fee anymore #[prost(string, tag = "2")] pub exit_fee: ::prost::alloc::string::String, #[prost(message, optional, tag = "3")] @@ -191,6 +194,114 @@ pub struct GenesisState { pub next_pool_number: u64, #[prost(message, optional, tag = "3")] pub params: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub migration_records: ::core::option::Option, +} +/// MigrationRecords contains all the links between balancer and concentrated +/// pools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.MigrationRecords")] +pub struct MigrationRecords { + #[prost(message, repeated, tag = "1")] + pub balancer_to_concentrated_pool_links: + ::prost::alloc::vec::Vec, +} +/// BalancerToConcentratedPoolLink defines a single link between a single +/// balancer pool and a single concentrated liquidity pool. This link is used to +/// allow a balancer pool to migrate to a single canonical full range +/// concentrated liquidity pool position +/// A balancer pool can be linked to a maximum of one cl pool, and a cl pool can +/// be linked to a maximum of one balancer pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.BalancerToConcentratedPoolLink")] +pub struct BalancerToConcentratedPoolLink { + #[prost(uint64, tag = "1")] + #[serde(alias = "balancer_poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub balancer_pool_id: u64, + #[prost(uint64, tag = "2")] + #[serde(alias = "cl_poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub cl_pool_id: u64, +} +/// ReplaceMigrationRecordsProposal is a gov Content type for updating the +/// migration records. If a ReplaceMigrationRecordsProposal passes, the +/// proposal’s records override the existing MigrationRecords set in the module. +/// Each record specifies a single connection between a single balancer pool and +/// a single concentrated pool. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.ReplaceMigrationRecordsProposal")] +pub struct ReplaceMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, +} +/// For example: if the existing DistrRecords were: +/// [(Balancer 1, CL 5), (Balancer 2, CL 6), (Balancer 3, CL 7)] +/// And an UpdateMigrationRecordsProposal includes +/// [(Balancer 2, CL 0), (Balancer 3, CL 4), (Balancer 4, CL 10)] +/// This would leave Balancer 1 record, delete Balancer 2 record, +/// Edit Balancer 3 record, and Add Balancer 4 record +/// The result MigrationRecords in state would be: +/// [(Balancer 1, CL 5), (Balancer 3, CL 4), (Balancer 4, CL 10)] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.gamm.v1beta1.UpdateMigrationRecordsProposal")] +pub struct UpdateMigrationRecordsProposal { + #[prost(string, tag = "1")] + pub title: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub description: ::prost::alloc::string::String, + #[prost(message, repeated, tag = "3")] + pub records: ::prost::alloc::vec::Vec, } /// ===================== MsgJoinPool /// This is really MsgJoinPoolNoSwap @@ -546,6 +657,7 @@ pub struct MsgExitSwapExternAmountOutResponse { pub share_in_amount: ::prost::alloc::string::String, } /// =============================== Pool +/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -562,6 +674,7 @@ pub struct MsgExitSwapExternAmountOutResponse { path = "/osmosis.gamm.v1beta1.Query/Pool", response_type = QueryPoolResponse )] +#[deprecated] pub struct QueryPoolRequest { #[prost(uint64, tag = "1")] #[serde(alias = "poolID")] @@ -571,6 +684,7 @@ pub struct QueryPoolRequest { )] pub pool_id: u64, } +/// Deprecated: please use the alternative in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -583,6 +697,7 @@ pub struct QueryPoolRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v1beta1.QueryPoolResponse")] +#[deprecated] pub struct QueryPoolResponse { #[prost(message, optional, tag = "1")] pub pool: ::core::option::Option, @@ -1243,6 +1358,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { } .query(self.querier) } + #[deprecated] pub fn pool(&self, pool_id: u64) -> Result { QueryPoolRequest { pool_id }.query(self.querier) } diff --git a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs index 9de4cf24..2f9a353e 100644 --- a/packages/osmosis-std/src/types/osmosis/gamm/v2.rs +++ b/packages/osmosis-std/src/types/osmosis/gamm/v2.rs @@ -1,6 +1,5 @@ use osmosis_std_derive::CosmwasmExt; -/// QuerySpotPriceRequest defines the gRPC request structure for a SpotPrice -/// query. +/// Deprecated: please use alternate in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -17,6 +16,7 @@ use osmosis_std_derive::CosmwasmExt; path = "/osmosis.gamm.v2.Query/SpotPrice", response_type = QuerySpotPriceResponse )] +#[deprecated] pub struct QuerySpotPriceRequest { #[prost(uint64, tag = "1")] #[serde(alias = "poolID")] @@ -30,8 +30,7 @@ pub struct QuerySpotPriceRequest { #[prost(string, tag = "3")] pub quote_asset_denom: ::prost::alloc::string::String, } -/// QuerySpotPriceResponse defines the gRPC response structure for a SpotPrice -/// query. +/// Depreacted: please use alternate in x/poolmanager #[allow(clippy::derive_partial_eq_without_eq)] #[derive( Clone, @@ -44,6 +43,7 @@ pub struct QuerySpotPriceRequest { CosmwasmExt, )] #[proto_message(type_url = "/osmosis.gamm.v2.QuerySpotPriceResponse")] +#[deprecated] pub struct QuerySpotPriceResponse { /// String of the Dec. Ex) 10.203uatom #[prost(string, tag = "1")] @@ -56,6 +56,7 @@ impl<'a, Q: cosmwasm_std::CustomQuery> GammQuerier<'a, Q> { pub fn new(querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>) -> Self { Self { querier } } + #[deprecated] pub fn spot_price( &self, pool_id: u64, diff --git a/packages/osmosis-std/src/types/osmosis/mod.rs b/packages/osmosis-std/src/types/osmosis/mod.rs index 12becca8..d0f5004a 100644 --- a/packages/osmosis-std/src/types/osmosis/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/mod.rs @@ -1,4 +1,6 @@ pub mod accum; +pub mod concentratedliquidity; +pub mod cosmwasmpool; pub mod downtimedetector; pub mod epochs; pub mod gamm; diff --git a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs index aa09320b..df0178cb 100644 --- a/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/poolmanager/v1beta1.rs @@ -87,6 +87,12 @@ pub enum PoolType { /// Stableswap is the Solidly cfmm stable swap curve. Its pool model is defined /// in x/gamm. Stableswap = 1, + /// Concentrated is the pool model specific to concentrated liquidity. It is + /// defined in x/concentrated-liquidity. + Concentrated = 2, + /// CosmWasm is the pool model specific to CosmWasm. It is defined in + /// x/cosmwasmpool. + CosmWasm = 3, } impl PoolType { /// String value of the enum field names used in the ProtoBuf definition. @@ -97,6 +103,8 @@ impl PoolType { match self { PoolType::Balancer => "Balancer", PoolType::Stableswap => "Stableswap", + PoolType::Concentrated => "Concentrated", + PoolType::CosmWasm => "CosmWasm", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -104,6 +112,8 @@ impl PoolType { match value { "Balancer" => Some(Self::Balancer), "Stableswap" => Some(Self::Stableswap), + "Concentrated" => Some(Self::Concentrated), + "CosmWasm" => Some(Self::CosmWasm), _ => None, } } @@ -285,9 +295,6 @@ pub struct ParamsResponse { response_type = EstimateSwapExactAmountInResponse )] pub struct EstimateSwapExactAmountInRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde(alias = "poolID")] #[serde( @@ -311,6 +318,37 @@ pub struct EstimateSwapExactAmountInRequest { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message( + type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountInRequest" +)] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountIn", + response_type = EstimateSwapExactAmountInResponse +)] +pub struct EstimateSinglePoolSwapExactAmountInRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub token_out_denom: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountInResponse")] pub struct EstimateSwapExactAmountInResponse { #[prost(string, tag = "1")] @@ -334,9 +372,6 @@ pub struct EstimateSwapExactAmountInResponse { response_type = EstimateSwapExactAmountOutResponse )] pub struct EstimateSwapExactAmountOutRequest { - /// TODO: CHANGE THIS TO RESERVED IN A PATCH RELEASE - #[prost(string, tag = "1")] - pub sender: ::prost::alloc::string::String, #[prost(uint64, tag = "2")] #[serde(alias = "poolID")] #[serde( @@ -360,6 +395,37 @@ pub struct EstimateSwapExactAmountOutRequest { ::schemars::JsonSchema, CosmwasmExt, )] +#[proto_message( + type_url = "/osmosis.poolmanager.v1beta1.EstimateSinglePoolSwapExactAmountOutRequest" +)] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/EstimateSinglePoolSwapExactAmountOut", + response_type = EstimateSwapExactAmountOutResponse +)] +pub struct EstimateSinglePoolSwapExactAmountOutRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub token_in_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub token_out: ::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 = "/osmosis.poolmanager.v1beta1.EstimateSwapExactAmountOutResponse")] pub struct EstimateSwapExactAmountOutResponse { #[prost(string, tag = "1")] @@ -403,6 +469,140 @@ pub struct NumPoolsResponse { )] pub num_pools: u64, } +/// =============================== Pool +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.PoolRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/Pool", + response_type = PoolResponse +)] +pub struct PoolRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.poolmanager.v1beta1.PoolResponse")] +pub struct PoolResponse { + #[prost(message, optional, tag = "1")] + pub pool: ::core::option::Option, +} +/// =============================== AllPools +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.AllPoolsRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/AllPools", + response_type = AllPoolsResponse +)] +pub struct AllPoolsRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_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 = "/osmosis.poolmanager.v1beta1.AllPoolsResponse")] +pub struct AllPoolsResponse { + #[prost(message, repeated, tag = "1")] + pub pools: ::prost::alloc::vec::Vec, +} +/// SpotPriceRequest defines the gRPC request structure for a SpotPrice +/// query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceRequest")] +#[proto_query( + path = "/osmosis.poolmanager.v1beta1.Query/SpotPrice", + response_type = SpotPriceResponse +)] +pub struct SpotPriceRequest { + #[prost(uint64, tag = "1")] + #[serde(alias = "poolID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub pool_id: u64, + #[prost(string, tag = "2")] + pub base_asset_denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub quote_asset_denom: ::prost::alloc::string::String, +} +/// SpotPriceResponse defines the gRPC response structure for a SpotPrice +/// query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.poolmanager.v1beta1.SpotPriceResponse")] +pub struct SpotPriceResponse { + /// String of the Dec. Ex) 10.203uatom + #[prost(string, tag = "1")] + pub spot_price: ::prost::alloc::string::String, +} pub struct PoolmanagerQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -415,35 +615,76 @@ impl<'a, Q: cosmwasm_std::CustomQuery> PoolmanagerQuerier<'a, Q> { } pub fn estimate_swap_exact_amount_in( &self, - sender: ::prost::alloc::string::String, pool_id: u64, token_in: ::prost::alloc::string::String, routes: ::prost::alloc::vec::Vec, ) -> Result { EstimateSwapExactAmountInRequest { - sender, pool_id, token_in, routes, } .query(self.querier) } + pub fn estimate_single_pool_swap_exact_amount_in( + &self, + pool_id: u64, + token_in: ::prost::alloc::string::String, + token_out_denom: ::prost::alloc::string::String, + ) -> Result { + EstimateSinglePoolSwapExactAmountInRequest { + pool_id, + token_in, + token_out_denom, + } + .query(self.querier) + } pub fn estimate_swap_exact_amount_out( &self, - sender: ::prost::alloc::string::String, pool_id: u64, routes: ::prost::alloc::vec::Vec, token_out: ::prost::alloc::string::String, ) -> Result { EstimateSwapExactAmountOutRequest { - sender, pool_id, routes, token_out, } .query(self.querier) } + pub fn estimate_single_pool_swap_exact_amount_out( + &self, + pool_id: u64, + token_in_denom: ::prost::alloc::string::String, + token_out: ::prost::alloc::string::String, + ) -> Result { + EstimateSinglePoolSwapExactAmountOutRequest { + pool_id, + token_in_denom, + token_out, + } + .query(self.querier) + } pub fn num_pools(&self) -> Result { NumPoolsRequest {}.query(self.querier) } + pub fn pool(&self, pool_id: u64) -> Result { + PoolRequest { pool_id }.query(self.querier) + } + pub fn all_pools(&self, pool_id: u64) -> Result { + AllPoolsRequest { pool_id }.query(self.querier) + } + pub fn spot_price( + &self, + pool_id: u64, + base_asset_denom: ::prost::alloc::string::String, + quote_asset_denom: ::prost::alloc::string::String, + ) -> Result { + SpotPriceRequest { + pool_id, + base_asset_denom, + quote_asset_denom, + } + .query(self.querier) + } } diff --git a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs index 8b352e11..5731e042 100644 --- a/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs +++ b/packages/osmosis-std/src/types/osmosis/superfluid/mod.rs @@ -1098,6 +1098,59 @@ pub struct MsgUnPoolWhitelistedPoolResponse { #[serde(alias = "exited_lockIDs")] pub exited_lock_ids: ::prost::alloc::vec::Vec, } +/// ===================== +/// MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message( + type_url = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition" +)] +pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPosition { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(uint64, tag = "2")] + #[serde(alias = "lockID")] + #[serde( + serialize_with = "crate::serde::as_str::serialize", + deserialize_with = "crate::serde::as_str::deserialize" + )] + pub lock_id: u64, + #[prost(message, optional, tag = "3")] + pub shares_to_migrate: ::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 = "/osmosis.superfluid.MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse" +)] +pub struct MsgUnlockAndMigrateSharesToFullRangeConcentratedPositionResponse { + #[prost(string, tag = "1")] + pub amount0: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub amount1: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub liquidity_created: ::prost::alloc::string::String, + #[prost(message, optional, tag = "4")] + pub join_time: ::core::option::Option, +} pub struct SuperfluidQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } diff --git a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs index 52e8eef8..ee842904 100644 --- a/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs +++ b/packages/osmosis-std/src/types/osmosis/tokenfactory/v1beta1.rs @@ -194,6 +194,44 @@ pub struct QueryDenomsFromCreatorResponse { #[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 = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressRequest")] +#[proto_query( + path = "/osmosis.tokenfactory.v1beta1.Query/BeforeSendHookAddress", + response_type = QueryBeforeSendHookAddressResponse +)] +pub struct QueryBeforeSendHookAddressRequest { + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, +} +/// QueryBeforeSendHookAddressResponse defines the response structure for the +/// DenomBeforeSendHook gRPC query. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.QueryBeforeSendHookAddressResponse")] +pub struct QueryBeforeSendHookAddressResponse { + #[prost(string, tag = "1")] + pub cosmwasm_address: ::prost::alloc::string::String, +} /// MsgCreateDenom defines the message structure for the CreateDenom gRPC service /// method. It allows an account to create a new denom. It requires a sender /// address and a sub denomination. The (sender_address, sub_denomination) tuple @@ -259,6 +297,8 @@ pub struct MsgMint { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub mint_to_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -292,6 +332,8 @@ pub struct MsgBurn { pub sender: ::prost::alloc::string::String, #[prost(message, optional, tag = "2")] pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub burn_from_address: ::prost::alloc::string::String, } #[allow(clippy::derive_partial_eq_without_eq)] #[derive( @@ -343,6 +385,43 @@ pub struct MsgChangeAdmin { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgChangeAdminResponse")] pub struct MsgChangeAdminResponse {} +/// MsgSetBeforeSendHook is the sdk.Msg type for allowing an admin account to +/// assign a CosmWasm contract to call with a BeforeSend hook +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHook")] +pub struct MsgSetBeforeSendHook { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub denom: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub cosmwasm_address: ::prost::alloc::string::String, +} +/// MsgSetBeforeSendHookResponse defines the response structure for an executed +/// MsgSetBeforeSendHook message. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetBeforeSendHookResponse")] +pub struct MsgSetBeforeSendHookResponse {} /// MsgSetDenomMetadata is the sdk.Msg type for allowing an admin account to set /// the denom's bank metadata #[allow(clippy::derive_partial_eq_without_eq)] @@ -378,6 +457,41 @@ pub struct MsgSetDenomMetadata { )] #[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgSetDenomMetadataResponse")] pub struct MsgSetDenomMetadataResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive( + Clone, + PartialEq, + Eq, + ::prost::Message, + ::serde::Serialize, + ::serde::Deserialize, + ::schemars::JsonSchema, + CosmwasmExt, +)] +#[proto_message(type_url = "/osmosis.tokenfactory.v1beta1.MsgForceTransfer")] +pub struct MsgForceTransfer { + #[prost(string, tag = "1")] + pub sender: ::prost::alloc::string::String, + #[prost(message, optional, tag = "2")] + pub amount: ::core::option::Option, + #[prost(string, tag = "3")] + pub transfer_from_address: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub transfer_to_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 = "/osmosis.tokenfactory.v1beta1.MsgForceTransferResponse")] +pub struct MsgForceTransferResponse {} pub struct TokenfactoryQuerier<'a, Q: cosmwasm_std::CustomQuery> { querier: &'a cosmwasm_std::QuerierWrapper<'a, Q>, } @@ -400,4 +514,10 @@ impl<'a, Q: cosmwasm_std::CustomQuery> TokenfactoryQuerier<'a, Q> { ) -> Result { QueryDenomsFromCreatorRequest { creator }.query(self.querier) } + pub fn before_send_hook_address( + &self, + denom: ::prost::alloc::string::String, + ) -> Result { + QueryBeforeSendHookAddressRequest { denom }.query(self.querier) + } } diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 24c10a60..38ca186d 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -14,7 +14,7 @@ use proto_build::{ const COSMOS_SDK_REV: &str = "origin/osmosis-main"; /// The osmosis commit or tag to be cloned and used to build the proto files -const OSMOSIS_REV: &str = "v15.0.0"; +const OSMOSIS_REV: &str = "origin/main"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. From e3043a8f2c8ba8fb5e64abca5afa1c3c95004a98 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Apr 2023 01:31:37 +0000 Subject: [PATCH 138/142] Update latest osmosis tag timestamp to 1681930256 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index dbf84e0e..8d16251c 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1678471069 +1681930256 From f726d5f5820cd04fedf23ea336e7174acb5b44da Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 21 Apr 2023 01:31:52 +0000 Subject: [PATCH 139/142] Update latest osmosis tag timestamp to 1682002311 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 8d16251c..92d3979e 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1681930256 +1682002311 From b0860d063c0b59cb5d5b3fb4233bb2784185bb4c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 27 Apr 2023 01:31:47 +0000 Subject: [PATCH 140/142] Update latest osmosis tag timestamp to 1682524082 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index 92d3979e..ef9918fe 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1682002311 +1682524082 From a139d47ba298c94ebff462572b53c43fae0483e2 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 May 2023 01:31:52 +0000 Subject: [PATCH 141/142] Update latest osmosis tag timestamp to 1682958492 --- workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP index ef9918fe..e3bdc227 100644 --- a/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP +++ b/workflow-state/LATEST_OSMOSIS_TAG_TIMESTAMP @@ -1 +1 @@ -1682524082 +1682958492 From 36170cce67cb25224329126690f0f6e86aaf17e4 Mon Sep 17 00:00:00 2001 From: Sturdy <91910406+apollo-sturdy@users.noreply.github.com> Date: Fri, 12 May 2023 14:37:28 +0200 Subject: [PATCH 142/142] fix: Fix repeated names in type url --- .../src/types/cosmos/auth/v1beta1.rs | 6 +-- .../src/types/cosmos/bank/v1beta1.rs | 14 +++---- .../src/types/cosmos/base/query/v1beta1.rs | 4 +- .../src/types/cosmos/base/v1beta1.rs | 8 ++-- .../src/types/cosmos/staking/v1beta1.rs | 42 +++++++++---------- packages/proto-build/src/transformers.rs | 1 + 6 files changed, 36 insertions(+), 39 deletions(-) diff --git a/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs index cf9b5895..3064ab45 100644 --- a/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/auth/v1beta1.rs @@ -13,7 +13,7 @@ use osmosis_std_derive::CosmwasmExt; ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.auth.v1beta1.BaseAccountBaseAccount")] +#[proto_message(type_url = "/cosmos.auth.v1beta1.BaseAccount")] pub struct BaseAccount { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, @@ -44,7 +44,7 @@ pub struct BaseAccount { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.auth.v1beta1.ModuleAccountModuleAccount")] +#[proto_message(type_url = "/cosmos.auth.v1beta1.ModuleAccount")] pub struct ModuleAccount { #[prost(message, optional, tag = "1")] pub base_account: ::core::option::Option, @@ -65,7 +65,7 @@ pub struct ModuleAccount { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.auth.v1beta1.ParamsParams")] +#[proto_message(type_url = "/cosmos.auth.v1beta1.Params")] pub struct Params { #[prost(uint64, tag = "1")] #[serde( diff --git a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs index ab64eaf9..a36eaca5 100644 --- a/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/bank/v1beta1.rs @@ -31,7 +31,7 @@ pub struct SendAuthorization { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.ParamsParams")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Params")] pub struct Params { #[prost(message, repeated, tag = "1")] pub send_enabled: ::prost::alloc::vec::Vec, @@ -51,7 +51,7 @@ pub struct Params { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.SendEnabledSendEnabled")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.SendEnabled")] pub struct SendEnabled { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -70,7 +70,7 @@ pub struct SendEnabled { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.InputInput")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Input")] pub struct Input { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, @@ -89,7 +89,7 @@ pub struct Input { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.OutputOutput")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Output")] pub struct Output { #[prost(string, tag = "1")] pub address: ::prost::alloc::string::String, @@ -110,7 +110,7 @@ pub struct Output { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.SupplySupply")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Supply")] #[deprecated] pub struct Supply { #[prost(message, repeated, tag = "1")] @@ -129,7 +129,7 @@ pub struct Supply { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.DenomUnitDenomUnit")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.DenomUnit")] pub struct DenomUnit { /// denom represents the string name of the given denom unit (e.g uatom). #[prost(string, tag = "1")] @@ -162,7 +162,7 @@ pub struct DenomUnit { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.bank.v1beta1.MetadataMetadata")] +#[proto_message(type_url = "/cosmos.bank.v1beta1.Metadata")] pub struct Metadata { #[prost(string, tag = "1")] pub description: ::prost::alloc::string::String, diff --git a/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs index e6bc0eb0..7e826830 100644 --- a/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/base/query/v1beta1.rs @@ -17,7 +17,7 @@ use osmosis_std_derive::CosmwasmExt; ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageRequestPageRequestPageRequest")] +#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageRequest")] pub struct PageRequest { /// key is a value returned in PageResponse.next_key to begin /// querying the next page most efficiently. Only one of offset or key @@ -71,7 +71,7 @@ pub struct PageRequest { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageResponsePageResponsePageResponse")] +#[proto_message(type_url = "/cosmos.base.query.v1beta1.PageResponse")] pub struct PageResponse { /// next_key is the key to be passed to PageRequest.key to /// query the next page most efficiently diff --git a/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs index 73133d46..f256a9be 100644 --- a/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/base/v1beta1.rs @@ -14,7 +14,7 @@ use osmosis_std_derive::CosmwasmExt; ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.CoinCoinCoin")] +#[proto_message(type_url = "/cosmos.base.v1beta1.Coin")] pub struct Coin { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -36,7 +36,7 @@ pub struct Coin { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.DecCoinDecCoinDecCoin")] +#[proto_message(type_url = "/cosmos.base.v1beta1.DecCoin")] pub struct DecCoin { #[prost(string, tag = "1")] pub denom: ::prost::alloc::string::String, @@ -55,7 +55,7 @@ pub struct DecCoin { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.IntProtoIntProtoIntProto")] +#[proto_message(type_url = "/cosmos.base.v1beta1.IntProto")] pub struct IntProto { #[prost(string, tag = "1")] pub int: ::prost::alloc::string::String, @@ -72,7 +72,7 @@ pub struct IntProto { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.base.v1beta1.DecProtoDecProtoDecProto")] +#[proto_message(type_url = "/cosmos.base.v1beta1.DecProto")] pub struct DecProto { #[prost(string, tag = "1")] pub dec: ::prost::alloc::string::String, diff --git a/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs b/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs index 030fef2e..9e63f277 100644 --- a/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs +++ b/packages/osmosis-std/src/types/cosmos/staking/v1beta1.rs @@ -17,7 +17,7 @@ struct HistoricalInfo {} ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.CommissionRatesCommissionRates")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.CommissionRates")] pub struct CommissionRates { /// rate is the commission rate charged to delegators, as a fraction. #[prost(string, tag = "1")] @@ -41,7 +41,7 @@ pub struct CommissionRates { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.CommissionCommission")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Commission")] pub struct Commission { /// commission_rates defines the initial commission rates to be used for creating a validator. #[prost(message, optional, tag = "1")] @@ -62,7 +62,7 @@ pub struct Commission { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DescriptionDescription")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Description")] pub struct Description { /// moniker defines a human-readable name for the validator. #[prost(string, tag = "1")] @@ -99,7 +99,7 @@ pub struct Description { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.ValidatorValidator")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Validator")] pub struct Validator { /// operator_address defines the address of the validator's operator; bech encoded in JSON. #[prost(string, tag = "1")] @@ -155,7 +155,7 @@ pub struct Validator { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.ValAddressesValAddresses")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.ValAddresses")] pub struct ValAddresses { #[prost(string, repeated, tag = "1")] pub addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, @@ -174,7 +174,7 @@ pub struct ValAddresses { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPairDVPair")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPair")] pub struct DvPair { #[prost(string, tag = "1")] pub delegator_address: ::prost::alloc::string::String, @@ -193,7 +193,7 @@ pub struct DvPair { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPairsDVPairs")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVPairs")] pub struct DvPairs { #[prost(message, repeated, tag = "1")] pub pairs: ::prost::alloc::vec::Vec, @@ -213,7 +213,7 @@ pub struct DvPairs { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTripletDVVTriplet")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTriplet")] pub struct DvvTriplet { #[prost(string, tag = "1")] pub delegator_address: ::prost::alloc::string::String, @@ -234,7 +234,7 @@ pub struct DvvTriplet { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTripletsDVVTriplets")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DVVTriplets")] pub struct DvvTriplets { #[prost(message, repeated, tag = "1")] pub triplets: ::prost::alloc::vec::Vec, @@ -253,7 +253,7 @@ pub struct DvvTriplets { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DelegationDelegation")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Delegation")] pub struct Delegation { /// delegator_address is the bech32-encoded address of the delegator. #[prost(string, tag = "1")] @@ -278,7 +278,7 @@ pub struct Delegation { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.UnbondingDelegationUnbondingDelegation")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.UnbondingDelegation")] pub struct UnbondingDelegation { /// delegator_address is the bech32-encoded address of the delegator. #[prost(string, tag = "1")] @@ -304,9 +304,7 @@ pub struct UnbondingDelegation { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/cosmos.staking.v1beta1.UnbondingDelegationEntryUnbondingDelegationEntry" -)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.UnbondingDelegationEntry")] pub struct UnbondingDelegationEntry { /// creation_height is the height which the unbonding took place. #[prost(int64, tag = "1")] @@ -337,7 +335,7 @@ pub struct UnbondingDelegationEntry { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationEntryRedelegationEntry")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationEntry")] pub struct RedelegationEntry { /// creation_height defines the height which the redelegation took place. #[prost(int64, tag = "1")] @@ -369,7 +367,7 @@ pub struct RedelegationEntry { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationRedelegation")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Redelegation")] pub struct Redelegation { /// delegator_address is the bech32-encoded address of the delegator. #[prost(string, tag = "1")] @@ -398,7 +396,7 @@ pub struct Redelegation { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.ParamsParams")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Params")] pub struct Params { /// unbonding_time is the time duration of unbonding. #[prost(message, optional, tag = "1")] @@ -447,7 +445,7 @@ pub struct Params { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.DelegationResponseDelegationResponse")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.DelegationResponse")] pub struct DelegationResponse { #[prost(message, optional, tag = "1")] pub delegation: ::core::option::Option, @@ -468,9 +466,7 @@ pub struct DelegationResponse { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message( - type_url = "/cosmos.staking.v1beta1.RedelegationEntryResponseRedelegationEntryResponse" -)] +#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationEntryResponse")] pub struct RedelegationEntryResponse { #[prost(message, optional, tag = "1")] pub redelegation_entry: ::core::option::Option, @@ -491,7 +487,7 @@ pub struct RedelegationEntryResponse { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationResponseRedelegationResponse")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.RedelegationResponse")] pub struct RedelegationResponse { #[prost(message, optional, tag = "1")] pub redelegation: ::core::option::Option, @@ -511,7 +507,7 @@ pub struct RedelegationResponse { ::schemars::JsonSchema, CosmwasmExt, )] -#[proto_message(type_url = "/cosmos.staking.v1beta1.PoolPool")] +#[proto_message(type_url = "/cosmos.staking.v1beta1.Pool")] pub struct Pool { #[prost(string, tag = "1")] pub not_bonded_tokens: ::prost::alloc::string::String, diff --git a/packages/proto-build/src/transformers.rs b/packages/proto-build/src/transformers.rs index 78be62dd..20da3a84 100644 --- a/packages/proto-build/src/transformers.rs +++ b/packages/proto-build/src/transformers.rs @@ -262,6 +262,7 @@ fn get_type_url(src: &Path, ident: &Ident, descriptor: &FileDescriptorSet) -> St ] }) .filter(|r| r.is_some()) + .take(1) .collect(); format!("/{}.{}", type_path, name.unwrap())