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)