nibiru_std/proto/buf/
nibiru.devgas.v1.rs

1// @generated
2/// FeeShare defines an instance that organizes fee distribution conditions for
3/// the owner of a given smart contract
4#[allow(clippy::derive_partial_eq_without_eq)]
5#[derive(Clone, PartialEq, ::prost::Message)]
6pub struct FeeShare {
7    /// contract_address is the bech32 address of a registered contract in string
8    /// form
9    #[prost(string, tag="1")]
10    pub contract_address: ::prost::alloc::string::String,
11    /// deployer_address is the bech32 address of message sender. It must be the
12    /// same as the contracts admin address.
13    #[prost(string, tag="2")]
14    pub deployer_address: ::prost::alloc::string::String,
15    /// withdrawer_address is the bech32 address of account receiving the
16    /// transaction fees.
17    #[prost(string, tag="3")]
18    pub withdrawer_address: ::prost::alloc::string::String,
19}
20/// ABCI event emitted when a deployer registers a contract to receive fee
21/// sharing payouts, specifying the deployer, contract, and withdrawer addresses.
22#[allow(clippy::derive_partial_eq_without_eq)]
23#[derive(Clone, PartialEq, ::prost::Message)]
24pub struct EventRegisterDevGas {
25    /// deployer is the addess of the account that registered the smart contract to
26    /// receive dev gas royalties.
27    #[prost(string, tag="1")]
28    pub deployer: ::prost::alloc::string::String,
29    /// Address of the smart contract. This identifies the specific contract
30    /// that will receive fee sharing payouts.
31    #[prost(string, tag="2")]
32    pub contract: ::prost::alloc::string::String,
33    /// The address that will receive the fee sharing payouts for the registered
34    /// contract. This could be the deployer address or a separate withdrawer
35    /// address specified.
36    #[prost(string, tag="3")]
37    pub withdrawer: ::prost::alloc::string::String,
38}
39/// ABCI event emitted when a deployer cancels fee sharing for a contract,
40/// specifying the deployer and contract addresses.
41#[allow(clippy::derive_partial_eq_without_eq)]
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct EventCancelDevGas {
44    /// deployer is the addess of the account that registered the smart contract to
45    /// receive dev gas royalties.
46    #[prost(string, tag="1")]
47    pub deployer: ::prost::alloc::string::String,
48    /// Address of the smart contract. This identifies the specific contract
49    /// that will receive fee sharing payouts.
50    #[prost(string, tag="2")]
51    pub contract: ::prost::alloc::string::String,
52}
53/// ABCI event emitted when a deployer updates the fee sharing registration for a
54/// contract, specifying updated deployer, contract, and/or withdrawer addresses.
55#[allow(clippy::derive_partial_eq_without_eq)]
56#[derive(Clone, PartialEq, ::prost::Message)]
57pub struct EventUpdateDevGas {
58    /// deployer is the addess of the account that registered the smart contract to
59    /// receive dev gas royalties.
60    #[prost(string, tag="1")]
61    pub deployer: ::prost::alloc::string::String,
62    /// Address of the smart contract. This identifies the specific contract
63    /// that will receive fee sharing payouts.
64    #[prost(string, tag="2")]
65    pub contract: ::prost::alloc::string::String,
66    /// The address that will receive the fee sharing payouts for the registered
67    /// contract. This could be the deployer address or a separate withdrawer
68    /// address specified.
69    #[prost(string, tag="3")]
70    pub withdrawer: ::prost::alloc::string::String,
71}
72/// ABCI event emitted when fee sharing payouts are made, containing details on
73/// the payouts in JSON format.
74#[allow(clippy::derive_partial_eq_without_eq)]
75#[derive(Clone, PartialEq, ::prost::Message)]
76pub struct EventPayoutDevGas {
77    #[prost(string, tag="1")]
78    pub payouts: ::prost::alloc::string::String,
79}
80/// GenesisState defines the module's genesis state.
81#[allow(clippy::derive_partial_eq_without_eq)]
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct GenesisState {
84    /// params are the feeshare module parameters
85    #[prost(message, optional, tag="1")]
86    pub params: ::core::option::Option<ModuleParams>,
87    /// FeeShare is a slice of active registered contracts for fee distribution
88    #[prost(message, repeated, tag="2")]
89    pub fee_share: ::prost::alloc::vec::Vec<FeeShare>,
90}
91/// ModuleParams defines the params for the devgas module
92#[allow(clippy::derive_partial_eq_without_eq)]
93#[derive(Clone, PartialEq, ::prost::Message)]
94pub struct ModuleParams {
95    /// enable_feeshare defines a parameter to enable the feeshare module
96    #[prost(bool, tag="1")]
97    pub enable_fee_share: bool,
98    /// developer_shares defines the proportion of the transaction fees to be
99    /// distributed to the registered contract owner
100    #[prost(string, tag="2")]
101    pub developer_shares: ::prost::alloc::string::String,
102    /// allowed_denoms defines the list of denoms that are allowed to be paid to
103    /// the contract withdraw addresses. If said denom is not in the list, the fees
104    /// will ONLY be sent to the community pool.
105    /// If this list is empty, all denoms are allowed.
106    #[prost(string, repeated, tag="3")]
107    pub allowed_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
108}
109/// QueryFeeSharesRequest is the request type for the Query/FeeShares RPC method.
110#[allow(clippy::derive_partial_eq_without_eq)]
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct QueryFeeSharesRequest {
113    /// TODO feat(devgas): re-implement the paginated version
114    /// TODO feat(colletions): add automatic pagination generation
115    ///
116    /// pagination defines an optional pagination for the request.
117    /// cosmos.base.query.v1beta1.PageRequest pagination = 1;
118    #[prost(string, tag="1")]
119    pub deployer: ::prost::alloc::string::String,
120}
121// TODO feat(devgas): re-implement the paginated version
122// TODO feat(collections): add automatic pagination generation
123// Notes for above feat:
124// pagination defines an optional pagination for the request.
125// cosmos.base.query.v1beta1.PageRequest pagination = 1;
126// pagination defines the pagination in the response.
127// cosmos.base.query.v1beta1.PageResponse pagination = 2;
128
129/// QueryFeeSharesResponse is the response type for the Query/FeeShares RPC
130/// method.
131#[allow(clippy::derive_partial_eq_without_eq)]
132#[derive(Clone, PartialEq, ::prost::Message)]
133pub struct QueryFeeSharesResponse {
134    /// FeeShare is the slice of all stored Reveneue for the deployer
135    #[prost(message, repeated, tag="1")]
136    pub feeshare: ::prost::alloc::vec::Vec<FeeShare>,
137}
138/// QueryFeeShareRequest is the request type for the Query/FeeShare RPC method.
139#[allow(clippy::derive_partial_eq_without_eq)]
140#[derive(Clone, PartialEq, ::prost::Message)]
141pub struct QueryFeeShareRequest {
142    /// contract_address of a registered contract in bech32 format
143    #[prost(string, tag="1")]
144    pub contract_address: ::prost::alloc::string::String,
145}
146/// QueryFeeShareResponse is the response type for the Query/FeeShare RPC method.
147#[allow(clippy::derive_partial_eq_without_eq)]
148#[derive(Clone, PartialEq, ::prost::Message)]
149pub struct QueryFeeShareResponse {
150    /// FeeShare is a stored Reveneue for the queried contract
151    #[prost(message, optional, tag="1")]
152    pub feeshare: ::core::option::Option<FeeShare>,
153}
154/// QueryParamsRequest is the request type for the Query/Params RPC method.
155#[allow(clippy::derive_partial_eq_without_eq)]
156#[derive(Clone, PartialEq, ::prost::Message)]
157pub struct QueryParamsRequest {
158}
159/// QueryParamsResponse is the response type for the Query/Params RPC method.
160#[allow(clippy::derive_partial_eq_without_eq)]
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct QueryParamsResponse {
163    /// params is the returned FeeShare parameter
164    #[prost(message, optional, tag="1")]
165    pub params: ::core::option::Option<ModuleParams>,
166}
167/// QueryFeeSharesByWithdrawerRequest is the request type for the
168/// Query/FeeSharesByWithdrawer RPC method.
169#[allow(clippy::derive_partial_eq_without_eq)]
170#[derive(Clone, PartialEq, ::prost::Message)]
171pub struct QueryFeeSharesByWithdrawerRequest {
172    /// withdrawer_address in bech32 format
173    #[prost(string, tag="1")]
174    pub withdrawer_address: ::prost::alloc::string::String,
175}
176/// QueryFeeSharesByWithdrawerResponse is the response type for the
177/// Query/FeeSharesByWithdrawer RPC method.
178#[allow(clippy::derive_partial_eq_without_eq)]
179#[derive(Clone, PartialEq, ::prost::Message)]
180pub struct QueryFeeSharesByWithdrawerResponse {
181    #[prost(message, repeated, tag="1")]
182    pub feeshare: ::prost::alloc::vec::Vec<FeeShare>,
183}
184/// MsgRegisterFeeShare defines a message that registers a FeeShare
185#[allow(clippy::derive_partial_eq_without_eq)]
186#[derive(Clone, PartialEq, ::prost::Message)]
187pub struct MsgRegisterFeeShare {
188    /// contract_address in bech32 format
189    #[prost(string, tag="1")]
190    pub contract_address: ::prost::alloc::string::String,
191    /// deployer_address is the bech32 address of message sender. It must be the
192    /// same the contract's admin address
193    #[prost(string, tag="2")]
194    pub deployer_address: ::prost::alloc::string::String,
195    /// withdrawer_address is the bech32 address of account receiving the
196    /// transaction fees
197    #[prost(string, tag="3")]
198    pub withdrawer_address: ::prost::alloc::string::String,
199}
200/// MsgRegisterFeeShareResponse defines the MsgRegisterFeeShare response type
201#[allow(clippy::derive_partial_eq_without_eq)]
202#[derive(Clone, PartialEq, ::prost::Message)]
203pub struct MsgRegisterFeeShareResponse {
204}
205/// MsgUpdateFeeShare defines a message that updates the withdrawer address for a
206/// registered FeeShare
207#[allow(clippy::derive_partial_eq_without_eq)]
208#[derive(Clone, PartialEq, ::prost::Message)]
209pub struct MsgUpdateFeeShare {
210    /// contract_address in bech32 format
211    #[prost(string, tag="1")]
212    pub contract_address: ::prost::alloc::string::String,
213    /// deployer_address is the bech32 address of message sender. It must be the
214    /// same the contract's admin address
215    #[prost(string, tag="2")]
216    pub deployer_address: ::prost::alloc::string::String,
217    /// withdrawer_address is the bech32 address of account receiving the
218    /// transaction fees
219    #[prost(string, tag="3")]
220    pub withdrawer_address: ::prost::alloc::string::String,
221}
222/// MsgUpdateFeeShareResponse defines the MsgUpdateFeeShare response type
223#[allow(clippy::derive_partial_eq_without_eq)]
224#[derive(Clone, PartialEq, ::prost::Message)]
225pub struct MsgUpdateFeeShareResponse {
226}
227/// MsgCancelFeeShare defines a message that cancels a registered FeeShare
228#[allow(clippy::derive_partial_eq_without_eq)]
229#[derive(Clone, PartialEq, ::prost::Message)]
230pub struct MsgCancelFeeShare {
231    /// contract_address in bech32 format
232    #[prost(string, tag="1")]
233    pub contract_address: ::prost::alloc::string::String,
234    /// deployer_address is the bech32 address of message sender. It must be the
235    /// same the contract's admin address
236    #[prost(string, tag="2")]
237    pub deployer_address: ::prost::alloc::string::String,
238}
239/// MsgCancelFeeShareResponse defines the MsgCancelFeeShare response type
240#[allow(clippy::derive_partial_eq_without_eq)]
241#[derive(Clone, PartialEq, ::prost::Message)]
242pub struct MsgCancelFeeShareResponse {
243}
244/// MsgUpdateParams is the Msg/UpdateParams request type.
245///
246/// Since: cosmos-sdk 0.47
247#[allow(clippy::derive_partial_eq_without_eq)]
248#[derive(Clone, PartialEq, ::prost::Message)]
249pub struct MsgUpdateParams {
250    /// authority is the address that controls the module (defaults to x/gov unless
251    /// overwritten).
252    #[prost(string, tag="1")]
253    pub authority: ::prost::alloc::string::String,
254    /// params defines the x/feeshare parameters to update.
255    ///
256    /// NOTE: All parameters must be supplied.
257    #[prost(message, optional, tag="2")]
258    pub params: ::core::option::Option<ModuleParams>,
259}
260/// MsgUpdateParamsResponse defines the response structure for executing a
261/// MsgUpdateParams message.
262///
263/// Since: cosmos-sdk 0.47
264#[allow(clippy::derive_partial_eq_without_eq)]
265#[derive(Clone, PartialEq, ::prost::Message)]
266pub struct MsgUpdateParamsResponse {
267}
268// @@protoc_insertion_point(module)