/// FeeShare defines an instance that organizes fee distribution conditions for /// the owner of a given smart contract #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FeeShare { /// contract_address is the bech32 address of a registered contract in string /// form #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, /// deployer_address is the bech32 address of message sender. It must be the /// same as the contracts admin address. #[prost(string, tag = "2")] pub deployer_address: ::prost::alloc::string::String, /// withdrawer_address is the bech32 address of account receiving the /// transaction fees. #[prost(string, tag = "3")] pub withdrawer_address: ::prost::alloc::string::String, } /// FeeShareEvent defines an instance that organizes fee distribution conditions for /// the owner of a given smart contract #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FeePayoutEvent { /// Address of the account that will receive the payout #[prost(string, tag = "1")] pub withdraw_address: ::prost::alloc::string::String, /// Amount of the payout #[prost(message, repeated, tag = "2")] pub fees_paid: ::prost::alloc::vec::Vec, } /// GenesisState defines the module's genesis state. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GenesisState { /// params are the feeshare module parameters #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, /// FeeShare is a slice of active registered contracts for fee distribution #[prost(message, repeated, tag = "2")] pub fee_share: ::prost::alloc::vec::Vec, } /// Params defines the feeshare module params #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Params { /// enable_feeshare defines a parameter to enable the feeshare module #[prost(bool, tag = "1")] pub enable_fee_share: bool, /// developer_shares defines the proportion of the transaction fees to be /// distributed to the registered contract owner #[prost(string, tag = "2")] pub developer_shares: ::prost::alloc::string::String, /// allowed_denoms defines the list of denoms that are allowed to be paid to /// the contract withdraw addresses. If said denom is not in the list, the fees /// will ONLY be sent to the community pool. /// If this list is empty, all denoms are allowed. #[prost(string, repeated, tag = "3")] pub allowed_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } /// QueryFeeSharesRequest is the request type for the Query/FeeShares RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryFeeSharesRequest { /// pagination defines an optional pagination for the request. #[prost(message, optional, tag = "1")] pub pagination: ::core::option::Option, } /// QueryFeeSharesResponse is the response type for the Query/FeeShares RPC /// method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryFeeSharesResponse { /// FeeShare is a slice of all stored Reveneue #[prost(message, repeated, tag = "1")] pub feeshare: ::prost::alloc::vec::Vec, /// pagination defines the pagination in the response. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } /// QueryFeeShareRequest is the request type for the Query/FeeShare RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryFeeShareRequest { /// contract_address of a registered contract in bech32 format #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, } /// QueryFeeShareResponse is the response type for the Query/FeeShare RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryFeeShareResponse { /// FeeShare is a stored Reveneue for the queried contract #[prost(message, optional, tag = "1")] pub feeshare: ::core::option::Option, } /// QueryParamsRequest is the request type for the Query/Params RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryParamsRequest {} /// QueryParamsResponse is the response type for the Query/Params RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryParamsResponse { /// params is the returned FeeShare parameter #[prost(message, optional, tag = "1")] pub params: ::core::option::Option, } /// QueryDeployerFeeSharesRequest is the request type for the /// Query/DeployerFeeShares RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryDeployerFeeSharesRequest { /// deployer_address in bech32 format #[prost(string, tag = "1")] pub deployer_address: ::prost::alloc::string::String, /// pagination defines an optional pagination for the request. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } /// QueryDeployerFeeSharesResponse is the response type for the /// Query/DeployerFeeShares RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryDeployerFeeSharesResponse { /// contract_addresses is the slice of registered contract addresses for a /// deployer #[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, } /// QueryWithdrawerFeeSharesRequest is the request type for the /// Query/WithdrawerFeeShares RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryWithdrawerFeeSharesRequest { /// withdrawer_address in bech32 format #[prost(string, tag = "1")] pub withdrawer_address: ::prost::alloc::string::String, /// pagination defines an optional pagination for the request. #[prost(message, optional, tag = "2")] pub pagination: ::core::option::Option, } /// QueryWithdrawerFeeSharesResponse is the response type for the /// Query/WithdrawerFeeShares RPC method. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct QueryWithdrawerFeeSharesResponse { /// contract_addresses is the slice of registered contract addresses for a /// withdrawer #[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, } /// Generated client implementations. #[cfg(feature = "grpc")] #[cfg_attr(docsrs, doc(cfg(feature = "grpc")))] pub mod query_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::http::Uri; use tonic::codegen::*; /// Query defines the gRPC querier service. #[derive(Debug, Clone)] pub struct QueryClient { inner: tonic::client::Grpc, } #[cfg(feature = "grpc-transport")] #[cfg_attr(docsrs, doc(cfg(feature = "grpc-transport")))] impl QueryClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where D: std::convert::TryInto, D::Error: Into, { let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; Ok(Self::new(conn)) } } impl QueryClient where T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + Send + 'static, ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } pub fn with_origin(inner: T, origin: Uri) -> Self { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } pub fn with_interceptor( inner: T, interceptor: F, ) -> QueryClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< http::Request, Response = http::Response< >::ResponseBody, >, >, >>::Error: Into + Send + Sync, { QueryClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// /// This requires the server to support it otherwise it might respond with an /// error. #[must_use] pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { self.inner = self.inner.send_compressed(encoding); self } /// Enable decompressing responses. #[must_use] pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { self.inner = self.inner.accept_compressed(encoding); self } /// FeeShares retrieves all registered FeeShares pub async fn fee_shares( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Query/FeeShares"); self.inner.unary(request.into_request(), path, codec).await } /// FeeShare retrieves a registered FeeShare for a given contract address pub async fn fee_share( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Query/FeeShare"); self.inner.unary(request.into_request(), path, codec).await } /// Params retrieves the FeeShare module params pub async fn params( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Query/Params"); self.inner.unary(request.into_request(), path, codec).await } /// DeployerFeeShares retrieves all FeeShares that a given deployer has /// registered pub async fn deployer_fee_shares( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Query/DeployerFeeShares"); self.inner.unary(request.into_request(), path, codec).await } /// WithdrawerFeeShares retrieves all FeeShares with a given withdrawer /// address pub async fn withdrawer_fee_shares( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Query/WithdrawerFeeShares"); self.inner.unary(request.into_request(), path, codec).await } } } /// Generated server implementations. #[cfg(feature = "grpc")] #[cfg_attr(docsrs, doc(cfg(feature = "grpc")))] pub mod query_server { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; /// Generated trait containing gRPC methods that should be implemented for use with QueryServer. #[async_trait] pub trait Query: Send + Sync + 'static { /// FeeShares retrieves all registered FeeShares async fn fee_shares( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// FeeShare retrieves a registered FeeShare for a given contract address async fn fee_share( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// Params retrieves the FeeShare module params async fn params( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// DeployerFeeShares retrieves all FeeShares that a given deployer has /// registered async fn deployer_fee_shares( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// WithdrawerFeeShares retrieves all FeeShares with a given withdrawer /// address async fn withdrawer_fee_shares( &self, request: tonic::Request, ) -> Result, tonic::Status>; } /// Query defines the gRPC querier service. #[derive(Debug)] pub struct QueryServer { inner: _Inner, accept_compression_encodings: EnabledCompressionEncodings, send_compression_encodings: EnabledCompressionEncodings, } struct _Inner(Arc); impl QueryServer { pub fn new(inner: T) -> Self { Self::from_arc(Arc::new(inner)) } pub fn from_arc(inner: Arc) -> Self { let inner = _Inner(inner); Self { inner, accept_compression_encodings: Default::default(), send_compression_encodings: Default::default(), } } pub fn with_interceptor(inner: T, interceptor: F) -> InterceptedService where F: tonic::service::Interceptor, { InterceptedService::new(Self::new(inner), interceptor) } /// Enable decompressing requests with the given encoding. #[must_use] pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { self.accept_compression_encodings.enable(encoding); self } /// Compress responses with the given encoding, if the client supports it. #[must_use] pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { self.send_compression_encodings.enable(encoding); self } } impl tonic::codegen::Service> for QueryServer where T: Query, B: Body + Send + 'static, B::Error: Into + Send + 'static, { type Response = http::Response; type Error = std::convert::Infallible; type Future = BoxFuture; fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { Poll::Ready(Ok(())) } fn call(&mut self, req: http::Request) -> Self::Future { let inner = self.inner.clone(); match req.uri().path() { "/juno.feeshare.v1.Query/FeeShares" => { #[allow(non_camel_case_types)] struct FeeSharesSvc(pub Arc); impl tonic::server::UnaryService for FeeSharesSvc { type Response = super::QueryFeeSharesResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).fee_shares(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = FeeSharesSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Query/FeeShare" => { #[allow(non_camel_case_types)] struct FeeShareSvc(pub Arc); impl tonic::server::UnaryService for FeeShareSvc { type Response = super::QueryFeeShareResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).fee_share(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = FeeShareSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Query/Params" => { #[allow(non_camel_case_types)] struct ParamsSvc(pub Arc); impl tonic::server::UnaryService for ParamsSvc { type Response = super::QueryParamsResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).params(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = ParamsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Query/DeployerFeeShares" => { #[allow(non_camel_case_types)] struct DeployerFeeSharesSvc(pub Arc); impl tonic::server::UnaryService for DeployerFeeSharesSvc { type Response = super::QueryDeployerFeeSharesResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).deployer_fee_shares(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = DeployerFeeSharesSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Query/WithdrawerFeeShares" => { #[allow(non_camel_case_types)] struct WithdrawerFeeSharesSvc(pub Arc); impl tonic::server::UnaryService for WithdrawerFeeSharesSvc { type Response = super::QueryWithdrawerFeeSharesResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).withdrawer_fee_shares(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = WithdrawerFeeSharesSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } _ => Box::pin(async move { Ok(http::Response::builder() .status(200) .header("grpc-status", "12") .header("content-type", "application/grpc") .body(empty_body()) .unwrap()) }), } } } impl Clone for QueryServer { fn clone(&self) -> Self { let inner = self.inner.clone(); Self { inner, accept_compression_encodings: self.accept_compression_encodings, send_compression_encodings: self.send_compression_encodings, } } } impl Clone for _Inner { fn clone(&self) -> Self { Self(self.0.clone()) } } impl std::fmt::Debug for _Inner { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{:?}", self.0) } } impl tonic::server::NamedService for QueryServer { const NAME: &'static str = "juno.feeshare.v1.Query"; } } /// MsgRegisterFeeShare defines a message that registers a FeeShare #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgRegisterFeeShare { /// contract_address in bech32 format #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, /// deployer_address is the bech32 address of message sender. It must be the /// same the contract's admin address #[prost(string, tag = "2")] pub deployer_address: ::prost::alloc::string::String, /// withdrawer_address is the bech32 address of account receiving the /// transaction fees #[prost(string, tag = "3")] pub withdrawer_address: ::prost::alloc::string::String, } /// MsgRegisterFeeShareResponse defines the MsgRegisterFeeShare response type #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgRegisterFeeShareResponse {} /// MsgUpdateFeeShare defines a message that updates the withdrawer address for a /// registered FeeShare #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgUpdateFeeShare { /// contract_address in bech32 format #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, /// deployer_address is the bech32 address of message sender. It must be the /// same the contract's admin address #[prost(string, tag = "2")] pub deployer_address: ::prost::alloc::string::String, /// withdrawer_address is the bech32 address of account receiving the /// transaction fees #[prost(string, tag = "3")] pub withdrawer_address: ::prost::alloc::string::String, } /// MsgUpdateFeeShareResponse defines the MsgUpdateFeeShare response type #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgUpdateFeeShareResponse {} /// MsgCancelFeeShare defines a message that cancels a registered FeeShare #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgCancelFeeShare { /// contract_address in bech32 format #[prost(string, tag = "1")] pub contract_address: ::prost::alloc::string::String, /// deployer_address is the bech32 address of message sender. It must be the /// same the contract's admin address #[prost(string, tag = "2")] pub deployer_address: ::prost::alloc::string::String, } /// MsgCancelFeeShareResponse defines the MsgCancelFeeShare response type #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgCancelFeeShareResponse {} /// MsgUpdateParams is the Msg/UpdateParams request type. /// /// Since: cosmos-sdk 0.47 #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgUpdateParams { /// authority is the address that controls the module (defaults to x/gov unless overwritten). #[prost(string, tag = "1")] pub authority: ::prost::alloc::string::String, /// params defines the x/feeshare parameters to update. /// /// NOTE: All parameters must be supplied. #[prost(message, optional, tag = "2")] pub params: ::core::option::Option, } /// MsgUpdateParamsResponse defines the response structure for executing a /// MsgUpdateParams message. /// /// Since: cosmos-sdk 0.47 #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct MsgUpdateParamsResponse {} /// Generated client implementations. #[cfg(feature = "grpc")] #[cfg_attr(docsrs, doc(cfg(feature = "grpc")))] pub mod msg_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::http::Uri; use tonic::codegen::*; /// Msg defines the fees Msg service. #[derive(Debug, Clone)] pub struct MsgClient { inner: tonic::client::Grpc, } #[cfg(feature = "grpc-transport")] #[cfg_attr(docsrs, doc(cfg(feature = "grpc-transport")))] impl MsgClient { /// Attempt to create a new client by connecting to a given endpoint. pub async fn connect(dst: D) -> Result where D: std::convert::TryInto, D::Error: Into, { let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; Ok(Self::new(conn)) } } impl MsgClient where T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + Send + 'static, ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } pub fn with_origin(inner: T, origin: Uri) -> Self { let inner = tonic::client::Grpc::with_origin(inner, origin); Self { inner } } pub fn with_interceptor(inner: T, interceptor: F) -> MsgClient> where F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< http::Request, Response = http::Response< >::ResponseBody, >, >, >>::Error: Into + Send + Sync, { MsgClient::new(InterceptedService::new(inner, interceptor)) } /// Compress requests with the given encoding. /// /// This requires the server to support it otherwise it might respond with an /// error. #[must_use] pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { self.inner = self.inner.send_compressed(encoding); self } /// Enable decompressing responses. #[must_use] pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { self.inner = self.inner.accept_compressed(encoding); self } /// RegisterFeeShare registers a new contract for receiving transaction fees pub async fn register_fee_share( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Msg/RegisterFeeShare"); self.inner.unary(request.into_request(), path, codec).await } /// UpdateFeeShare updates the withdrawer address of a FeeShare pub async fn update_fee_share( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Msg/UpdateFeeShare"); self.inner.unary(request.into_request(), path, codec).await } /// CancelFeeShare cancels a contract's fee registration and further receival /// of transaction fees pub async fn cancel_fee_share( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Msg/CancelFeeShare"); self.inner.unary(request.into_request(), path, codec).await } /// Update the params of the module through gov v1 type. pub async fn update_params( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static("/juno.feeshare.v1.Msg/UpdateParams"); self.inner.unary(request.into_request(), path, codec).await } } } /// Generated server implementations. #[cfg(feature = "grpc")] #[cfg_attr(docsrs, doc(cfg(feature = "grpc")))] pub mod msg_server { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; /// Generated trait containing gRPC methods that should be implemented for use with MsgServer. #[async_trait] pub trait Msg: Send + Sync + 'static { /// RegisterFeeShare registers a new contract for receiving transaction fees async fn register_fee_share( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// UpdateFeeShare updates the withdrawer address of a FeeShare async fn update_fee_share( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// CancelFeeShare cancels a contract's fee registration and further receival /// of transaction fees async fn cancel_fee_share( &self, request: tonic::Request, ) -> Result, tonic::Status>; /// Update the params of the module through gov v1 type. async fn update_params( &self, request: tonic::Request, ) -> Result, tonic::Status>; } /// Msg defines the fees Msg service. #[derive(Debug)] pub struct MsgServer { inner: _Inner, accept_compression_encodings: EnabledCompressionEncodings, send_compression_encodings: EnabledCompressionEncodings, } struct _Inner(Arc); impl MsgServer { pub fn new(inner: T) -> Self { Self::from_arc(Arc::new(inner)) } pub fn from_arc(inner: Arc) -> Self { let inner = _Inner(inner); Self { inner, accept_compression_encodings: Default::default(), send_compression_encodings: Default::default(), } } pub fn with_interceptor(inner: T, interceptor: F) -> InterceptedService where F: tonic::service::Interceptor, { InterceptedService::new(Self::new(inner), interceptor) } /// Enable decompressing requests with the given encoding. #[must_use] pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { self.accept_compression_encodings.enable(encoding); self } /// Compress responses with the given encoding, if the client supports it. #[must_use] pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { self.send_compression_encodings.enable(encoding); self } } impl tonic::codegen::Service> for MsgServer where T: Msg, B: Body + Send + 'static, B::Error: Into + Send + 'static, { type Response = http::Response; type Error = std::convert::Infallible; type Future = BoxFuture; fn poll_ready(&mut self, _cx: &mut Context<'_>) -> Poll> { Poll::Ready(Ok(())) } fn call(&mut self, req: http::Request) -> Self::Future { let inner = self.inner.clone(); match req.uri().path() { "/juno.feeshare.v1.Msg/RegisterFeeShare" => { #[allow(non_camel_case_types)] struct RegisterFeeShareSvc(pub Arc); impl tonic::server::UnaryService for RegisterFeeShareSvc { type Response = super::MsgRegisterFeeShareResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).register_fee_share(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = RegisterFeeShareSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Msg/UpdateFeeShare" => { #[allow(non_camel_case_types)] struct UpdateFeeShareSvc(pub Arc); impl tonic::server::UnaryService for UpdateFeeShareSvc { type Response = super::MsgUpdateFeeShareResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).update_fee_share(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = UpdateFeeShareSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Msg/CancelFeeShare" => { #[allow(non_camel_case_types)] struct CancelFeeShareSvc(pub Arc); impl tonic::server::UnaryService for CancelFeeShareSvc { type Response = super::MsgCancelFeeShareResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).cancel_fee_share(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = CancelFeeShareSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } "/juno.feeshare.v1.Msg/UpdateParams" => { #[allow(non_camel_case_types)] struct UpdateParamsSvc(pub Arc); impl tonic::server::UnaryService for UpdateParamsSvc { type Response = super::MsgUpdateParamsResponse; type Future = BoxFuture, tonic::Status>; fn call( &mut self, request: tonic::Request, ) -> Self::Future { let inner = self.0.clone(); let fut = async move { (*inner).update_params(request).await }; Box::pin(fut) } } let accept_compression_encodings = self.accept_compression_encodings; let send_compression_encodings = self.send_compression_encodings; let inner = self.inner.clone(); let fut = async move { let inner = inner.0; let method = UpdateParamsSvc(inner); let codec = tonic::codec::ProstCodec::default(); let mut grpc = tonic::server::Grpc::new(codec).apply_compression_config( accept_compression_encodings, send_compression_encodings, ); let res = grpc.unary(method, req).await; Ok(res) }; Box::pin(fut) } _ => Box::pin(async move { Ok(http::Response::builder() .status(200) .header("grpc-status", "12") .header("content-type", "application/grpc") .body(empty_body()) .unwrap()) }), } } } impl Clone for MsgServer { fn clone(&self) -> Self { let inner = self.inner.clone(); Self { inner, accept_compression_encodings: self.accept_compression_encodings, send_compression_encodings: self.send_compression_encodings, } } } impl Clone for _Inner { fn clone(&self) -> Self { Self(self.0.clone()) } } impl std::fmt::Debug for _Inner { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { write!(f, "{:?}", self.0) } } impl tonic::server::NamedService for MsgServer { const NAME: &'static str = "juno.feeshare.v1.Msg"; } }